This is a non-exhaustive list of projects I developed.
Pocket Statistics is a website that will retrieve and analyze your Pocket data. You can find it here.
It is deployed using an NGINX server (as a reverse proxy) and Waitress running on Arch Linux over IPv4 and IPv6.
Certbot (from Let’s Encrypt) is used to provide (and regularly renew through a systemd timer) TLS certificates.
nftables is used to build an allowlist-based firewall and to prevent SSH brute-forcing and ICMP flooding.
Dungeon is a text-based open-world Java role-playing game.
In 2017, Dungeon won a $1024 software quality award.
See the GitHub repository, the project page.
A platformer in C, rewritten in modern C++.
See the GitHub repository, the website.
Better Chest Organizer is a mod for Stardew Valley written in C#. The default in-game chest organization functionality is very incomplete, often not using enough criteria when determining the chest item order. To make matters worse, the default implementation does not use a stable sorting algorithm. This mod provides better automatic chest organization, fixing these problems.
This is a C++ implementation of the main ideas from Wojciech Palubicki, Kipp Horel, Steven Longay, Adam Runions, Brendan Lane, Radomír Měch, and Przemyslaw Prusinkiewicz. 2009. Self-organizing tree models for image synthesis. In ACM SIGGRAPH 2009 papers (SIGGRAPH ‘09), Hugues Hoppe (Ed.). ACM, New York, NY, USA, Article 58.
The code is fairly well-documented in order to help an interested reader better understand how the paper was implemented.
An application to efficiently find words in a dictionary from a multiset of letters. This is, the application finds the largest possible words from a bag of available characters.
$ ./bigword linkedlists
> instilled
> kindliest
> niellists
> slinkiest
$ ./bigword abcdefghij
> bighead
> jibhead
$ ./bigword aeioubsdlinux
> unoxidisable
Data is serialized after processing in order to speed up subsequent runs.
On average, the application can query against a dictionary of 500,000 words in around 50 milliseconds.
A JavaScript game.
See the GitHub repository, the website.
A Java image manipulation library.
See the GitHub repository, the project page.
My public LaTeX notebook.
See the GitHub repository, the last release, the issue tracker.
You may also be interested on my list of open-source contributions. I believe that giving back is fundamental to keep the software development ecosystem healthy.