summaryrefslogtreecommitdiff
path: root/src/cv/document.en.rest.txt
blob: d2872f33ed9dd7727954979ec039af27bfdf0874 (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
==================
 Curriculum Vitae
==================
:CreationDate: 2003-01-28 10:09:25
:Id: cv
:tags: personal
 
Legal notes
===========
 
Some of the information below is defined as sensitive under the terms
of Italian law n. 675 of December 31, 1996 and later
modification. Their being shown here does not imply any authorization
to their use. Anyone wishing to extract, archive or in any way use the
following information (for non personal use, see Art.3) is required to
`contact me`_ asking for authorization.
 
.. _`contact me`: dakkar@thenautilus.net
 
Personal data
=============
 
Name:
    Gianni Ceccarelli
 
Place and date of birth:
    San Giovanni Valdarno (AR, Italy), 1977-04-05 (April 5, 1977)
 
Address:
    | via Trieste, 214
    | 52020 Ambra (AR)
    | Italia
 
E-mail:
    dakkar@thenautilus.net
 
Telephone:
    +39 347 822 9734
 
Education
=========
 
Graduated from high school (“Diploma di maturità scientifica”) from
“Liceo Scientifico Francesco Redi” of Arezzo (Italy) in 1996, course
`MFI` (special course with additional mathematics, physics and
computer science lessons), with top marks (60/60). As part of the
final exam I presented a short thesis about photo-realistic image
generation with computers, with emphasis on ray-tracing.
 
On 2001-10-19 I graduated (“Laurea”) in `computer science`_ from `Pisa
University`_ with top marks (110/110 e lode); moreover I've been a
fellow at the `Scuola Normale Superiore di Pisa`_ for all the five
years of university.
 
.. _`computer science`: http://www.di.unipi.it/
.. _`Pisa University`: http://www.unipi.it/
.. _`Scuola Normale Superiore di Pisa`: http://www.sns.it/
 
My university thesis__ was about an extension of reinforcement learning
algorithms using recurrent neural networks for structured data,
allowing the treatment of (for example) sets of cooperating agents
with communication networks. Both the thesis (Italian only) and the
associated ``C++`` library are `available on SourceForge`__. The
library is released under the terms of the `GNU LGPL`_ and the thesis
under the terms of the `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
 
 
From 2002-01-01 to 2002-12-31 I've been a PhD student at the `Computer
Science`_ Department of `Pisa University`_. I quit to find a job.
 
Work experiences
================
 
At Hyperborea
-------------
 
From 2003-02-03 to 2005-06-31 I worked for Hyperborea_.
 
Working for Hyperborea_, I've learned several design and development
techniques, and I've polished my knowledge in several
areas. Specifically:
 
* Programming in Python_.
* Integration into a group of developers and coordinating with them.
* Tracking bug reports (using GNATS_).
* Distributed development and version tracking (with CVS_).
* Design and development of web/CGI applications.
* Integration of relational databases with web applications.
* Usage of Oracle_ (8 and 9i), PostgreSQL_MySQL_.
XML_ and related technologies: XPath_XSLT_ and `XSL-FO`_`XML Schema`_
 
Among the various projects I participated in, the most significant are:
 
* “iboFlex”, a framework to ease the development of web applications for
  data-entry into a database, based on ibo_ (an in-house application
  server) and XSLT.
* A general, highly flexible framework for web-based
  questionnaires. It can handle arbitrarily complex questionnaires,
  with validation of the answer, and variable presentation (questions
  and answers in arbitrary order, with multiple formulations for
  each). It uses XML as representation format and XSLT for
  presentation.
* Arianna version 3, a program for the cataloging and description of
  historical archives, based on XML, for which I've defined the
  internal representation formats and developed the full-text indexing
  and searching system.
* A system for the distributed planning and programming of didactic
  activities in universities, developed in collaboration with
  `Università di Milano Bicocca`_, for which I worked on the high-level
  design and the definition of formats and protocols for data
  interchange. At the moment the system is being developed by the
  spin-off TabulaeX_.
* The `Ecumene project`_, a national projects for the distribution of
  knowledge about artistic and historical heritage of the Italian
  Catholic Church, in which I worked on the architectural design, on
  the design and development of some modules, and on the definition of
  formats and protocols for data interchange.
 
.. _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/
.. _`Ecumene project`: http://www.google.com/search?q=%22progetto+ecumene%22
 
At Blackbit
-----------
 
In 2005 I helped to start `Studio Blackbit`_, and worked there for
about a year. Among the projects we worked on:
 
`Opera Sacra`_, an e-commerce site based on osCommerce_; I had to
  re-implement most of the templating system to make it sane, and then
  I wrote the new templates to produce valid (and table-free) `XHTML`
* a graphical user interface (using Perl_ and `Gtk+2`_) for a
  `magneto-telluric sensor`_, for the `Institute of Geosciences and
  Earth Resources`_
 
.. _`Studio Blackbit`: http://www.blackbit.it/
.. _`Opera Sacra`: http://www.operasacra.com/
.. _osCommerce: http://www.oscommerce.com/
.. _`Institute of Geosciences and Earth Resources`: http://www.igg.cnr.it/index_ing
.. _`magneto-telluric sensor`: http://www.igg.cnr.it/Laboratori/pisalab6_ita.htm
.. _Perl: http://www.perl.org/
.. _`Gtk+2`: http://gtk2-perl.sourceforge.net/
 
At Ask.com
----------
 
From 2006-04-04 to 2009-07-31, I've worked for the Italian R&D office of
`Ask.com`_.
 
Among the various projects I participated in, the most significant are:
 
* In the “BigNews_” project, I wrote most of the image-selection
  algorithms, and half of the code that handles images and videos; all
  the images and videos you see on the BigNews_ site passed through my
  code
 
* I lead the “News Triggering” project, whose goal is to identify when
  a query implies that a user may be interest in the latest news about
  a topic, and then inject those news into the web results; this
  project required large amounts of statistical analysis on news
  clusters, the development of several heuristics to filter out noise,
  and the implementation of dedicated server software
 
Working for `Ask.com`_ I've refined my project management abilities,
and increased my knowledge in several areas. In particular:
 
* Programming in ``C++``, especially in large-scale projects
* Handling communications between geographically-dispersed developers:
  some of my colleagues were 6 and 9 time-zones away
* Writing code that handles large amounts of data, in as little time
  as possible
* Medium-scale system administration: before we hired a real sysadmin,
  I and a colleague administered 8 servers and helped with the various
  desktop machines in the office
* Screen-scraping of dynamic (JavaScript-enhanced) web sites
* Video downloading and recoding
* Working around Microsoft-centric policies imposed by the parent
  company, using free software
 
.. _`Ask.com`: http://www.ask.com/
.. _BigNews: http://news.ask.com/
 
Other experiences
=================
 
In 1992 I started development of the program “Scegli la ruota giusta”
(“Choose the right wheel”) for `tellure Rôta`_ of Formigine (MO,
Italy). They make and sell wheels for industrial applications; the
program was to be put on counters of hardware stores, so that
customers could use it to choose, among the various products, the best
wheel (in terms of both pricing and performance) for their
application. The first version was written in MS Quick Basic 4.5,
later it's been completely rewritten in Borland Pascal. It has a
complete graphical user interface, with explicative drawings and
animations (it was meant to run on Intel 386 systems, with standard
VGA cards, under DOS). The database system for searching the catalog
is based on functions I wrote solely for this program. Latest versions
include an internationalization system, and I supervised (with the
help of tellure Rôta's specialists) translation in English, French,
German and Spanish.
 
.. _`tellure Rôta`: http://www.tellurerota.com/
 
In 1995 I developer for PFB_ (Modena, Italy) a program for a test
bench for overspeed governors. They make and sell mechanical lift
components; the “overspeed governor” is a pulley, in which runs a
cable linked to the lift proper: if the cable (i.e. the lift) exceeds
a fixed speed, the pulley must block, in so doing pulling the cable
and activating the emergency braking system. The program, using a
dedicated interface I developed to a speed sensor (an optical encoder
hooked to the parallel port), is able to read with high precision the
intervention speed of the governor (that is, the highest speed reached
before blocking); it allows then to archive tests and print
certificates of conformity. The system runs on PCs, in text mode under
DOS, and it's written in Borland Pascal. The database system is, also
in this case, written ad-hoc.
 
.. _PFB: http://www.pfb.it/
 
From 1996 I took part in the construction of a Ethernet local area
network among heterogeneous machines (Macintosh and PC with Windows,
DOS, Linux). Between 1997 and 2001 I've been "unofficially"
responsible of the computer room in the Collegio Carducci of the
Scuola Normale (where I lived): when I left it consisted of 8 PC,
running MS Windows NT 4 and Linux (we used the RedHat distribution),
and two iMac. There were also two laser printers, accessible from
every machine on the network; the whole room was protected from
external attacks with a NAT (Network Address Translator) made with a
PC running Linux. The merit for the good results is not only mine:
I've been helped by four colleagues, without whose collaboration it
would not have been possible to realize everything we did. I organized
a course of introductory lessons on the use of computers for users of
the room; the lessons have been held by my colleagues.
 
In 1997 I translated from English some articles about programming for
IBM OS/2 Presentation Manager for the on-line magazine `Just Warp!`_.
 
.. _`Just Warp!`: http://www.mclink.it/mclink/teamos2it/justwarp/index.htm
 
Between July and August, 2000 I've been invited to `University of
Wollongong`_ in Australia to work with prof. Ah Chung Tsoi and his
group on neural networks for structured domains.
 
.. _`University of Wollongong`: http://www.uow.edu.au/
 
In 2000 I held some lessons on Perl programming for some of my fellow
students, showing the basics of the language (and some obscure
characteristic because of “evil” questions)
 
I've also held a short lesson on the workings, usage and problems of
Internet as part of a course for junior high school teachers,
organized by my junior high school math teacher.
 
I wrote the Italian translation of SourceForge_, and I helped the
Italian translators of `KDE 2`_.
 
.. _SourceForge: http://www.sourceforge.net/
.. _`KDE 2`: http://www.kde.org/
 
I've been on the organization team of the `Italian Perl Workshop`_ for
all its editions (4 of them so far), handling the web-site, the
selection of submitted talks, and the scheduling.
 
.. _`Italian Perl Workshop`: http://www.perl.it/workshop/
 
I've written a couple of articles for http://www.perl.it/, and I
have a `CPAN account`_. Some of my code can be found on `my CGit
pages`_.
 
.. _`CPAN account`: http://search.cpan.org/~dakkar/
.. _`my CGit pages`: http://www.thenautilus.net/cgit/
 
Abilities
=========
 
I know several programming languages:
 
============= =====================
Language      Knowledge level
============= =====================
Perl          Very good
Python        Good
C++           Very good
C             Very good
Java          Good
Pascal        Good
============= =====================
 
I prefer imperative and object-oriented languages; I have some
(design) difficulty with functional languages (Scheme, ML, Haskell).
 
I have a strong interest (and strong opinions) on user interfaces. The
best ones (in my opinion), text mode: WordStar 4.0, Pine; file/folder
management: IBM Work Place Shell for OS/2; for PDAs: Apple
Newton. Because of this I have designed many user interfaces (many more
than I actually implemented).
 
I don't think I'm very good at teaching, but the ones who attended my
lessons considered themselves satisfied.
 
As a manager/responsible I had some successes, coordinating a team of
five people in the administration of a computer network, keeping at
first place security and at second place reliability for users (which
includes not changing users' habits in the name of innovation). At
`Ask.com`_ I've co-ordinated a small team of people, and kept our
developments in sync with other teams on the other side of the
Atlantic.
 
I am sysadmin for my Linux machines, all running `Gentoo Linux`_,
including the dedicated host that runs the ``thenautilus.net`` domain.
 
.. _`Gentoo Linux`: http://www.gentoo.org/
 
I speak, read and write fluently in Italian and English; I can read
French and with some difficulties Spanish. I've attended a first-level
course of Japanese, and I passed the final exam.