pumpgraphA Javascript object to generate interactive graphs of working parameters of a pump or a pump family, where you can choose a working point and verify working parameters in the selected configuration.

I followed the partial refactoring of this project when it was a Java applet, adding interpolation, antialiasing and a custom html renderer, and I’ve recently ported it to JavaScript, to obtain a better compatibiliy with desktop and mobile browsers.



2014-01-07 09.25.15 2014-01-07 09.25.30I needed a project as an “excuse” to start developing apps for Android (that I never studied before) when a colleague challenged me on my PortaleTNG. What a fantastic excuse :)

While he spent the day saying “Now I’ll write an android client for your web app!” I downloaded Eclipse, the ADK, installed everything, and in less than 8 hours I wrote TNGClient (and its web service) :)

Its use is evident from the two screenshots, the application is very easy and virtually without having to configure anything except the credentials of the corporate account. As a first project for Android, I have to say that it came out pretty good.


This portale2is the web portal for managing attendance of the group I worked for (until January 2014) .


Written in VB.NET, alas (I didn’t use C# yet), its functions was initially to manage the master data of the full work crew, presence surveying, exceptions, reporting, forecasts for holidays/permits/absences, the allocation of people in the projects, the counts of business costs and revenues.

Then I added the ability to manage orders, quotations and invoices for all projects of the group. A final addition was the management of certain business assets (cars, mainly) . There was so much else to add, that was expected during the creation of databases, but I’ve been assigned to other tasks so that the the system has been left quite unfinished.

As someone has already pointed out, the graphics is horrible! I know, it is true , as I have written elsewhere on this site I write code, and I have absolutely no eye for graphics, for color schemes and for all that is “aesthetics” in general, so I just put a couple of background colors for the different sections of the menu and order and nothing else.

Subsequently, for “fun” I created TNGClient: a dedicated client for Android, and the related web service.

Oh, and, always for fun, I ported TNGClient to iPhone.

Orari SP

TN_OrariSpReportFullI wrote this application many years ago to manage consultants time sheets in the office were I worked.

OrariSP was initially written in Visual Basic with MS Access archives (with the load of problems due to concurrent access to mdb file). I wanted to rewrite it to use MySql DB but the software was dismissed before. But I had anyway the time to rewrite the application in VB.NET.

Main features are:

  • Internal messaging system.
  • Personal log to keep track of assigned tasks.
  • Full vacation report, organized by work group or department, with forecasts for turns and worked hours.


zprojectclientfullA full featured instant messaging system with groups, message history, alerts, multi-recipient message, and a complete multichannel IRC-like chat system: a masterpiece, IMHO, if you think that I wrote it when ICQ did not exists and even netmeeting was just a concept)

The name Zproject2004 has a troubled story: it was originally “Project1” (You got it! It was the default project name in Visual Basic :-) )

But years ago, in the Windows 3.1 (and Visual Basic 4.0) age, there were issues with DLL loading order. In short, this application should be the LAST application loaded by the system. And the only way to do this automatically was to name it with a name starting with Z, so i called it Zproject1.

In 1999 I completely rewrote the application, so I changed that “1” in “2000” because the new version hit the production stage the 1st January 2000.

Another major release and the software name changed in “ZProject 2004” (Talking about Microsoft and its Windows numbering schemes… :) )

The last major release was a porting in .NET, and hence the final name: ZProject.NET.

(This is to say that if you ask me to write you something, YOU have to find a name for it… ;) )


maintconsoleAvatar is a redundant distributed system for information display. A fancy name for a complex infrastructure that drives a lot of informative displays scattered around buildings using a central schedule, checking for its status, switching on and off devices driving projector lamps, and so on.

And no, Cameron and his movie arrived 4 years after “my” Avatar.

The name is a tribute to the captain Avatar, of the Yamato starship, from the greath ’70s anime Star Blazers.

Avatar has his own page on my website, but it’s not yet translated, so at the moment the page is in italian.


A nice Java program written to replace gnokii on our SMS alerting system.

It runs on linux, reading from a MySql table the message list to send, and filling another table with received SMS.

There are no screenshots because it runs as a daemon in background.


MG (Magazzino Gomme)

MGA small program written in Java (I intalled it on a little and cheap Linux PC) to manage, using a barcode reader, stocks of a tire shop.

(Screenshot is of the program running on Windows)

Monitor ATM and Monitor TP


Two applications written to better understand CICS operating parameters and ATM (Automatic Taller Machine, or Bancomat, here in Italy) working statuses.

Each application is actually split in two parts. The first part is a Visual Basic application that runs in a continuous loop: it asks host about desired informations via 3270 and fills a database with informations. The second part is an ASP application that shows users the TP and ATM status, and records in the database the helpdesk operator that is taking care of the problem.


tughThis is the software used by Getronics (former Olivetti) to handle Sanpaolo orders and invoices (a difficult task because of a really big set of codes and prices and discounts and special combinations of items).

Written in Visual Basic with Access databases and some trick to handle concurrent access to .mdb files, Thug features a nice set of reports and an automatic distributed backup system (from that time when a user destroyed the database and all the backups – I still don’t know how!)

The name Thug is from an episode of Star Trek the Next Generation.