sei approdato sul mio blog e probabilmente ti stai chiedendo chi diavolo sono, giusto?

Mi chiamo Valerio, sono nato a Roma negli anni settanta e cresciuto con il pallino per gli aeroplani, i computer e Star Trek… un piccolo nerd insomma.

Da bambino ero un fan televisivo di KITT (supercar), l’uomo da sei milioni di dollari, Battlestar Galactica, l’A-Team e Yattaman. A metà degli anni ’80 ero stato affascinato da Luciano De Crescenzo in TV col suo “Bit – storie di computer”. Fate un bel mix di tutto e capirete bene come e quanto io abbia fantasticato di costruire un computer con i rottami di elettrodomestici e registratori a cassette; adoravo disegnare aeroplani, robot, mani bioniche… e costruire cose con le lego.

La capacità di sognare e di costruire qualcosa la devo a mio padre che fin da piccolo mi ha sempre stimolato a farlo.

Quando io avevo più o meno nove anni mio padre frequentò un corso per programmatori in Cobol. Tornava tutte le volte con un milione di cose interessanti da raccontare o farmi vedere. Mi affascinò con la programmazione quando mi chiese di pensare a un modo per poter fare le moltiplicazioni avendo a disposizione solo somme e sottrazioni. Era il mio primo algoritmo. Fu amore.

Il mio lato “maker” è stato sicuramente influenzato anche dal signor Guzzi (lo chiamavamo così), un vicino di casa di mia nonna materna, un ex dipendente RAI che, ormai in pensione, costruiva di tutto nella sua “bottega”… gli ho visto restaurare una vecchia FIAT 500, saldare metalli, autocostruirsi televisori da zero, creare un umidificatore per verande fatto con tubi in pvc e filo da pesca… Fu lui a farmi fare la mia prima saldatura ad elettrodo, guidare la 500 che aveva restaurato e giocare per la prima volta con Flight Simulator. Era un grande e lo ricordo con immenso piacere.

Da ragazzino andavo ogni tanto a trovare mia mamma in ufficio e mi faceva giocare con il suo computer… uno di quelli che avevo visto in TV. Il mio primo PC arrivò in casa quando avevo dieci anni: era un 286 con su MS-DOS 3.0. A undici anni avevo già imparato il Cobol e programmare mi piaceva da morire. Ovviamente il PC serviva anche per giocare e quindi decisi di realizzare un mio gioco di F1: uno di quelli con la macchina ferma in primo piano e il panorama che cambia intorno (in stile Grand Prix della Accolade). Presto compresi che il Cobol non era assolutamente adatto allo scopo e mi misi a studiare il GW-Basic. Fu fantastico.

In terza media arrivò il momento di scegliere per il mio futuro. In lizza c’erano l’istituto alberghiero (per diventare uno chef), l’istituto tecnico aeronautico (sognavo di fare il pilota di linea) e il tecnico industriale per studiare informatica.

Mi iscrissi quindi al Tecnico Industriale ma la passione per la cucina e gli aerei rimase.

Approdai allora alla programmazione strutturata del Turbo Pascal… un linguaggio di un’eleganza incredibile. Mi innamorai delle discipline tecniche e, galeotto fu l’istituto, mi appassionai perdutamente dell’elettronica (in particolare quella digitale)… finalmente potevo costruire circuiti per (quasi) ogni genere di diavoleria che mi saltava in mente.

Arrivato al quinto anno ormai padroneggiavo il Delphi (evviva, era arrivato il Pascal visuale!), il Pascal ANSI (che usavamo su una macchina Risc 6000 di IBM), l’assembly dello Z80. Molti compagni di scuola utilizzavano la mia libreria NGTools che distrubuivo “precompilata”: era scritta in Pascal con frammenti di assembly x86 e permetteva di creare elementi grafici in stile windows e gestirne gli eventi; realizzava anche una primitiva grafica vettoriale 3D.

Per gli esami di maturità realizzai un elettrocardiografo digitale: per la parte analogica di amplificazione e filtraggio mi “ispirai liberamente” a un progetto di Nuova Elettronica ma il vero divertimento fu progettare lo stadio di conversione analogico-digitale e, naturalmente, il software di acquisizione e visualizzazione che girava sul PC (questa si che era tutta farina del mio sacco!). Il prof di elettronica mi aiutò tantissimo, soprattutto con il CAD (all’epoca usai ORCAD) per il design del PCB, un dannatissimo dual layer che mi fece impazzire tra bomografo ed etching.

Fu poi la volta della programmazione a oggetti col C++. Sul finire degli anni ’90 e gli inizi del nuovo millennio studiai HTML, CSS, ASP e Javascript, tutto condito con SQL e una massiccia esperienza sui DB relazionali: e fu così che iniziai a realizzare il front & back-end di siti web dinamici per ogni genere di attività commerciale (ricordo siti per fotografi, allevamenti di cani, vivai, ristoranti) ma anche associazioni culturali, ONLUS di cooperazione internazionale e grandi soggetti nazionali (ad esempio, per NTV Italotreno realizzai il sistema di profilazione per le carte corporate). A seguire studiai le tecniche di ottimizzazione delle performance dei siti web e passai poi a realizzare dei crowler per la ricerca automatica di informazioni nel web e la loro categorizzazione.

Lo so, starete ridendo perchè questo blog è fatto in wordpress… ma non avevo voglia di mettermi a programmare un CMS specifico per questo sito (ho altri grilli per la testa in questo momento). E’ un po’ come il vecchio detto del calzolaio con le scarpe rotte.

Beh, comunque, con i primi stipendi mi iscrissi a una scuola di volo (eh si, le passioni restano) e conseguii l’attestato (così si chiama, ma voi chiamatelo brevetto se preferite) per pilotare gli ultraleggeri. Wow.

Qualche anno dopo conobbi il mio amico Pino, molto più grande di me. Anche lui pilota ed esperto di elettronica. Inutile dirvi che presto decidemmo di realizzare un nostro simulatore di volo con una vera cabina di pilotaggio: era da tempo che entrambi volevamo farlo!

Per me fu quindi d’obbligo riprendere e approfondire la conoscenza dei microcontrollori e la loro programmazione. Riscoprii così il fascino della programmazione a basso livello che avevo conosciuto con lo Z80 ai tempi della scuola.

Realizzammo da zero un dimostratore che ci servì per esplorare le questioni della simulazione di volo e le relative difficoltà tecnologiche: era un piccolo pannello con tre strumenti di volo simulati, diversi switch (luci, magneti, ecc) e i rubinetti dei serbatoi e del freno di stazionamento. Un software commerciale di simulazione (FS2004) generava lo scenario grafico e la fisica del volo, mentre il mio programma estraeva e iniettava dati scambiando informazioni con la strumentazione sul pannello hardware reale. Realizzammo anche una piattaforma a sei gradi di libertà (per la simulazione delle accelerazioni) che veniva pilotata dal nostro (ehm, mio) software. Facemmo vedere il progetto al grande Eugenio, un Generale in pensione dell’Aeronautica Militare che nella sua professione si era occupato di sicurezza volo, e ci esortò a realizzare un simulatore completo per il Volo da Diporto e Sportivo. Così fu e nel 2014 presentammo il nostro UTS-92x mk1 al Meeting di Primavera (un raduno annuale di piloti sportivi). Un successo! Negli anni il nostro simulatore di P92 (un aereo della Tecnam) è evoluto con tutta la suite di strumenti, force feedback, interfono, postazione istruttore remota, ecc. Una grande soddisfazione realizzare tutti i firmware, ideare i protocolli e i software di gestione e, non ultimo, fare i disegni 3D delle parti meccaniche!

Ricordate l’elettrocardiografo che realizzai per gli esami di maturità? Una fortunata conoscenza mi ha fatto nuovamente avvicinare agli elettromedicali con il progetto ed il prototipo di alcuni strumenti per la chirurgia oculare (vitrectomia) e di alcuni apparati da laboratorio. Il mondo degli elettromedicali mi ha sempre affascinato ed entrare in una vera sala operatoria per condurre i test è stato galvanizzante.

Ovviamente col tempo non sono mancati neanche i progetti di automazione industriale; alcuni anni fa ho partecipato al design e prototipazione di una lavatrice industriale a ultrasuoni che, dotata di una pick and place a tre assi, avanza automaticamente i cestelli con i semilavorati da “lavare”, dal buffer di ingresso a quello di uscita, attraverso le sei vasche di lavaggio e asciugatura. Oltre al disegno del PCB della scheda di controllo ne ho realizzato il firmware e poi il software di configurazione e calibrazione (quest’ultimo risiede su un PC che viene collegato via USB alla macchina).

Da buon nerd nato negli anni ’70 oggi sono appassionato di retrocomputing. Mi reputo un nostalgico della buona programmazione, quella degli algoritmi ottimizzati per stare in poca ram e girare rapidamente anche su macchine poco performanti.

Mi appassiona il progetto dei linguaggi di programmazione, sia a livello teorico che nell’implementazione. Per le papille gustative, invece, mi lascio spesso sedurre dalla buona cucina… do il massimo quando sono io ai fornelli oppure mi lascio incantare da quella di un bravo chef per cui vale la pena un viaggio.

Valerio