==================
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.