Research Projects

Personal Projects


School Projects





Say no to DRM!


Church of the Flying Spaghetti Monster


Get Songbird


Pure Pwnage!


Valid XHTML 1.0 Transitional

Valid CSS!


libpaxos on SourceForge

dsmDB is a prototype of distributed DBMS. The DB runs entirely in the main memory of a cluster of nodes, ensuring durability, transactional consistency and transparent distribution.

dsmDB: a distributed shared memory approach for building replicated database systems (pdf)

A performance analysis of our first prototype: pdf (by Daniele Sciascia, Software Performance 2008)

More details coming soon...



libpaxos on SourceForge

A collection of open source implementations of the Paxos, a family of protocols for solving consensus in a network of unreliable processors.
The project consists of two simple Erlang implementations and two C/C++ static libraries implementing Paxos and FastPaxos.

libpaxos on SourceForge



Episode framework in action

Episode is a framework to produce rich graphical web applications (like Adobe Air or MS Silverlight) without the use of Flash!
Episode is written in Smalltalk with Seaside and produces scripted SVG graphics.
The first goal of the project is to export existing software engineering/visualization tool to the web, but it can also be used to develop an application from scratch.

Episode, semi-automatic software visualization via web (pdf)
Episode Poster (pdf)

Episode is currently used by other projects like Churrasco (video)


Sensor Networks

MicaZ node

Development of content-based protocol for distributed networks of tiny wireless sensors. (MicaZ motes running MantisOS)
Implementation of Direct Diffusion and other protocols with the goal of comparing against DV-DRP.


Shell cookbook


I decided to start collecting small shell recipes so I to avoid searching them every time.
You can find my cookbook here or grab the RSS feed for periodic shell tips and tricks!



TuxGuardian on SourceForge

TuxGuardian is an application firewall for Linux by Bruno Castro Da Silva. It's mission is to identify and control every application that tries to use the network.
TG is composed of 3 parts: a kernel module that uses the SELinux Framework to intercept application accesses (i.e. listen and connect syscalls), a daemon that a system administrator can use to setup systemwide security policies and a front-end that is used by the user to monitor applications and take decisions.
My contribution was never integrated in the main tree but it was fun anyway!
Screenshot of TG in action.


Mac Web Control Center (WMCC)

MWCC Screenshots

MWCC is a tiny PHP framework to control your Mac computer via web. It presents live information and allows actions, mainly using Applescript.
It can be used to launch desktop actions on a computer running in server-mode (i.e. with no mouse and keyboard attached).

MWCC on SourceForge



Download DashboardKiller

The Mac OS X (10.4+) Dashboard eats in terms of memory, network and CPU, sometimes its just useful to turn it off.
DK is a tiny utility for Mac OS X Tiger/Leopard to switch the Dashboard on and off with a click.
I wrote this app just for fun, play a bit with Java and Swing which i was learning during my second semester at university.
DashboardKiller has more than 10'000 downloads on MacUpdate

An equivalent bash script


Build a USB fan


How to keep your laptop cool!
Why spending 30+ euros for a USB fan, when you can build it yourself with less than 5?



GnuPG logo

An useful bash script to organize GnuPG encrypted files.
Trough a very simple command-line interface it's possible to add, edit and search in the stored files.
This comes handy to manage the million of web/mail/computer/... accounts and passwords.


Screenshot: (left) searching 'mail' in the store and then selecting a file to view. (right) a 'list' command.




A wrapper script for the sshfs filesystem of MacFuse. Allows you to maintain multiple servers with custom configurations in a single file, then mount them selecting from a simple list.





This script is the simpliest anti-theft program I could come up with, it can help tracking a stolen laptop.
It monitors IP addressess (interfaces and public) of the machine and posts them on Twitter whenever they change.




SvnCrawler on SourceForge

SvnCrawler is a tool for analysis of SVN repositories. SC is structured as a framework, the core takes care of fetching versions and dispatching them to the loaded plug-ins for data extraction.
It is very simple to create extensions that produce an RSS feed or a CSV report to be visualized in Excel/GnuPlot/Matlab/R/...
A number of plug-ins are already included.
SvnCrawler is a shellscript for bash, should work on any UNIX system and even on Windows within Cygwin

