Skip to content


What can I do?

Programming is my forte, and to date I'm experienced in the following scopes:

WEB Programming

Website creation, from the simple "static pages" for websites that do not require constant updates, to creation of more complex systems (CMS) like the website you're browsing right now. What makes a CMS special is that, once created, all the contents can be inserted without having to ask me everytime, and they will surely fit nicely in the whole site structure.

In the Web Programming field I include also the creation of management programs, such as those that an enterprise can visit in an intranet reducing to zero the installation effort when preparing a new workstation, since the only requirement is having a web browser.


Between the tools I use best there are the following:

  • Java (Multi-platform and "solid" language)
  • Spring Framework and its derivations like web-mvc, webflow, security... (it gives a solid foundation for every project)
  • Hibernate (ORM for easy database creation and usage)
  • Twitter Bootstrap (very nice graphic library that I used to make many websites, this included. It is responsive and - with some work - it is also WCAG compliant)
  • JavaScript (To create interfaces that behave like a native program)
  • AJAX
  • Maven as project management system

I also have a good knowledge, even if I don't usually recommend using it, of PHP, that anyway offers the advantage of being easier to host online for free, that is not possible with Java.

With PHP I also created a theme for Joomla, the template can be freely downloaded here:

Operating Systems

I have a good experience in setting up server environments with:

  • Linux (distro: OpenSuSE)
  • PostgreSQL on Linux (creating a basic workspace, user configuration and tablespace creation)
  • Tomcat 5 and up (basic server configuration, user configuration, application deploy and creation of virtual servers to host multiple domains/applications on a single machine)
  • Note: This website has been created with the characteristics just described.

Native programming

Desktop PC applications


Most of the tools aforementioned can be used to create native applications:

  • Java (Multi-platform and "solid" language)
  • Spring Framework and its derivations like web-mvc, webflow, security... (it gives a solid foundation for every project)
  • Hibernate (ORM for easy database creation and usage)
  • SWT for User Interface
  • Maven as project management system

I also have a minimal knowledge of Visual Basic .NET.

Note: Visual Basic .NET is a tool by Microsoft that make produts that are not (or not entirely) compatible with OS different than Windows. From the other side it is really easy to use it to create native graphical interfaces that fully integrate with the underlying system.

Mobile programming

Knowing Java opens the road to programming apps for Google's Android platform. I have a good skill in creating applications for that, but I am no designer, so complex or fancy UIs are not my competence, nor I have the skills to create them.


Thanks to the classes I took at the University (Biomedical Engineering) I acquired basic knowledges about microcontrollers, logical devices and various other electrical components. These knowledges have been supported by using, during my free time, Arduino as a prototyping platform. I reached a good level of understanding of the platform and I can solve basic problems using Arduino and C++ programming languages, the latter limited to the creation of libraries.