Welcome to Ars-Informatica  


If you want to build a ship don't herd people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea. (Antoine-Marie-Roger de Saint-Exupéry)

Embedded solutions

Posted on 5th June 2011


In this area from nowadays going back to 2003 a number of projects have been developed: a WCDMA physical layer on a multi DSP SDR board, a tiny graphical library for a Microchip microcontroller touch screen device, bootloaders using serial, can bus, ethernet (PXE), custom OSes on customer ECUs, Linux kernel development for a high load/high availability intel-like custom board, Linux device driver development, Windows device driver development, QT embedded UI design for a PowerPC based LCD info-display. All these developments have been started and inspired when I started my PhD program at Politecnico of Milan with a thesis jointly development with the EECS department of University of California, Berkeley.

Automotive solutions

Posted on 5th June 2011


In this area from nowadays going back to 2003 a number of projects have been developed: ECU loaders using Keyword 2000 protocol on serial and can bus, a linux protocol stack driver built on top of can raw stack (SAE-J1939 aka multipacket), a diagnostic windows UI to track down system failures, bootloaders with firmware update capability.

Miscellaneus solutions

Posted on 5th June 2011


In this cathegory projects date back to 1997 when I developed my first industry standard warehouse management software written in Visual C++ MFC. From 1997 on, a number of projects have been developed using frameworks like .NET, QT, QT-Embedded, Java. In a few projects a database was part of the backend infrastructure. Therefore knowledge of database design has been developed especially focused on two industry standard DB solutions: MySQL and Microsoft SQL Server.

  • 1985 - Commodore 64 (BASIC, PEEK/POKE sprites)
  • 1990 - Casio fx-8500G
  • 1991 - Casio fx-880P (BASIC)
  • 1992 - IBM Thinkpad 386 (Dos / Win 3.1)
  • 1995 - Pentium 100Mhz (OS2 / Dos, Win NT 3.5)
  • 1997 - IBM RISC 6000 (OS Aix 4)
  • 1998 - Pentium Pro 200Mhz (2 processors) (Linux, Win)
  • 2000 - Pentium III 700Mhz (2 processors) (Linux, Win 2000)
  • Nowadays - Dell Precision M6500 Core i7 (Quad core)
Programming languages
  • 1985 - BASIC
  • 1990/92 - QBASIC
  • 1993 - Borland Turbo C++
  • 1994 - Borland Turbo Pascal
  • 1996 - Visual C++ (MFC)
  • 1996 - Access Database
  • 1996 - Modula 2, x86
  • 1998 - Lingo
  • 1999 - Java
  • 2001 - MySQL database
  • 2001 - QT
  • 2003 - SQL Server database
  • 2003 - .NET, x86-64, PPC
  • 2005 - C#
  • 2008 - WPF, ARM
  • 2010 - Silverlight

School experience