Retrieved from ""

Keyword: programming

Using DOSBox and emscripten to put old games onto the web

2015-08-28 22:36:30

Back in January of this year, the Internet Archive published their interactive DOS game library, allowing anyone to play old games that used to run on MS-DOS machines right in their browser, without the need for any plug-in or external software. This was very inspiring to me and reminded me of the time when I took my first steps in the world of programming using Turbo Pascal and compiling for DOS. Naturally, I made games in it.

I made a mental note to check out the underlying technology, but in January I was knee-deep in the process of finishing my master's thesis (followed by a move and a new job), so the "DOS in my browser" thing went somewhere near the bottom of my priority list.

In early June I dedicated a weekend to finally figuring that stuff out, which culminated in me adding a playable version of Revelation Mentis to my website. The way I first learned programming was by taking existing source code (typically little games) and tinkering with it, first changing values, then single instructions, then larger blocks of code. RM is notable in my personal history for being the first game (as well as the first non-trivial program) that I created on my own and completely from scratch, so it seemed like a good candidate for something to put on my website for posterity.

As I found out, many talented developers have made this process comparatively smooth – smoother than I had expected, anyway. Still, it's not a "drag and drop" kind of solution, you still need some coding chops to put all the pieces together. I'd like to walk you through what I did, just in case you're interested in doing something similar or you're curious about how it works.

My first free software

2011-12-23 00:35:36

Für Alles gibt es ein erstes Mal. Ich kann mich noch daran erinnern, wie ich das erste Mal einen Programmcode kompiliert habe. Das waren damals Turbo-Pascal-Schnipsel und ich erarbeitete mir im Selbststudium genug davon, um eigene kleine Spiele unter DOS erstellen zu können.

Paradoxerweise programmiere ich trotz Informatikstudium heute eher weniger als damals. Meine Webseite ist im Prinzip mein einziges Bastelprojekt, in dem ich mich austobe wenn ich etwas Erholung vom Universitätsstoff brauche. Ganz ungestört für mich selbst zu entwickeln hat auf jeden Fall seinen Reiz, umso mehr wenn die Besucher meiner Webseite dadurch auch noch tolle neue Features gewinnen.

Erst vor ein paar Stunden hat es für mich noch ein anderes erstes Mal gegeben: Ich habe gerade das erste Mal Quellcode von mir frei lizensiert und veröffentlicht.

Software Reuse

2011-12-05, Dept. of Computer Science, University of Hamburg

Software Reuse

This talk was held in the seminar course for the module Software Architekture, which was organized by Carola Lilienthal.

The content was modeled after chapter 16 of Ian Sommerville's book "Software Engineering". I summarized the chapter's contents and added an additional key point which I thought was lacking in the original text. I also showcased an example to illustrate the consequences of practicing (or neglecting) software reuse.

GPGPU and Stream Computing

2011-06-30, Dept. of Computer Science, University of Hamburg

GPGPU and Stream Computing

This talk was held in the seminar for the course Parallel Programming and dealt with general purpose computation on graphics hardware and fundamentals of stream computing. Building on previous knowledge about computer architecture and parallelization strategies, I contextualized GPGPU and introduced stream computing as its background. I then demonstrated a few modern languages and technologies (CUDA, OpenCL) and briefly touched upon compilation processes (NVIDIA PTX, AMD IL). The talk ended with perspectives on programmability and efficiency of the technologies and a short overview of the latest trends.

A small C puzzler

2010-12-02, Dept. of Computer Science, University of Hamburg

A small C puzzler

This Lightning Talk was held at the KunterBuntesSeminar organized by computer science students at the University of Hamburg.

In these slightly more than five minutes I showed a small snippet of C code, explained referencing and dereferencing operators as well as macros, and posed a tricky question about a bit of C code that combines those concepts in a particular way. I then proceeded to explain the compiler behaviour that caught my fellow students by surprise by looking at the 99 ISO standard.


2010-03-30 23:23:24

If you have previously read about esoteric programming languages, you may already be familiar with Piet. In case you haven't: Piet is a programming language in which program flow is specified in a graphical format.

In a nutshell: The focus moves between continuous blobs of pixels of the same color, the "cursor" starts off pointed to the right but may be rotated, colors correspond to opcodes (arithmetic, stack manipulation, I/O) while the number of pixels in one continuous area denotes that same integer.

A quine program with a twist

2010-03-26 11:35:08

From Wikipedia:

In computing, a quine is a computer program which produces a copy of its own source code as its only output.

Quines like that are known to exist in every Turing complete language. Examples can be found in the Wikipedia article linked above and elsewhere on the net.

Then there are the programmers who are not satisfied with just regular exceptionality.

Modeling stateful systems in Java

2009-08-28, Dept. of Computer Science, University of Hamburg

Modeling stateful systems in Java

Abstract: This paper deals with implementing stateful systems in the Java programming language. The state pattern is explained and applied in several ways to a simple example. Other design ideas are then discussed, specifically the use of modern Java capabilites, deviating from the structural properties of the traditional pattern.

This paper was written for the "Concepts of object-oriented programming languages" that was conducted by Axel Schmolitzky and Christian Späh in the summer of 2009.


2009-06-24, Dept. of Computer Science, University of Hamburg


This talk was held during the Lightning Talk session in the KunterBunteSeminar, a workshop conducted by the students of the Computer Science department, University of Hamburg.

Explaining a rather simple example step by step, I introduced the participants to the idea of polyglot programs. I showed how some typical polyglot techniques work by highlighting them on a hybrid C/PHP/bash program that fits on one slide.

After that, we briefly looked at some rather frightening examples of polyglot programming combining many languages.

This talk was aiming for amusement over learning. As such, it was rather light-hearted, though well-received. Trivia: It set that day's record for most slides to successfully go through in 5 minutes (50 slides in this case).