Software and Projects
A selection of software I wrote over the years.
Unique Clan #
This is an ongoing project since 2014. A community all around the platformer game Teeworlds, find out more on the official website. The source code for the website, game server modifications, scripts and database infrastructure can be found on GitHub.
Adobe Digital Editions Dockerized #
If you own an e-book reader apart from Amazon’s Kindle you have likely encountered Adobe’s DRM format. You can’t download e-books protected by Adobe’s DRM directly from the bookstore. Instead you download a small text file with the ACSM extension which you then feed to the Adobe Digital Editions software to download the actual book. Adobe Digital Editions does fortunately run under Linux using Wine but I don’t want to bloat my system with closed source DRM software. This project locks Adobe Digital Editions into a Docker container and fully automizes the process of downloading e-books. You will never have to deal with Adobe Digital Editions again instead just pass the ACSM file to a script on the command line to get your book. Find the project source on GitHub.
After I wrote and tested this on Arch Linux it turned out it doesn’t run on Debian 10. I went into this assuming with Docker my project would be fully portable. But one should always keep in mind that Docker containers use the hosts kernel. After I tested it and seen it work on Debian 11 my best guess is that it doesn’t work with older kernels.
Teeworlds Machine Learning Project #
The hype around AI, machine learning and deep neural networks is real. Do you just throw this technology at a real problem and get impressive results? No. I fell for the hype and tried to apply reinforcement learning to the 2D platformer & shooter Teeworlds, the results were awful. The process and ideas behind the project are still intersting.
Watch a 5 minute video over at YouTube for a little bit of insight. The code with a short analysis of what might have went wrong is on GitHub. If you want to take a look, maybe there is still hope for the project after all.
A plugin for the Python Supervisor process control system. It restarts processes when files or directories change and should be used for hot loading. It is highly configurable with support for regex.
This C program listens to the
org.freedesktop.ScreenSaver D-Bus interface used by programs like Firefox to disable the screensaver—for example when playing videos—and disables the X11 built-in screensaver on request. All the major full-featured desktop environments like GNOME come with an implementation of the D-Bus interface, so this program is meant to be used with lightweight window managers without this functionality.
This Vim plugin improves the search function to not only highlight all results but also highlight the result last jumped to with a special color.
DDNet Trashmap #
The DDNet Trashmap service is popular around the map creation community of DDNet, a cooperative 2D platformer. Map creators can upload their map to the web application which will start a personal game server for them to playtest their map alone or with a partner. It’s written in Python and PHP.
The source code is maintained on GitHub.
Towers of Hanoi Robot #
You can watch a video of the robot in action on YouTube.