Lucrus
Babel utente | ||
---|---|---|
| ||
Utenti per lingua |
La mia storia...
Correva l'anno 1985 quando mio padre ebbe la terribile idea di piantare alberi di pino, ehm, no, ebbe la terribile idea di comprare un computer. Si trattava di uno ZX Spectrum 48K. A quel tempo io avevo 12 anni, abitavo a Piossasco, e le battaglie di quartiere fra i geeks della mia età si consumavano fra chi difendeva lo Spectrum e chi invece era un paladino del Commodore 64. Wargames era IL FILM per eccellenza.
"Special Program" era LA RIVISTA. Una forte scossa al mondo dell'IT così come io lo conoscevo la diede la novità del turboloader, che teoricamente doveva far caricare più velocemente i videogames dalle cassette audio, ma il più delle volte questo si traduceva solo in qualche colore in più del loader standard di sistema e un aumento delle probabilità di ottenere un errore di lettura da nastro.
Comunque, dopo le prime partite ai vari giochi piratati reperibili con "Special Program", mi venne voglia di provare a farlo io un videogioco. Il ragionamento era semplice: se esiste qualcuno al mondo in grado di farli, perché non potrei farlo anch'io? Non vorrei anticipare il finale, ma, ad oggi, non ho ancora scritto alcun videogioco degno di tale nome...
In ogni caso al tempo la cosa mi sembrava semplice e fu così che mi procurai il primo libro: "Programmare con lo ZX Spectrum" (forse il titolo non era proprio quello, ma poco importa). Avete presente quando acquistate la versione LITE del vostro software preferito? Succede immancabilmente che la funzionalità che volevate si trova solo nella PRO. Quel libro mi insegnò le basi della programmazione in BASIC, facendomi però notare che i programmi in BASIC risultano troppo lenti per poterci fare un videogioco. Pazienza, optai per qualcosa di semplice e scrissi un clone di Space Invaders, anche se proprio di clone non si poteva parlare: era più che altro qualcosa che aveva lontanamente lo stesso tipo di gameplay, ma per me era il miglior videogioco sulla faccia della terra. Caspita, l'avevo scritto io! Sicuro che quel gioco sarebbe stata la killer app dell'anno, decisi spedire il listato e la cassetta alla rivista "Paper Soft", che pubblicava programmi per ZX Spectrum (ma, scopro oggi, non quelli prodotti dai lettori). Non ci fu più una nuova edizione di quella rivista da quando io spedii il mio listato. Ancora oggi mi piace pensare che sia stata una coincidenza... Ciò non toglie che mi piacerebbe, ora a distanza di anni, rivedere il mio listato del tempo, e, se trovassi qualcuno che al tempo lavorava per la Paper Soft, credo che proverei a chiedergli se sia possibile recuperarlo dal cestino della ex-redazione... La specie di clone di Space Invaders mi insegnò una cosa importante: il BASIC non bastava proprio.
Fin da piccolo ho sempre rifiutato l'esistenza del grigio. Per me c'era il bianco oppure il nero. E forse sullo Spectrum era proprio così. L'unica alternativa al BASIC per me era il linguaggio macchina dello Z80. Non pensai neppure di pormi il problema di sapere se esistesse una via di mezzo, anche solo un assemblatore. Acquistai il secondo libro "Il linguaggio macchina dello Z80"; il quale, in appendice, riportava la tabella di traduzione fra codici mnemonici assembly e rispettivi valori esadecimali. Scrivere un programma equivaleva a scriverlo sulla carta, poi, tabella alla mano, tradurlo in valori hex, poi introdurre i valori hex nella ram da una procedurina BASIC a colpi di comando POKE.
Dopo un imprecisato periodo di duro studio e lavoro, ottenni la mia personalissima routine in LM che puliva lo schermo... per poi scoprire che non era ottimizzata e che il comando CLS del BASIC era più veloce... certo, prima di arrivare al videogioco ne mancava ancora un po', ma la sfida era ormai diventata la vera ragione delle mie fatiche.
Nel frattempo la tecnologia progrediva ed il mio ZX Spectrum 48K aveva ceduto il passo al fratello maggiore, ovvero la versione a 128K. Durò poco. Già la Olivetti pubblicizzava il "fantastico" Olivetti PC1 Prodest. Come resistere? Se trovassi per strada De Benedetti credo che ancora oggi mi verrebbe voglia d'insultarlo. Al tempo in cui i 386 erano quasi una realtà, la Olivetti se ne uscì con il PC1 basato su processore Nec V40, clone dell'Intel 8088, versione con bus ridotto ad 8 bit dell'Intel 8086. Ma io non sapevo tutto ciò e mi ritrovai con un carciofo secco fra le mani che, in più dello spectrum, disponeva di 512K di ram, ma non aveva un sintetizzatore audio e aveva una penosa grafica CGA. Che fare? Beh, semplice, arrangiarsi con quel che c'è. Ripresi dal linguaggio macchina, questa volta x86, alla ricerca di feature che il GWBASIC non offriva (anche perché l'hardware sottostante non aveva).
Questa volta mi posi il problema del grigio: magari non è necessario tradurre a mano i codici mnemonici in valori hex, magari esiste un programmino per farlo in modo automatico. Dopo lunghe ricerche fra amici del settore (non avevo nessuna connessione alla rete di allora, quindi niente usenet) approdai al MASM per MS-DOS e stendo un velo pietoso sul modo in cui lo ottenni. Nel frattempo avevo già mandato in pensione il PC1 Olivetti ed ero passato ad un 386SX assemblato. Mi procurai un libro il cui titolo suonava tipo "Programmare Intel 80386", forse in inglese, non ricordo, e iniziai il porting della routine per cancellare lo schermo...
Anche questa volta il basic era più veloce della mia routine, quindi capii che era meglio concentrarsi sulle funzionalità piuttosto che sulle prestazioni: mi misi a scrivere alcuni TSR per MS-DOS.
Finalmente arriviamo al 1992, l'anno in cui iniziai ad andare all'Università degli Studi di Torino. Qui mi si aprirono gli occhi: esisteva anche il linguaggio C. Sempre all'università mi resi conto che il mondo informatico non era solo Microsoft, ma esistevano altre valide alternative. Però i soldi per una Sparc non li avevo. Tuttavia nel laboratorio di informatica c'era, in un cantuccio, un computer del tutto simile a quello che avevo io a casa, ma con un cartello appiccicato sul lato del monitor che diceva: "Questa è una macchina Unix, non spegnere". Fu il mio primo incontro con Linux.
Non so dirvi quale distribuzione ci fosse installata, sempre che fosse una delle allora poche distribuzioni in circolazione, so solo che ci smanettai per 5 minuti tanto per curiosare. La prima curiosità che ebbi fu quella di vedere il contenuto di uno dei files. Il comando ls era raggiungibile con l'alias dir, quindi ottenni l'elenco dei files al primo tentativo. A questo punto mi venne naturale usare il comando type per vedere il contenuto di un file, cosa che ovviamente non funzionò. Provai ad inventarmi alcuni comandi a partire dalla mia conoscenza della lingua inglese ed incappai in vi, che aveva l'alias view: non fui in grado di uscire da vi, ma, finendo per caso in modalità inserimento, lasciai un messaggio per il tecnico di turno, all'interno del file di testo che avevo aperto, scusandomi e chiedendogli di ripristinare lui la situazione.
Incontrai per la seconda volta Linux nel 1995, quando, allegato ad una rivista, trovai il CD di "Slackware 2.2.0.1". Lo installai e non so per quale ragione mi piacque. Non riuscivo a farci nulla di vagamente produttivo, ma mi attirava il fatto di esplorare questo sistema e di scoprirne le caratteristiche. Mi innamorai subito delle fortunes che il sistema mi presentava ad ogni login.
Nel 1997 trovai il mio primo lavoro come programmatore C/C++ presso una ditta di Torino. Lavoro che mi valse una notevole formazione anche nel campo dei database, che non conoscevo per nulla.
Passarono gli anni ed io installai alcune versioni di slack a casa, poi cambiai lavoro e fui assunto a Pinerolo come sviluppatore Java: a partire dal 2000, mi misero sotto mano una redhat 6.2, poi 7.0, 7.1, 7.2 e 7.3. Nel 2002, a fronte di vari elogi letti su riviste del settore, installai Debian GNU/Linux Woody sul server aziendale. Tanto bastò per abbandonare RedHat e passare a Debian anche su tutti gli altri server che mi capitava di dover installare. Nel 2003 installai l'ultima RedHat 9 presso un cliente (non conoscevo ancora abbastanza Debian per fare il tipo di lavoro che serviva in quel caso ed avevo parecchia fretta). Nel 2004 installai Debian GNU/Linux (Sarge, al tempo testing) al posto di RedHat 7.3 anche sul desktop che usavo a lavorare. Nel giro di un paio di settimane Sarge si fece posto anche sul PC a casa.
Ora (Feb 2006 mentre scrivo) a casa ho un PC mio ed un notebook di mia moglie, entrambi con Etch, entrambi con accesso ad Internet via 802.11g assieme ai PC dei miei suoceri, che abitano al piano sopra e su cui c'è Sarge (ho convertito a forza anche loro, o così o mi rifiutavo di fargli assistenza: adesso sono contenti anche loro).
Il mio futuro? Qualsiasi cosa mi riservi il futuro, nel mio futuro c'è Linux. (mentre la nota carta di credito non è detto che ci sia).
I miei collegamenti esterni
modificaLa mia homepage indipendente dal resto dell'universo, ricca di contenuti
La mia homepage su SLiP, ovvero lo SLUG di Pinerolo (TO)
Un gioco di scacchi scritto in Java, buono per due giocatori umani che vogliono imparare le regole
Lucrus 22:04, 10 feb 2007 (CET)