GERLA.CC

Chi sonoAbout

lavorowork

Codice di giornoCode by day

Sono Carlo Gerla, sviluppatore software. La base è l'Ingegneria Informatica al Politecnico di Milano; tutto il resto l'ha costruito il campo, più di vent'anni di progetti in cui il codice doveva funzionare il lunedì mattina, non alla demo.

I'm Carlo Gerla, a software developer. The foundation is Computer Engineering at Politecnico di Milano; everything else was built in the field, over twenty years of projects where the code had to work on Monday morning, not at the demo.

Il cuore del mio lavoro sono i sistemi che fanno girare le aziende: ERP e CRM progettati, estesi e integrati con l'esistente; app mobile per chi lavora sul campo; API che tengono insieme piattaforme che non erano nate per parlarsi. Negli ultimi anni gran parte dei progetti ruota attorno all'AI applicata: analisi e gestione di flussi video con l'intelligenza artificiale (riconoscimento eventi, conteggi, controllo qualità su stream in tempo reale), automazione documentale, assistenti che rispondono con i dati aziendali veri.

The core of my work is the systems that keep businesses running: ERP and CRM designed, extended and integrated with what's already there; mobile apps for field work; APIs holding together platforms never meant to talk. In recent years most projects revolve around applied AI: analysis and AI-driven video stream management (event detection, counting, real-time quality control), document automation, assistants that answer with real company data.

Poi c'è tutta la parte che tocca il mondo fisico, quella che mi diverte di più: sistemi di delivery completi, dall'ordine alla consegna con tracciamento in tempo reale; ecosistemi basati su QR code per menù, ticketing, tracciabilità e pagamenti; dashboard in tempo reale, integrazioni IoT, e in generale la roba che quando la mostri il cliente dice «aspetta, si può fare?». Sì, si può fare.

Then there's the part that touches the physical world, the one I enjoy most: complete delivery systems, from order to doorstep with real-time tracking; QR code ecosystems for menus, ticketing, traceability and payments; real-time dashboards, IoT integrations, and generally the kind of thing that makes a client say "wait, that's possible?". Yes, it's possible.

Il filo rosso è la concretezza: il software esiste per risolvere un problema misurabile. Se dopo tre mesi non ha cambiato una metrica, era decorazione.

The common thread is pragmatism: software exists to solve a measurable problem. If it hasn't moved a metric after three months, it was decoration.

ERP / CRMMobileAI video Delivery systemsQR ecosystemsAPI design Realtime / IoTAutomazione 6502 asm68000
passionepassion

Pixel di nottePixels by night

Poi c'è l'altra metà, e comincia molto prima del Politecnico. Comincia a 8 anni, davanti a un VIC-20, con Radar Rat Race: topi, gatti, formaggio, e un bambino che a un certo punto smette di chiedersi come si vince e comincia a chiedersi come fa a funzionare. Da quella domanda non sono più uscito. Dopo il VIC-20 è arrivato il Commodore 64, la macchina che mi ha insegnato due cose che nessun framework moderno insegna: che i limiti sono un maestro, e che 64KB bastano per la magia se sai cosa stai facendo. Il retrogaming per me non è nostalgia da vetrina: è una palestra. Scrivere un platformer in assembly 6502, o pilotare il VDP di un Mega Drive registro per registro, ti rimette in contatto con quello che il codice è davvero, sotto tutti gli strati.

Then there's the other half, and it starts long before the Politecnico. It starts at age 8, in front of a VIC-20, with Radar Rat Race: mice, cats, cheese, and a kid who at some point stopped asking how to win and started asking how it works. I never left that question. After the VIC-20 came the Commodore 64, the machine that taught me two things no modern framework does: that constraints are a teacher, and that 64KB is enough for magic if you know what you're doing. Retrogaming isn't display-case nostalgia for me: it's a gym. Writing a platformer in 6502 assembly, or driving a Mega Drive's VDP register by register, reconnects you with what code really is, under all the layers.

Oggi quel filo ha una meta dichiarata. Non l'assembler in sé: quello l'avevo già incrociato all'università. La meta è costruire con l'assembler le dinamiche di base di un gioco: il loop principale, il ciclo di vita, i salti, gli spari, le collisioni, la fine livello. Perché è romantico, perché mi piace, perché lì il codice non ha dove nascondersi. Il traino è FIDATI., il gioco HTML5, che intanto cresce anche lui, in funzioni e profondità; la prima tappa è il C64, e poi c'è il Mega Drive, la console che mi ha sempre affascinato e che finalmente andrò a conoscere da dentro.

Today that thread has a declared destination. Not the assembler itself: I'd already crossed paths with it at university. The destination is building a game's core dynamics with the assembler: the main loop, the life cycle, jumps, shooting, collisions, end of level. Because it's romantic, because I love it, because down there the code has nowhere to hide. The vehicle is FIDATI., the HTML5 game, which keeps growing too, in features and depth; the first stop is the C64, and then there's the Mega Drive, the console that has always fascinated me and that I'll finally get to know from the inside.

Questo sito esiste per raccontare gli esperimenti che nascono da quell'incrocio: giochi, porting impossibili, strumenti strani. Alcuni funzioneranno, altri crolleranno come un pavimento di FIDATI. Li condivido entrambi, perché i secondi insegnano di più. Non c'è niente in vendita: c'è solo un'esperienza, e la voglia di condividerla.

This site exists to document the experiments born at that crossroads: games, improbable ports, odd tools. Some will work, some will collapse like a FIDATI. floor. I share both, the latter teach more. Nothing is for sale here: there's just an experience, and the wish to share it.