My name is David and I am a physicist living in Stutt­gart, Germany. Amongst other things, I am interested in science, math, programming, technology, cycling, progressive rock music and board games. You can find information about some of my projects on this page.

Contact me via email. Work-related information is located on my institute website. Some of my open source projects are published on


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 Isomer library is used for the isomeric rendering. 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.


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.


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.

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).


This is a Mathematica package that defines bindings for GnuPlot. It can be used to create high-quality plots from within Mathematica. The package easily integrates into your automated workflow by exporting to different output formats. It provides two functions gnuPlot and gnuListPlot which work (to some extend) analogous to Mathematicas own Plot and ListPlot functions.


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.