I'm a year old Italian guy. By day, I study languages in Modena. By night, I typically code or do other computery things. I'm also an enthusiast of philosophy, psychology, maths, and linguistics.

My work mostly regards free and open source software. I'm one of those weird guys who runs distros of GNU/Linux on just about everything and who tries to stay clear of propietary software.


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. I also used MySQL very often, mostly because I didn't know any better.

what (smaller projects)

claws (2017)

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

setabot (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]

more projects

What is shown here is the cream of the sea of tiny projects and graveyard of big ones that I came to have. I'm trying to move everything to zxq, but for the mean time I still have a few things on GitHub and GitLab.


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

Best way to contact me is Telegram: @dahhowl. I usually answer within a few minutes if I'm not busy. I'm also on Discord as Howl#0940, but I don't have notifications enabled on my phone for that so you'd likely end up receiving an answer after a day or so.

Social networks aren't really my thing. I used to spend a lot of time on Twitter and the Fedivere/Mastodon, but I pretty much realised I don't have time for that and I'd rather relax in other ways.