Whirlwind
This is a project I participated in for my Web Technologies class in 2010/2011. It consists of a Server/Client web application for the SPAM (Social Production Audiovisual Microblog) server federation, which is a federation of servers connected together to provide a microblogging shared platform. Basically, it's Twitter spread through different servers using the same (custom developed) protocol (PAM and UPIM). I worked in a team of three people (total) for the duration of the project and I took care of the client-side code written in HTML5,CSS 3.0, javascript using the JQuery framework.
AmiKaya Operating System
This is a project I worked on for my Operating System course for the year 2010/2011. The whole project was divided in two parts, phase1 and phase2, through the span of a whole academic year. The project consisted on developing our own "standalone" microkernel for an operating system using a MIPS architecture code-base. It was to be developed and tested using the umps2 virtual machine. The microkernel architecture had to deal with different message-passing and threading problems like race condition, mutually exclusive access and all in between. The development team for this project was made of four people.
Source code of the Operating System (and its relative instructions) is fully available here.
Hospital Management
This is a project I worked on for my Software Engineering class in 2011/2012.
The project consisted in developing a Hospital Managment following a standard plan of process named "Cascata" or "Waterfall". Each member of the development team had a specific role. I was the Quality Manager, I had to make the Test Suit, and also write some documentation.
Source code of the Hospital Management and the whole documentation is fully available here. (Process Plan, Object Design, Software Design, ecc)
Framework for application of monitoring and domotics based on Arduino and Android technology
"Un framework per applicazioni di monitoraggio e domotica basato su teconologie Arduino e Android"
This is a project I worked on for my Mobile Application course in 2011/2012.
The whole project and the related documentation become the subject of my Graduation.
It's a framwork for comunication between device Arduino and Android, oriented in domotics.
The paper of the Graduation can be found here.
The android apk, and the Arduino program can be found here.
The full code with some instruction can be found here. (coming soon)
Power Managment
With my team we studied about four important papers about power managment in large datacenter and we made some interesting slides about this important topic.
This research is part of the course of Middelware System and we focused on this interesting subject of study.
In particular I studied the document : Power Provisioning for a Warehouse-sized Computer [Xiaobo Fan, Wolf-Dietrich Weber, Luiz André Barroso, 2007 Google inc].
Slides can be found here.
Simulation
In this paper we presents the results of the comparison between simulators, Lunes and our OMNeT++ based implementation.
The simulations, inspired by "A fair comparison of gossip algorithms over large-scale random Topologies", relate to three different algorithms gossip (probabilistic Broadcast, Probabilistc Edge, Fixed Fanout)
simulated on three different types of graphs (Erdos-Renyi, Random Geometric Graph, scale free).
Such simulations are intended to verify some results emerging from the original paper, introducing some variabilitity in the use of cache nodes,
in order to analyze the behavior of the system in this case also.
Is also carried out a comparison between the two simulators, both as regards some metric describing the spread of messages, and considering the number
of events generated and the execution time.
Paper can be found here.
Dept Planner
This software implements a simple scheduler for the timetable of an University Department.
We use a constraint modelling language named MiniZinc (http://www.minizinc.org/).
The actual implementation is in deptplanner.mzn. We provide two sets of data, extracted from the 2014/15
accademic year in the DISI department of UniBo. To test the application, move
data-firstterm or data-secondterm to data and execute ./executeplanner.sh.
The program requires MiniZinc binaries to be in your PATH environment variable.
Software can be found here.
Complete the expression
During the Wolfram Summer school, I've designed an interactive browser game in which you can improve your skill with the Wolfram Language. Starting from a topic of interest, the system will show you a Wolfram expression with a missing part to complete, with both the difficulty and fun growing with each level.
Full review and documentation can be found here.