My name is David and I am a software engineer living in Stutt­gart, Germany. Amongst other things, I am interested in science, math, programming, technology, cycling, progressive rock music and board games. I work on self-driving cars. I have a theoretical degree in physics degree in theoretical physics. You can find some of my personal projects on this page. My open source work is published on GitHub.

If you want to reach out to me, please send me an email.


insect A high precision scientific calculator with full support for physical units. Contrary to many graphical calculators, Insect is based on an interactive command line interface and runs both on the terminal and in the browser. It understands all SI units (including metric and binary prefixes) as well as most of the US customary and imperial units. In addition to many predefined mathematical functions and physical constants, it also supports user-defined variables and functions.

cube composer

cube-composer - a puzzle game inspired by functional programming A puzzle game which is inspired by functional programming methods. In a number of different levels, your task is to compose a series of transformations such that the colored cubes arrange in the correct pattern. The game is written in PureScript, a Haskell-like language that compiles to JavaScript. The code can be found on GitHub.


quizzity - a geographical quiz A geographical quiz where you have to guess the location of capitals and big cities around the world. The game comes with a custom designed world map that is controlled by the Leaflet.js library. The source code, the map and the geo data can be found on GitHub.


Yinsh board game This project is an online version of an abstract board game called Yinsh. It is written in Haskell and compiled to JavaScript by the Haste compiler. The rules of the game can be found on Wikipedia. My implementation has a built-in artificial intelligence based on a simple heuristic and a minmax-like algorithm.


A puzzle game targeted at developers. Telling more would spoil the fun. How far does your curiosity take you?

Paper locator

Paper locator is an easy and universal interface to get immediate access to scientific papers. Tired of manually extracting journal, volume and page from a reference and searching the publisher websites manually? Paper locator automates this process. Just copy a text sample containing the reference and Paper locator takes you directly to the document.


Erwartungswert Formel Das Würfelspiel Zehntausend lässt sich mathematisch exakt lösen, indem man die optimale Strategie rekursiv definiert. Die detaillierte Rechnung findet sich im angegebenen Dokument. Zur Lösung wurde ein Haskell Programm verwendet, das die optimale Strategie implementiert und den Lösungsbaum rekursiv durchsucht (siehe GitHub).


Ein praktischer Manager um Packlisten extrem schnell zusammenzustellen. Es gibt vorgefertigte Tags wie “Sommer”, “Ferienwohnung” oder “Sport”, sowie komplette Listen für einen Wanderurlaub, eine Geocaching-Tour oder eine Konferenz.


Board game collection

I enjoy abstract, social and strategic board games as well as card games. My full collection of games can be found here.

Favorite music

For over ten years I have been tracking nearly all of the songs I have listened to. You can check out this list to see my currently most played albums.


A few “hand-selected” single trails close to Stuttgart Vaihingen and a twelve minute movie of our 456km mountain bike tour from Füssen, Germany to Riva del Garda, Italy in 2014.