I'm a year old Italian guy. By day, I study languages in Modena. By night, I write code, or tinker with any of (or all of) maths, music, philosophy and science. Or Rubik's cubes.

I love free and open source software, and most of my projects are either MIT or GPL licensed. I've been running GNU/Linux since Christmas of 2015, and I regret nothing.


Gitea (2017~current)

In January 2018 I became a Gitea maintainer. Gitea is an open-source web Git service, mostly aimed at self-hosting.

At the time of writing this, I'm only starting out contributing seriously to the project, although thus far I've merged into the upstream a large number of fixes to make the web interface responsive, as well as numerous other minor improvements. I look forward to helping improve the project and making it an actually viable solution for small teams on a budget.

Ripple (2015~current)

My biggest personal project so far has been Ripple. I've developed Ripple with a friend of mine, and I've worked on it actively for two years.

Ripple is a “private” server for osu!, a rhythm game. Soon after its public launch, it grew to be the biggest private server on osu! - with only the main osu! server to be bigger than ours. At the time of writing this, it has over 50 thousand registered users.

I currently mostly write bugfixes for the project and do minor contributions from time to time on the codebases I created, in order to keep things running smoothly, although I try not to focus too much on the project and instead work on other things, such as Gitea.

I was in charge of making the front-end website, the back-end API, as well as deployment tools, housekeeping tools, and together with Nyo administering our GNU/Linux servers. Nyo was mostly working on the private API which is only used by the osu! game, and everything that comes with it: reverse engineering the protocol, the HTTP requests, and all that fun stuff.

Developing Ripple, I learned along the way Go and furthened my knowledge in PHP, JavaScript and HTML/CSS. Regarding technologies, Ripple gave me an invaluable amount of experience with Redis, MySQL, Vue, nginx, WebSockets, Bulma, Semantic UI and jQuery. I also learned about scaling services, and writing software that handles seamlessly hundreds of requests per second while being on a limited budget.


Way too many osu!-related projects (2014~2017)

I learned most of what I know today by working on projects related to osu!, the rhythm game mentioned previously. Such projects include osu! level calculator, go-osuapi, osu2hexiSharp, osuchatsearch, osu-mkpack, bnch, CheeseGull, and the list goes on.

Of course, most of these projects are about scratching my own itches that I had while playing the game, or some also about things we wanted to implement in Ripple. Nonetheless, these projects gave me invaluable lessons about software development, as well as the single most useful ability of a programmer: knowing how to troubleshoot almost any problem without the help of any carbon-based lifeform. (Read: Googling)

Most of the projects have been written in PHP or Node, some of the newest have been written in Go. MySQL is my jam.

what (smaller projects)

claws (2017)

The WebSocket command line client you've always craved. [Link]

setabusbot (2017)

Waiting for a bus in Modena, Piacenza or Reggio Emilia? Can't stand the slow and ugly website of SETA? You're in luck. [Link]

gobyexample.it (2016)

The Italian translation of the famous Go learning tool, translated together with Nicola Corti. [Link]


If you want to hit me up or ask me something, run the following command in a bash prompt to get my email address. Non-geeks: click here.

echo 'dGhlQGhvd2wubW9lCg==' | base64 -d

# Into crypto? Import my PGP key and make sure to encrypt your email using it.
curl https://keybase.io/tyge/pgp_keys.asc | gpg --import

If you're actually looking to have a friendly chat, I'm on Telegram and Matrix. If you'd rather use Discord, I'm Howl#0940 (DMs open and I accept all friend reqs), but can you really not use a FOSS app? :)

If you're the IRC guy, my freenode is dahhowl. I should be able to get back to you as soon as I get online, seeing as I use a bouncer, but nobody has ever actually written to me while I was offline so I don't know whether that works. /shrugs

If you're more into stalking me, that's OK. I'm on Mastodon at Howl@mstdn.io. I'm also on GitHub as @thehowl, on GitLab as @tyge, and on zxq as @howl, which is where I keep mostly projects I end up forgetting about in a couple of days. I'm also on a bunch of other places, but I don't really use them often.