summaryrefslogtreecommitdiff
path: root/src/cv/document.it.rest.txt
blob: cf3ec9e488d72fc801d76207c69e6597909f5871 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
==================
 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.