SvnCrawler on SourceForge

Software Design And Evolution 2008




A C/C++ memory pool to replace malloc/free, includes a configurable reference-counting garbage collector. MyLLOC comes in different flavors:

static: non thread-safe, maps directly to memory for a smaller overhead but cannot defragment the chunks.

dynamic: thread-safe, adds a level of indirection to the chunks to allow the garbage collector to move them, similarly to what one may find in a Java VM for example. Supports different GC policies.

MyLLOC Source

Team: Christian Ponti, Steve Sosio - Operating Systems 2006


Erlang Primer


This document is intended as an practical, example-driven introduction to the wonderful world of Erlang.
It covers the main aspects of the language, some efficiency hints and historical notes.


Report, examples source and a slide presentation here

Programming Languages 2007


TrafficSim 3D


A 3D traffic simulator developed with AgentCubes.
Sometimes the way semaphores, their timing sensors and different urbanist approaches may improve our everyday (driving) life.
Trying in practice different scenarios is time and money consuming or even impossible, the purpose of our project is a graphical and real-time simulation, a better way to model and try different approaches.
The user can create maps using basic blocks in a sim-city like environment, configuring various parameters of the workload.
Different metrics that may adversely impact the drivers are plotted in realtime inside the map, this way is easy to spot points more prone to traffic jams and reorganize them.

Team: Jacopo Malnati - Atelier on 3D Graphics 2006

Wall Street Search

Wall street search engine An information retrieval system built with Ruby on Rails on top of Lucene.
Wall Street Search (WSS) is a search engine built specifically to help journalists search among published articles of the Wall Street Journal.
It is built as a web application to provide access from everywhere through a simple web browser, it uses AJAX features to make the search session as simple as possible


Team: Franco Sellitto - Information And Knowledge Management II 2006


PIME Manager

PIME Screenshot

AIESEC is the biggest student organization worldwide, local committees (LCs) are distributed all over the planet organizing stages, internships, projects, public events, parties... The objective of PIME (PeopleInteractionMadeEasy) is to become the central resource manager for the within-LC organization and knowledge sharing.
Directly from the browser you get shared calendar, mailing list tool, address books, wiki, forum/news, icx/ogx-tracker (sorry, that was aiesec-speak) and much much more...

Try PIME now! no registration required,
use USER:demo, PASSWORD:demo

Team: Karim Moussalli, Daniele Sciascia, Yuval Sharon - Atelier On Web Applications 2006




LasSienas is a Java framework for Peer-to-peer distributed application, it includes a sample "Casino games" module. It is built on top of the Siena network

"Siena (Scalable Internet Event Notification Architectures) is a research project aimed at designing and constructing a generic scalable publish/subscribe event-notification service. The technical basis of Siena is an innovative type of network service called content-based networking".

Team: Karim Moussalli, Renzo Russi, Franco Sellitto - Net-Centric Computing 2006


Kiba Webserver


A very simple multi-host web server written in Scheme





PanoramX is a an Java filemanager for Mac OS X. If you can remember of norton commander/windows commmander/midnight commander, that's the style.
Plus it includes some "special" features like a web browser, transparent ZIP archive manipulation, console terminal, text editor, image preview and much more...

Team: Christian Caggiano, Renzo Russi and Franco Sellitto - Programming fundamentals II 2005




SmashTheCastle is a real-time strategy game written in Scheme. Build up your army and go conquer!
Features 4 types of creatures, special units, advanced A.I. and amazing graphics!

Screenshots: 1, 2, 3, Source

Team: Aleardo Cossi, Franco Sellitto and Damiano Vedova - Programming fundamentals I 2004


Informatica per tutti


Interview with Jacopo and Lorik about our summer projects. Swiss Radio ReteTre after Lugano Communication Forum. [Baobab, aired 19 April 2007].

Download mp3


ESUG 2007

European Smalltalk User Group

Volunteering in the organization of the 15th International Smalltalk Conference. Lugano, August 2007.
European Smalltalk User Group

A fashion site (to be) from Gianluca Giussani and Richard Baumgartner