Try to learn something about everything


This is a list of some of my (personal) projects. Since I contribute quite regularly to FOSS, I can’t list every project I ever committed a patch for, but this is a good selection.


  • I started being a mentor for RubyLearning in early 2009. Besides teaching and improving the Ruby courses, I also helped to create, organize and teach the “Clojure for beginners” and “Clojure 101” courses.

  • MethodFinder: A port of Squeak’s Method Finder to Ruby. Mentioned on Ruby5 and RailsCasts (view on Rubygems).

  • Revolver: A fixed-size LIFO data structure. Mentioned on Ruby5 (view on Rubygems).

  • ivar_encapsulation: A declarative way to provide Smalltalk-like encapsulation around instance variables. Mentioned on Ruby5 (view on Rubygems).

  • try_to: Flexible error handling in surprisingly little Ruby. Mentioned on Ruby5 (view on Rubygems).

  • Shenanigans: My personal Ruby extension library (view on Rubygems).

  • JRuby: I sometimes use JRuby and while doing so fixed 2 bugs in it.

  • unsavory: Remove outdated links from Pinboard. Originally written for Delicious, hence the name (view on Rubygems).

  • kraken-build: A simple tool that automatically adds/removes Git branches as Jenkins jobs. Originally written by Andreas Tiefenthaler with some improvements and refactorings by me (view on Rubygems).

  • koelner_phonetic_encoder: An implementation of the K├Âlner Phonetik algorithm which I wrote together with Anton Bangratz while working for Tupalo. Neither of us is still working on this.

  • tupalo_api_client: A convenient wrapper for the Tupalo API, written by Andreas Tiefenthaler and me. As far as I know this gem is currently unmaintained.

  • Emacs Rocks!: While the site is developed and run by Magnar Sveen, I added Atom support with Ruby’s excellent Builder library.

Chrome extensions:

  • Soup: Since I don’t use the bookmarks bar, I converted’s bookmarklet into a Chrome extension.

  • Nosy: Written for the October 2011 GTUG Vienna Chrome extension hackathon with Bernd Forstner and Ludwig Hammel. We placed 2nd in the voting.

  • Timely Everywhere: Another port of a bookmarklet to a Chrome extension, this one for Timely.


  • nmap http-generator script: Since I sometimes do security related work, I use nmap quite a bit. So when I decided to learn some Lua, I wrote this discovery tool that is now part of nmap’s default script set.

  • Happy Nerds: A collection of programming resources for children. Created by me and made pretty by Thomas Fadrus.

  • ClojureX: While Clojure was still young, it wasn’t always easy to get a development environment up and running. ClojureX was a distribution that tried to simplify the process on OSX and was fairly popular for a while. I have not worked on this past Clojure 1.2 though, so the project is not very useful in its current form.

  • Gentoo Linux: I was a volunteer developer for Gentoo Linux from 2004 to 2006, mostly working on Ruby libraries and related packages, as well as games and Gentoo/FreeBSD. I also was a regular contributor for the Gentoo Weekly News.