#vita Ieri (17 maggio 21) ricordi giovanili ricapitolati manca la parte circa dello scorso decennio molto più adulta difficile e sofferta (che forse riuscirò anche a ricordare, ricapitolare, ordinare, riassumere e descrivere per farvene partecipi :) ) https://www.linkedin.com/pulse/una-vita-di-apprendimento-dario-cangialosi/ Ho usato il PC sin dal Microsoft DOS e Windows 3.11. Mio padre insegnante di chimica mi ha insegnato il LOGO quando andavo alle elementari, che mi aveva incuriosito dal libro di matematica di mia sorella maggiore. Sempre alle elementari una insegnante di sostegno discutendo di didattica con mio padre insegnante menzionò Asymetrix Toolbook e io iniziai a studiare OpenScript e tutto il resto dal un manualone mattone su Toolbook, poi Toolbook II. Aiutai mio padre in un suo ipertesto interattivo con Toolbook chiamato MECS. Nel frattempo capii di poter scrivere anche videogiochi. Seguii it.comp.giochi.sviluppo e altri newsgroup a tema. Con i mezzi che avevo provai a usare Toolbook per un platform 2D stile Mario Bros o Commander Keen, e riuscii a fare il controllo da tastiera, corsa, salto, forza di gravità e oggetti solidi. Iniziai a comprare Io Programmo, oltre ad altre riviste come Click e PCOpen, e in seguito riviste su Linux. Iniziai a usare Delphi, Borland C++ Builder, un SDK su Microsoft DirectX. Nelle scuole: nella scuola media inferiore un professore di educazione tecnica mi consigliò di diventare ingegnere dopo che capii al volo i vettori geometrici, la loro somma, lunghezza, usi etc infatti li avevo usati per programmare il gioco platform 2D. Mi instradò sullo studio del linguaggio BASIC che spiegai ai miei compagni. Alle medie superiori la professoressa di matematica ci insegnò il linguaggio Pascal. E io ero molto più capace dei compagni che partivano da zero. E anche la professoressa imparava da me. Io però seguendo i newsgroup sullo sviluppo di videogiochi mi ero procurato RealTime Rendering un libro in inglese (inglese che capivo avendolo studiato seriamente alla scuola media, assieme al francese che mi servì anche) e da questo testo emergeva una matematica avanzata con vettori, matrici, trasformazioni, quaternioni che chiesi senza risultati alla mia insegnante di matematica del biennio dell’ Istituto Tecnico Industriale. Rendevo bene nello studio e venni anche premiato con un viaggio premio di alunni scelti. Passai al triennio specialistico: Informatica Abacus. Lì continuai lo studio dei videogiochi che mi portò a studiare fisica computazionale col suo bagaglio di algoritmi e matematica del caso. Studiai anche un pò d'Intelligenza Artificiale e volevo capire la mente umana, o perlomeno produrre una intelligenza flessibile. Nel frattempo studiavo matematica del caso, elettronica, inglese, sistemi operativi tra hardware e software e imparai anche l’assembly anche incorporato nel linguaggio C. Acquistai Microsoft Visual C++ 6, con il quale usavo un SDK sulle DirectX tra cui Direct3D. Esplorai anche OpenGL, OpenAL, SDL, vari games engines dell’epoca, anche su Linux che nel frattempo tra Sistemi come materie e compagni appassionati contribuirono ad addentrarmi con un installazione di Debian e poi Mepis e poi Ubuntu. Ubuntu anche all’università d'Ingegneria Informatica. Ma alla scuola superiore mi era entrato in mente di studiare il PHP. Nella materia Informatica studiai C, VisualBasic 6, SQL. E io studiai la OOP in C++ e la presentai ai compagni sotto spinta del professore. PHP e Javascript erano utili per il web e alcuni miei amici che giocavano con giochi web mi chiesero se c’erano vulnerabilità in essi e come sfruttarle. Restando in tema ci divertivamo a scrivere keyloggers io in C++ chi in VisualBasic, trojan con controllo remoto in sfide tra compagni e io portai in classe un articolo di IoProgrammo che addirittura spiegava come patchare un file eseguibile per bypassare la richiesta di una licensa d’uso con codice di serie. Imparai libcurl da C/C++ per creare un client HTTP che in pratica era un bot per un webgame. Similmente feci esperimenti con il nascente dotnet ma era documentato già e compilabile da riga di comando nel suo rilascio in anteprima. Usai anche NetBeans per una GUI Swing in Java con richieste HTTP multithread. Arrivai all’università Unipa. Studiai fondamenti di informatica da due professori diversi perchè mi trasferii da Ingegneria dell’automazione (errore nei documenti di iscrizione) a Ingegneria Informatica, passando due volte il test di ammissione di ingegneria e imparando da due professori diversi sia fondamenti di informatica sia reti logiche. Usai Kubuntu, imparai Python (poi partecipando a 2 conferenze a tema a Firenze, PyCon e BetterSoftware) anche “evangelizzando” e dando una lezione di Python nella scuola in cui ero andato, scoprii Javascript ancora meglio mentre nasceva JQuery ed il web 2.0 aprendomi un dominio nerdz.it o DNS dinamico gratuito. Insomma mi fermo ma credo questo mostri il mio carattere, specialmente quando le condizioni sono favorevoli al prosperare mio e delle mie capacità. (scritto ieri notte di getto in un vortice di ricordi, ma non è al massimo del dettaglio nè copre il resto del tempo da allora sino ad oggi, un periodo meno romantico con sfide molto più concrete e condivise... tra cui ieri la ricerca di qualcosa che credo di aver trovato in TypeScript + ExpressJS ovvero FoalJS nello specifico). Grazie di aver letto e partecipato anche così... :)