Below is a (non-exhaustive) list of projects that I do in my free time. This being a limited resource (free time, I mean), the maturity of the projects tends to vary. I’m always happy to receive pull requests if your business decides to use one of them, though.

Licensing information should be available for most of them. I choose my licenses based roughly on the following guidelines:

  • small helpers usually get MIT or even CC0, such that somebody in need can quickly cut and paste without worrying to much about the legal department’s opinions
  • real projects tend to get GPLv3, because I believe in software freedom (thanks, RMS)
  • special cases:

    • Java/Scala projects are (by tradition?) licensed under Apache-2.0.
    • modifying stuff that I did not write is obviously subject to other peoples’ licensing models
    • some projects might demand a specific license when linked, I’ll naturally comply with that

Note that if there is no license information available, the project is by default all rights reserved (this is just an observation, not a declaration).

Current Projects

Here are the projects where I invested (at least a little) time in the past months.

Postfix Address Mapping Service

I wrote an implementation of the postfix tcp_table protocol both in Python and in OCaml. The former implementation was just a quick hack to enable address normalization on my mail server, the latter was a toy project for learning OCaml, but I’d consider it the superior one now.

Source code:

Git Daemon Container Image

I did not find a simple docker image for hosting source code git://-style, so I wrote my own.

Source code: Docker image:

Setup Helpers

Setting up virtual machines is tedious? It shouldn’t be! See my collection of helper scripts to setup ubuntu machines for kubernetes. Note that the choice of packages is strongly dependent on my preferences - but you can probably learn a lot about me if from the apt-get commands and *rc files.

Source code:

Past Projects

These projects are from ancient times, often questionable in purpose and probably not of any use today (if you even manage to install them). I keep them around for entertainment purposes only.


CLI tool for obfuscating IP addresses in log files. I used to have this in place for the - now defunct - Longboarding Ulm website to protect users’ privacy.

Source code:


A WordPress plugin that extends Media Tags. This plugin makes an informed decision on how to show each kind of attachment type. The type is inferred from the MIME type registered by WordPress.

Source code:

WordPress Plugin Site:


A toy project to find German municipalities in a certain region, given coordinates.

Source code:


CLI IP Mangling and Git Hooks

Today I spent most of my time writing a tiny CLI tool to obfuscate IP addresses in my lighttpd logs. German telecommunication service law states that I must delete all personal traffic data if I don’t need them for maintaining the service.

From §96, Telekommunikationsgesetz:

Diese Verkehrsdaten dürfen nur verwendet werden, soweit dies für die in Satz 1 genannten oder durch andere gesetzliche Vorschriften begründeten Zwecke oder zum Aufbau weiterer Verbindungen erforderlich ist. Im Übrigen sind Verkehrsdaten vom Diensteanbieter nach Beendigung der Verbindung unverzüglich zu löschen.

Since I am a podmin now, I am also a telecommunication service provider and quite happy to comply with the law. I guess the situation might change soon enough, when the new European regulations kick in. Until then, I enjoy my new flavour of logs containing ‘aardvarks’, ‘Zulus’ and ‘snowcaps’ — but no identifiable IP addresses.

Aside: git is simply awesome. I just set up a hook in my server side repo which sets the correct permissions after a pull. See git help hooks, it’s really easy!


Scala Koans

Just worked through rubbish’s scala koans and learned some new scala details. I enjoyed the meditative style, but some koans were not clear and ‘please meditate over …’ was not a helpful hint. Furthermore, I am missing some koans about pattern matching. And why does every scala package need to download its own Java runtime, sbt, …? Kind of breaks the whole linux concept of small programs doing one thing well, not to speak of package managing.

Well, I’ll be looking around for another source of scala exercises. I feel more confident in the language now, even enjoy writing it, but it seems to me that what I have seen and done so far is just the tip of the iceberg.


Diaspora Pod Online

Some years ago I tried to install diaspora on my server, but didn’t quite manage - something between me not being able to understand the ruby ecosystem and the setup process being horrible. Nowadays, the process is a lot easier. Not that it’s actually short, but it is well documented (at least if you want a standard installation on a standard distro). So here it is:

My Very Own Diaspora Pod

Now that I have my account, I feel somewhat lonely, so feel free to add me: