About me
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.
Work experiences
Maser Italia (Jul 2023 - present)
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.
Exein (Nov 2021 - Jul 2023)
At Exein I worked on pulsar, a Rust eBPF-based runtime security agent.
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.
Maser Italia (Feb 2016 - Nov 2021)
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 meson
.
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 Qt
and QML
for the UI.
We used Protobuf
and 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 VIM
and tmux
user. I strongly believe in automating
tasks by writing scripts in bash
or Python
.
I’m the Linux go-to guy at the company.
When the company switched to OpenWRT
-based routers, I took the opportunity to
create a 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.
CIRSFID (Jun 2013 - Feb 2016)
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: JavaScript
, ExtJS
, NodeJs
, D3.js
, LESS
, XSLT
.
University (2010 - 2014)
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.
Olympiad in Informatics (2009 - 2010)
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
Projects
Dyanote
Dyanote was my thesis project for university. It was a web application for note taking inspired by Tomboy.
Interests
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.