In breve:
- Nel 2010 vengo assunto come GH30 al JRC (sito di Ispra)
- Manutenzione ed evoluzione del web server di Dixero International
- Creatore del software open source trash-cli
- Sviluppo di micro-acquirer per Galileian Plus
- Sviluppo di sisma-infrastructure per Galileian Plus
- Ingegnere di Sistema per il progetto SISMA per Galileian Plus
- Evoluzione per NDA Professional di Galileian Plus
- Network Administrator per Galileian Plus
In dettaglio:
Sep 2010 onwards Grantholder30 at Join Research Centre
On Sep 2011 I started working at Joint Research Centre, which is one of the directorate general of the European Commission. My job was taking care of the JRC partnership on a FP7 project called GENESI-DEC. Within the project I covered different aspects.
Required documentation
Write-out of: Use cases, Requirements, Application Guide, Validation Plan, Validation Report.
Ortho-rectification server
Development of the server:
- With a great effort I managed to put back the legacy server that stopped working.
- Added support to basic authentication
- Review and enhancement of the old legacy server design (Refactor) - Added characterization tests for fixing some
- Added documentation on how to make it work.
- Added semi-automatic deployment, then …
- … added automatic deployment (using fabric) Development of the client:
- Development of the brand new client Technologies and skills used:
- java and ant
- Linux Ubuntu/Debian
- Bash scripting
- Python with lxml, pip, virtualenv, and fabric
- OGC/WPS (PyWPS on server, homemade on the client)
- Behaviour Driven Development (for the client)
- Test Driven Development
- Pomodoro Technique
- Basic knowledge of satellite images, STRM, and GeoTiff
- Scripting of Oracle VirtualBox
- gdalinfo
Data server and catalog
The data server exposes some data sets of the internal JRC big archive to other external scientist. Due to the policy and license issue not all data is exposed to anyone so some authorization and authentication mechanism is requested.
Used technologies:
- cifs
- nfs
- Apache HTTPD
- gridsite (used for both client SSL authentication and authorization)
Semantic Web part
Requirements elicitation and identification, using User stories (only the format).
June 2010 to July 2010 Programmer at Dixero (Lugano, CH)
What I did:
Skills used/acquired:
- Basic knowledge of TTS (Text To Speech) systems
- Use of Loquendo
- Ruby with nokogiri (for some tests) and capistrano (for deployment)
- nginx
- XML parsing
- Java
- Bash Scripting, MySQL
- Git with github.com
- REST architecture
- Linux
Galileian Plus
Micro Acquirer
A small command line utility for downloading daily RINEX files. A RINEX is a format used for representing raw GPS satellite signals acquired by a receiver. A receiver produce a RINEX file daily and generally the are available through HTTP, or FTP using custom directory layout. As of RINEX file of many receivers are used for post processing there were some manual work for finding, downloading and updating the RINEX files. This program I developed solved the issue and is still used and evolved in Galileian Plus.
Techniques/technologies used:
- Java with Netbeans and Ant
- HTTP GET with Basic Authentication
- Test Driven Development
Network Administrator
In Galileian Plus often I played the role of the SysAdmin of the company.
What I did:
- Porting of existings CVS repositories to Subversion
- Set up of Apache Subversion under HTTP
- Set up of Windows Domain Controller using Samba
- Maintenance of the server of the network
- Maintenance of Trac (Issue Tracker)
- Single password configuration for Trac, Subversion and others(with LDAP)
- Samba domain
SISMA
The project last 4 years, in those years I played different roles. This is an ASI (Italian Space Agency) project about a novel approach on evaluating Seismic Hazard using deterministic algorithms and satellite data.
My company was the leader partner of the project, other partners were:
- Università di Milano
- Politecnico di Milano
- Università di Trieste
- Teleinformatica e Sistemi
Within this project I played those roles:
-
System Architect: I designed the system for glue together the software components from other parties, this end up on a distributed architecture based on Java-RMI, Bash, ssh, and cifs
-
Project Coordinator:
- Reviewing and integrating contributions on master documents
- Keeping track of deadlines and requesting contributions to other partners.
- Setting up Issue Tracker and SCM
- Writing Guidelines
-
Mentor: - Helping other partner and internal developers on writing code, documents, using SCM, writing tests (also automated tests)
-
Programmer:
- Developed the distributed infrastructure for coordinating processes.
- Developed the Acquirer: a program for downloading and updating the GNSS data daily
- Developed the HCI: a human interface for configuring the system
- Developed the generators of GIS maps from the actual data.
-
Software Engineering: - Wrote-out those documents: User Requirements, System Requirements, Architectural Design, Detailed Design, Validation Plan, Validation Report
Techniques and skills used:
- Test Driven Development (both in Java and in Bash)
- Java development
- Java-RMI
- JPA (Java Persistence API)
- UML (used Visio, StarUML, and whiteboard)
- Continuous Integration with Hudson
- Bash Scripting
- JIRA Issue Tracker
- Sphinx and reStructuredText
Innovator
- Advocacy for using Subversion+TortoiseSVN instead of email+renaming for version tracking.
- Advocacy for using Subversion instead of CVS
- Introduction of Daily Meeting, Weekly Sprint, and Whiteboard for planning.
- Questioning about the (ab)use of document templates.
From Dec 2004 to Dec 2005: Network “Specialist” at Tecnoteam (Pavia)
Main responsibilities:
- Design and implementation of Linux Servers for security and data management.
- Design of networking solutions LAN, VPN, IP tunnel.
- Remote managing of over Linux servers of over 50 customers.
From Sep to Oct 2004: Java Developer at Unicredit USI
I was not directly employed by Unicredit, I was “employed” with a low hour wage to a company who rented me to another company that put me on working on a project in the Unicredit premises.
Main activities:
- Java developing using technologies jsp, xsl, ant, toad, xmlspy
From Mar to Lug 2004 Web Developer at Ariadne (Casottole, PV)
My work:
- Analysis, Development, and validation of project “Sito del personale dell’Università di Brescia”
Technologies used:
- Oracle Application Server Portal
- J2EE
- JSR-168 Portlets
From Jan to Feb 2004 Software developer at SeaVision (Pavia)
What I did:
- Re-engineering and development of the Control Application for the company main product (an Artificial Vision Systems for pharmaceutical productions lines).
Technologies: Visual C++ e QT di Trolltech.
Part-times activities:
2010 Amped (Trieste, Italy)
During the 2010 I helped Amped on writing some Characterization Tests for Legacy code written in C++.
2009 Outadmin (San Giuliano Milanese)
During the 2009 I helped Outadmin with some bug fixing on a legacy web application that was using: PHP, Laszlo, MySQL.
2006 Marco la voce di Radio Zeta
At that time I create the first web site of this Italian Musical Band, I used joomla and PHP. Now they use something more sofisticated.
While I was studying at the University I won a contract for help the professor in teaching programming.
I taught:
- Java during the 2000/2001 academic year
- Fortran during the 1999/2000 academic year
- C during the 1998/1999 academic year