================== Curriculum Vitae ================== :CreationDate: 2003-01-28 10:09:25 :Id: cv :tags: personal Note legali =========== Alcune delle informazioni che seguono sono definite "sensibili" ai sensi della legge 31 dicembre 1996 n. 675 e successive modifiche. Il fatto che siano qui disponibili non implica alcuna autorizzazione al loro trattamento. Chiunque avesse interesse a rilevare, archiviare o comunque trattare le informazioni che seguono (per uso non personale, si veda Art.3) è tenuto a contattarmi_ e chiedere esplicita autorizzazione. .. _contattarmi: dakkar@thenautilus.net Dati anagrafici =============== Nome e cognome: Gianni Ceccarelli Luogo e data di nascita: San Giovanni Valdarno (AR), 1977-04-05 (5 aprile 1977) Residenza: | via Trieste, 214 | 52020 Ambra (AR) Posta elettronica: dakkar@thenautilus.net Telefono: +39 347 822 9734 Istruzione ========== Diploma di maturità scientifica conseguito presso il Liceo Scientifico “Francesco Redi” di Arezzo nel 1996, sezione `MFI` (sperimentazione Matematica-Fisica-Informatica), con votazione di 60/60. All'interno della prova orale ho esposto una breve tesi sulla generazione di immagini fotorealistiche al calcolatore, con particolare riguardo a tecniche di *ray-tracing*. Il 2001-10-19 ho conseguito la Laurea in Informatica_ presso l'`Università di Pisa`_ con la votazione di 110/110 e lode; sono inoltre stato allievo ordinario presso la `Scuola Normale Superiore di Pisa`_ per tutta la durata del corso di laurea (5 anni). .. _`informatica`: http://www.di.unipi.it/ .. _`Università di Pisa`: http://www.unipi.it/ .. _`Scuola Normale Superiore di Pisa`: http://www.sns.it/ La mia `tesi di laurea`__ ha come argomento un'estensione degli algoritmi di apprendimento con rinforzo tramite reti neurali ricorrenti per strutture, permettendo ad esempio di trattare insiemi di agenti cooperanti tramite reti di comunicazione. La tesi e la libreria ad essa correlata sono `disponibili su SourceForge`__. La libreria è rilasciata sotto licenza `GNU LGPL`_ e la tesi sotto `GNU FDL`_. .. __: http://sourceforge.net/project/showfiles.php?group_id=10202&release_id=55268 .. __: http://sourceforge.net/projects/nnetlib/ .. _`GNU LGPL`: http://www.gnu.org/licenses/lgpl.html .. _`GNU FDL`: http://www.gnu.org/licenses/fdl.html Dal 200-201-01 al 2002-12-31 sono stato iscritto al dottorato in informatica presso il Dipartimento di Informatica_ dell'`Università di Pisa`_. Ho abbandonato per cercare un lavoro. Esperienze lavorative ===================== Presso Hyperborea ----------------- Dal 2003-02-03 al 2005-06-31 ho lavorato presso la `Hyperborea s.c.`_. Presso Hyperborea_ ho acquisito svariate tecniche di progettazione e sviluppo, e approfondito le mie conoscenze. In particolare: * Programmazione in Python_. * Integrazione in un gruppo di sviluppo e coordinamento con altri sviluppatori * Gestione delle segnalazioni di bug (usando GNATS_). * Sviluppo distribuito e gestione delle versioni (con CVS_). * Progettazione e sviluppo di applicazioni web/CGI. * Integrazione tra database relazionali e applicazioni web. * Uso di Oracle_ (8 e 9i), PostgreSQL_, MySQL_. * XML e tecnologie correlate: XPath_, XSLT_ e `XSL-FO`_, `XML Schema`_. Tra i progetti cui ho partecipato, i più significativi sono: * “iboFlex”, un framework per semplificare la scrittura di applicazioni web di data-entry su database, basato su ibo_ (un application server sviluppato in-house) e XSLT. * Un framework generale per la gestione di questionari via web, estremamente flessibile. Permette di definire questionari arbitrariamente complessi, di definire le regole di validazione delle risposte e di variare la presentazione dei questionari (domande e risposte riordinabili, diverse formulazioni per ciascuna). Usa XML come formato di rappresentazione e XSLT per definire la presentazione. * Arianna versione 3, programma per la inventariazione di archivi storici, basato su XML, per il quale ho definito i formati di rappresentazione interna e ho scritto il sistema di indicizzazione e ricerca full-text. * Un sistema di gestione distribuita per la programmazione e pianificazione didattica dell'università, sviluppato in collaborazione con l'`Università di Milano Bicocca`_, per il quale ho collaborato alla progettazione d'insieme e alla definizione dei formati e protocolli di interscambio dati. Attualmente il progetto è portato avanti dalla spin-off TabulaeX_. * Il `progetto Ecumene`_, un progetto nazionale per la diffusione telematica di conoscenze sul patrimonio storico-artistico ed archivistico della Chiesa Cattolica in Italia, in cui ho collaborato alla definizione dell'architettura, alla progettazione di alcuni moduli, alla definizione dei linguaggi e protocolli di interscambio dati. .. _`Hyperborea s.c.`: .. _Hyperborea: http://www.hyperborea.com/ .. _Python: http://www.python.org/ .. _GNATS: http://www.gnu.org/software/gnats/ .. _CVS: https://www.cvshome.org/ .. _Oracle: http://www.oracle.com/ .. _PostgreSQL: http://www.postgresql.org/ .. _MySQL: http://www.mysql.org/ .. _XML: http://www.w3.org/XML/ .. _XPath: http://www.w3.org/TR/xpath .. _XSLT: http://www.w3.org/TR/xslt .. _`XSL-FO`: http://www.w3.org/TR/xsl .. _`XML Schema`: http://www.w3.org/XML/Schema .. _ibo: http://www.sourceforge.net/projects/ibo .. _`Università di Milano Bicocca`: http://www.unimib.it/ .. _TabulaeX: http://www.tabulaex.it/ .. _`progetto Ecumene`: http://www.google.com/search?q=%22progetto+ecumene%22 Presso Blackbit --------------- Nel 2005 ho aiutato ad avviare lo `Studio Blackbit`_, e ho lavorato lì per circa un anno. Tra i progetti cui abbiamo lavorato: * `Opera Sacra`_, un sito di e-commerce basato su osCommerce_; ho dovuto re-implementare la maggior parte del sistema di template per renderlo usabile, e successivamente ho scritto nuovi template per generare `XHTML` valido (e senza tabelle) * un'interfaccia grafica (usando Perl_ e `Gtk+2`_) per un `sensore magneto-tellurico`_, per l'`Istituto di Geo-scienze e Geo-risorse`_ .. _`Studio Blackbit`: http://www.blackbit.it/ .. _`Opera Sacra`: http://www.operasacra.com/ .. _osCommerce: http://www.oscommerce.com/ .. _`Istituto di Geo-scienze e Geo-risorse`: http://www.igg.cnr.it/ .. _`sensore magneto-tellurico`: http://www.igg.cnr.it/Laboratori/pisalab6_ita.htm .. _Perl: http://www.perl.org/ .. _`Gtk+2`: http://gtk2-perl.sourceforge.net/ Presso Ask.com -------------- Dal 2006-04-04 al 2009-07-31, ho lavorato per l'ufficio italiano di R&D di `Ask.com`_. Tra i vari progetti cui ho partecipato, i più significativi sono: * Nel progetto “\ BigNews_\ ”, ho scritto quasi tutti gli algoritmi di selezione delle immagini, e circa metà del codice che gestisce immagini e filmati; tutte le immagini e i filmati che potete vedere nel site BigNews_ sono passati dal mio codice * Ho gestito il progetto “News Triggering”, il cui scopo è di riconoscere quando una query indica che l'utente può essere interessato alle ultime notizie riguardo un certo argomento, e quindi di inserire tali notizie all'interno dei normali risultati della ricerca web; questo progetto ha richiesto ampie analisi statistiche sui gruppi di notizie, lo sviluppo di svariate euristiche per filtrare il rumore, e l'implementazione di server dedicati Lavorando per `Ask.com`_ ho affinato le mia capacità di gestione progetti, e rafforzato le mie conoscenze in varie aree. In particolare: * Programmazione in ``C++``, specialmente su progetti di larga scala * Gestione delle comunicazione tra sviluppatori geograficamente dispersi: alcuni dei miei colleghi erano a 6 e 9 fusi orari di distanza * Scrittura di codice che gestisca grandi quantità di dati, nel minor tempo possibile * Amministrazione di sistema su media scala: prima che assumessero un vero amministratore di sistema, io e un collega gestivamo 8 server e aiutavamo per le varie macchine desktop nell'ufficio * Screen-scraping di siti web dinamici (ad es. che includono JavaScript) * Download e ricodifica di filmati * Aggirare, usando software libero, le direttive dell'azienda che supponevano tutti usassero prodotti Microsoft .. _`Ask.com`: http://www.ask.com/ .. _BigNews: http://news.ask.com/ Altre esperienze ================ Nel 1992 ho iniziato a sviluppare per la `tellure Rôta`_ di Formigine (MO) il programma “Scegli la ruota giusta”. L'azienda produce ruote per movimentazione industriale; il programma era progettato per essere messo a disposizione dei clienti delle ferramenta per aiutarli a scegliere, all'interno del catalogo, la ruota migliore (sia come prestazioni sia come prezzo) per la loro applicazione. La prima versione era scritta per MS Quick Basic 4.5, successivamente è stato interamente riscritto in Borland Pascal. L'interfaccia utente era completamente grafica, con disegni e animazioni esplicativi (il tutto girava su sistemi 386 con schede grafiche VGA standard, sotto DOS). Il sistema di ricerca all'interno del catalogo era basato su funzioni di archivio scritte appositamente. Le ultime versioni includono un sistema per la traduzione dei messaggi, e ho curato (assieme a specialisti della tellure Rôta) la traduzione in inglese, francese, tedesco, spagnolo. .. _`tellure Rôta`: http://www.tellurerota.com/ Nel 1995 ho sviluppato per la PFB_ di Modena un programma per la gestione di un banco prova per regolatori. L'azienda produce componenti per ascensori; il "regolatore" è una puleggia in cui scorre un cavo collegato alla cabina dell'ascensore: se il cavo (e quindi la cabina) supera una certa velocità, la puleggia deve bloccarsi, tendendo il cavo e attivando di conseguenza il sistema frenante della cabina. Il programma, grazie a una interfaccia da me sviluppata con un rilevatore di velocità (encoder ottico collegato alla porta parallela), permette di rilevare con precisione la velocità di intervento del regolatore (ovvero la massima velocità raggiunta prima del blocco), di archiviare le prove effettuate e di stampare un certificato di conformità. Il sistema gira su sistemi PC, in modo testo sotto DOS, ed è stato scritto in Borland Pascal. Il sistema di archiviazione è anche in questo caso sviluppato ad hoc. .. _PFB: http://www.pfb.it/ Dal 1996 ho partecipato alla costruzione di una rete locale basata su Ethernet tra macchine eterogenee (Macintosh e PC con Windows, DOS, Linux). Dal 1997 al 2001 sono stato "ufficiosamente" responsabile della sala computer del Collegio Carducci della Scuola Normale (dove abitavo): al momento che l'ho lasciata era composta da 8 PC, con sistemi operativi MS Windows NT 4 e Linux (ci siamo basati sulla distribuzione RedHat), e due iMac. Erano inoltre presenti due stampanti, accessibili da tutte le macchine via rete; l'intera sala era protetta dagli attacchi esterni tramite un NAT (Network Address Translator) realizzato con un PC con Linux. Il merito dei risultati ottenuti non è solo mio: sono stato aiutato da quattro miei colleghi, senza la cui collaborazione non sarebbe stato possibile realizzare tutto ciò. Ho organizzato un ciclo di lezioni introduttive all'uso dei computer per gli utenti della sala, che sono state tenute dai miei collaboratori. Nel 1997 ho tradotto dall'inglese alcuni articoli sulla programmazione del Presentation Manager di IBM OS/2 per la rivista in rete `Just Warp!`_. .. _`Just Warp!`: http://www.mclink.it/mclink/teamos2it/justwarp/index.htm Nel periodo Luglio-Agosto 2000 sono stato invitato presso l'`Università di Wollongong`_ in Australia per lavorare col gruppo del prof. Ah Chung Tsoi su reti neurali per domìnî strutturati. .. _`Università di Wollongong`: http://www.uow.edu.au/ Nel 2000 ho tenuto alcune lezioni di Perl per altri studenti, esponendo i fondamenti del linguaggio (e qualche caratteristica oscura a seguito di domande cattive) Ho tenuto anche una breve lezione sul funzionamento, l'uso e i problemi di Internet all'interno di un corso per insegnanti delle scuole medie tenuto dal mio insegnante di matematica alle medie. Ho curato la traduzione italiana di SourceForge_, e ho aiutato i traduttori italiani di `KDE 2`_. .. _SourceForge: http://www.sourceforge.net/ .. _`KDE 2`: http://www.kde.org/ Ho fatto parte dell'organizzazione degli `Italian Perl Workshop`_ per tutte le sue edizioni (4 al momento), gestendo il sito web, la selezione degli interventi proposti, e la stesura del programma. .. _`Italian Perl Workshop`: http://www.perl.it/workshop/ Ho scritto alcuni articoli per http://www.perl.it/\ , e ho un `account CPAN`_. Un po' del mio codice può essere esaminato nelle pagine del `mio CGit`_. .. _`account CPAN`: http://search.cpan.org/~dakkar/ .. _`mio CGit`: http://www.thenautilus.net/cgit/ Capacità ======== Conosco vari linguaggi di programmazione: ============= ===================== Linguaggio Livello di conoscenza ============= ===================== Perl Very good Python Good C++ Very good C Very good Java Good Pascal Good ============= ===================== Preferisco i linguaggi imperativi o a oggetti; ho qualche problema (di progettazione) con i linguaggi funzionali (Scheme, ML, Haskell). Ho un forte interesse (e forti opinioni) per le interfacce utente. Le migliori (secondo me), modo testo: WordStar 4.0, Pine; gestione file e cartelle: IBM Work Place Shell per OS/2; per palmari: Apple Newton. Per questo ho progettato molte interfacce utente (più di quante sia riuscito a realizzare). Ritengo di non avere grandi capacità didattiche, anche se chi ha assistito alle mie lezioni si è detto soddisfatto. Come organizzatore/responsabile ho avuto qualche successo, riuscendo a coordinare il lavoro di cinque persone nell'amministrazione di una rete di computer, mettendo al primo posto la sicurezza e al secondo l'affidabilità per gli utenti (che include il non stravolgere le abitudini in nome dell'innovazione). Lavorando ad `Ask.com`_ ho coordinato un piccolo gruppo di persone, e tenuto in sincronia i nostri sviluppi con altri gruppi dall'altra parte dell'Atlantico. Amministro le mie macchine Linux, tutte con `Gentoo Linux`_, incluso il server dedicato che gestisce il dominio ``thenautilus.net``. .. _`Gentoo Linux`: http://www.gentoo.org/ Parlo e scrivo correntemente in inglese; leggo il francese e con un po' di difficoltà lo spagnolo. Ho seguito un corso di giapponese di primo livello, superando l'esame finale.