I’m an Italian developer living in Medicina, a small town near Bologna. I was born in 1991 and I’ve been programming since I was 15, when I fell in love with the LEGO-like experience of building software from smaller blocks.
Currently I’m mostly interested in writing Rust on Linux systems.
I went back to Maser to continue the Rust rewrite I started years before. This time I got a part-time job and I hope to find satisfaction contributing to open source projects during my new-found free time.
Despite writing a big chunk of the agent itself, I’ve focused on developing and troubleshooting the C eBPF programs. I’m particularly proud of the test suite I developed and the several nasty bugs I’ve helped to track down. This gave me a great opportunity to explore the deeper levels of the Linux stack, learning a lot along the way.
In Maser my main task was to maintain the self-service application. My biggest accomplishment was taming the ~200K lines of legacy C++ code and giving them some structure without impacting customers.
One of the first things I did was moving the source code to
git (it was
unversioned) and redo the build-system (in order to compile and run the
application you had too many steps). Years later I rewrote it again, with
In order to adapt the self-service to different screen sizes, I conducted a big
refactor to split the UI in a different process. We used
QML for the UI.
ZeroMQ for the communication protocol to the main
application. This successfully took care of the business issue at hand, while
simplifying the application code significantly.
I have created a web application for making it easier to configure and monitor the
self-service. I used
React for the UI, Rust for the backend.
During the last years we started to slowly incorporate
Rust into our projects.
First I used it for the backend of the web interface. That I started using it
for new components, simulators and libraries.
In Maser I became a
tmux user. I strongly believe in automating
tasks by writing scripts in
I’m the Linux go-to guy at the company.
When the company switched to
OpenWRT-based routers, I took the opportunity to
WireGuard VPN to the petrol stations of our customers. Compared to
our previous solution, the setup and monitoring of the routers has been
completely automated by scripts. I used
IPv6 addressing in order to make
some autoconfiguration scenarios possible.
At CIRSFID I worked as frontend developer on legal informatics.
My 4 person team maintained LIME, a visual editor for Akoma Ntoso documents. The application was written with ExtJs. I didn’t like that framework, but working on it taught me an important lesson: if you have an issue and the documentation is not helping, you can always dive into the open source code to learn what the framework is actually doing.
Some side projects I worked on were:
- Creating a huge XSLT to convert from NIR to Akoma Ntoso. NIR was another XML markup languages used in Italy for legal documents. My work was used to convert a very big amount of documents.
- A web portal for viewing chains of legal documents. I used D3.js to make some data visualization graphs explaining the dependencies and references inside the documents.
These are the main technologies I used:
I hold a bachelor’s degree in computer science from the University of Bologna. My thesis was about Dyanote, an hypertext note taking tool. My final grade was 110L.
In 2009 and 2010, during my last years of high school, I took part in the Olympiad in Informatics competition. After passing the regional selections, I was admitted to several training stages where the top 20 Italian students were taught algorithms by university professors. Both years I was selected as one of the two reserves for the 4 students team competing in the international competition
During these years:
- I took part in 6 selection and teaching stages
- I classified 5th at nationals
- I was awarded by Banca di Italia an internship in IBM at Hursley
I like free software, in particular I care about Linux Desktop projects. I regret my lack of meaningful contributions and I hope to eventually do something about that.
When I’m not in front of a computer, I like swimming and playing tabletop games.