Dennis Felsing     Software     Research     Teaching     Blog     DDNet


HookRace (since 2014)

Planned successor of DDNet, but just a Nim blog for now:

The Nim programming language (since 2014)

I'm pretty interested in Nim, a great new programming language, and am an active contributor:

I held a talk at the GPN14 about Nim:

Fuzzing Open Source Software (2014)

Using AFL I have discovered a few interesting crashes in software:

DDraceNetwork (since 2013)

DDraceNetwork logo

DDraceNetwork is a special version of DDRace, a Teeworlds modification. Help each other finish races with up to 64 players, compete against the best in international tournaments, design your own maps, or run your own server. The official servers are located in Germany, USA, Canada, Russia, China, Chile, Brazil and South Africa. All ranks made on official servers are available everywhere and you can collect points!


gifstream (2012)

Make interactive games in Haskell using GIF streams that can be shown in the webbrowser. An example of snake is included. Compile and run:

$ ghc -O3 -threaded SnakeFinished.hs
$ ./SnakeFinished
Listening on

Control using WASD in the terminal, output in the browser looks like this:

GIF Snake

ghc-datasize (2012)

ghc-datasize is a tool to determine the size of Haskell data structures in GHC's memory. Determining the size of recursive data structures is supported. All sizes are in Bytes.

ghc-vis (2012)

ghc-vis logo

Visualize live data structures in GHCi. Evaluation is not forced and you can interact with the visualized data structures. This allows seeing Haskell's lazy evaluation and sharing in action.

xdot (2012)

Parse Graphviz xdot files and interactively view them in a GTK window.

Currently not all xdot features are supported. Nodes and edges can be highlighted by hovering them and clicked.

For an example of using this library try the accompanying Demo.hs with the dot-files in dot-examples/.

Rotary Element Simulation (2012)

Simulates Rotary Element circuits. Contains the examples from the original paper.

Simulation files for the P3 cellular automaton and some Rotary Elements in it:

tach (2009)

tach is a script that provides automatic detaching and reattaching of terminals using dtach.

reverse rsync backup (2009)

rrb is a simple set of scripts to take backups by hand and automatically by a backup server using rsync and manage them.

Sutofu (2009)

Sudoku game and solver for TI V200.

simple xmpp client (2008) (unmaintained)

sxc logo

sxc is for jabber what ii (irc it) is for IRC: A minimalistic file-oriented jabber client which runs in the background and can be controlled by using basic command line tools to read from/write into the files/FIFOs sxc creates.

ajaxWM (2008) (unmaintained)

ajaxWM logo

ajaxWM is a window manager in a web browser, a terminal emulator and an SSH proxy. It allows remote controlling a computer even when there is a firewall and packet analyzer between, blocking everything else than HTTP(S)-connections. Because the ajaxWM client runs in any javascript-capable web browser, you can even use it when you are not allowed to install any software, for example in an internet café, at school, or at work.