Ruby on Rails Extreme Crash Course

A talk I have given in December 2007 to convert 9elements to Ruby on Rails. Intended to present the basics of Ruby and Rails in about 3 hours.



An introductory talk on Git given at Barcamp Ruhr 2 in March 2009 (German only).


Metaprogramming Ruby

Talk given at Railscamp Germany 3 in Münster in 2010 about the mechanics behind Ruby’s metaprogramming capabilities (German only).


Advanced Git

A talk about Gits data structures and graph-oriented nature, combined with practical tips for using rebase given at Barcamp Ruhr 4 in March 2011.


AngularJS Introduction

An introductory talk about AngularJS. A HTML5 presentation done in reveal.js and spiced up with my own little jsfiddle clone.


Articles and Texts

Some longer articles I have written in places other than this website.

Getting started with Ruby on Rails

An article I wrote for Smashing Magazine in March 2009, outlining the basic ideas behind Ruby and Rails, intended to provide enough orientation for interested programmers to educate themselves. Pretty outdated by now, but still useful to get a rough overview.

BlogpostPart 1Part 2

A Thin Web Application Framework based on Server-side JavaScript

My CS diploma thesis, written in 2009. It describes an architecture for a web application framework based on proven principles of the web and provides a sample implementation in server-side JavaScript. I wrote it just as the ServerJS/CommonJS working group started. These guys have been steadily marching forward since and made tremendous progress, so the code is horribly outdated.


Open Source

You can find all of my open source code at

REST in Place

REST in Place is an AJAX Inplace-Editor that talks to RESTful controllers. It requires absolutely no additional server-side code if your controller fulfills the following REST preconditions:

  • It uses the HTTP PUT method to update a record
  • It delivers an object in JSON form for requests with “Accept: application/json” headers

The editor works by PUTting the updated value to the server and GETting the updated record afterwards to display the updated value. That way any authentication methods or otherwise funky workflows in your controllers are used for the inplace-editors requests.

» Github repository

» Ruby Toolbox



Haskell-Nxt is a library to control Lego Mindstorms NXT Bricks from Haskell. Since the nature of the communication with the Brick is stateful, the library consists almost entirely of IO monads.

Haskell-NXT was my first piece of Haskell software and probably has a lot of rough edges. I wrote it for a first attempt at finding a topic for my diploma thesis.

» Github repository


HAML-Coffee was a HAML parser that understands coffeescript. It generates a javascript file containing templates that can be rendered to HTML. Those templates can be used in a backbone.js application or anywhere else. It was heavily inspired by Tim Caswells haml-js.

We developed this at 9elements because we used to love HAML, we used to love CoffeeScript and we didn’t want to have a media break in our toolchain.

» Github repository