me
My name is David and I am a software engineer living in Stuttgart, 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.
projects
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
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 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
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.
curiositY
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.
Zehntausend
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).
Pack-Zack!
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.
fun
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.
Mountainbiking
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.