Master’s Thesis

In a previous life I have written a Masters thesis. I handed it in at the end of March and have received my degree now. My university accounts have been closed and basically my university life is over now. For a long time I thought I would continue my academic career after the Master, but my experiences at university in recent years have made me rethink this heavily.

It’s somehow bitter that after handing the thesis in, I have traveled South America for a couple of months, moved to Berlin, found a job, worked for a couple of months and only now have received my degree. So in terms of starting a job, all the work I have put into my Master hasn’t been as helpful as I was hoping for.

I have published the thesis under a free license via the universities publication service. It is available there as a proper publication with a proper DOI which can be cited and stuff. The PDF is also hosted there.


FizzBuzz with Computer Science Undergraduates

During the semester break I was involved in the redesign of a computer science lecture for undergraduates (mostly in their second semester). The lecture is centered around programming topics, such as patterns or object-oriented programming and builds upon the lecture “Introduction to Computer Science”, which teaches basic programming skills in Java (amongst other stuff).

In the week before the semester started, the idea of conducting the FizzBuzz test with the undergraduates came along. FizzBuzz seems to be a popular game in schools within the UK and has gained infamous popularity, since some people started to use it during job interviews as a test for developers. The task seems to be quite simple, but more people than you might think do not get it right, when having to write it down on paper without any debugging utilities.

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

Now you might think “Pfffhh! I can do that!”. Well, you might want to try that out before reading on. So, we decided to conduct this test with the undergraduates in the mentioned course. The goal was to gather a better understanding of their problems and common mistakes. They were required to program the test in Java. The FizzBuzz test was the second task of the quiz, the first consisted of writing a simple class with a constructor and creating an instance of it. The quizz was not rated, the purpose was just to gather a better understanding of the students previous knowledge and problems.

I quickly want to highlight the most interesting results concerning FizzBuzz: of the 176 participants 28 students (16%) made no mistake at all. Leaving minor errors (syntax, type, assignment, etc.) out, five more students (19%) got the task right. 40 submissions (23%) had so much stuff missing, that they couldn’t be rated. Of the 33 students who got the task right (not taking minor errors into account), 21 reported having some programming experience before starting to study.

21 students (12%) made an off-by-one error similar to this: for (int i = 1; i < 100; i++) { ... }.
81 students (46%) made logical errors, along the lines of composing the if-conditions wrongfully. Wrongful code like this was very common (pseudo-code intended):

if (i % 3 == 0) print("Fizz")
else if (i % 5 == 0) print("Buzz")
else if (i % 3 == 0 && i % 5 == 0) print("FizzBuzz")
else print(i)

Note that the third if-condition will never get invoked. One reason for writing down the if-conditions in this order might be that the exercise text described the cases in this order. It seems to me, that the most failure-prone (but also most obvious) approach to the task might be to directly translate the exercise description into code.

The results of this quiz were discussed with the students in the second lecture.

“Any Questions?” Slides

sql questions
The infamous “Questions?” slide in SQL-Syntax

A while ago I got bored by the standard “Questions?” slide, which is in almost any presentation nowadays. So I thought about how to create more interesting questions-slides, which could maybe even make the audience smile. These are some of the slides I have come up with and used within presentations. Those presentations were usually directed towards a technical audience and the technical hints should have been clear.




Lambda Calculus

For a Psychologists Audience



Looking back on 2014

As I did for 2013, 2012, 2011 and 2010 here comes my recap for 2014.

In 2014 I dived further into typography, my main highlights were getting more comfortable with XeLaTeX, reading Robert Bringhurts “The Elements of Typgrahic style” and typesetting more content (especially the Short Story To Go). I also took a lot from hearing the lecture “Digital Typograhy’‘ by Dr. Borchert at Ulm University. Within the lecture I learned PostScript, MetaFont, TeX internals and more typographic knowledge. The lecture was an ideal complement to my interests and already existing knowledge. This was actually the second time I visited the course, the first time (2-3 years ago) it was too advanced for me.

Typography is to literature as musical performance is to composition: an essential act of interpretation.

Robert Bringhurst

The font I liked most was Lucas de Groots TheAntiquaB, which is the font used by the magazine “Der Freitag”. De Groot has e.g. also created the font for the “taz” and “Der Spiegel”. Another font I came to like very much is Friedrich Althausens (free) Vollkorn Font.

Best Paper
I finally read the original paper on the vi editor by William Joy and Mark Horton: “An Introduction to Display Editing with Vi”. Even though I work with vi on an everyday base, I still took a lot from the paper. In 2014 I strongly continued my efforts to understand the tools I regularly use, I feel that this paper deppened my understanding of the vi editor.

Best Photo
Well, this of course has to be the monkey selfie (see the Wikipedia if you missed out on that event).

Best Articles
In this article Markus describes his thought process on how to license his own work, discussing different licenses and at last deciding to put everything within the Public Domain (the article is in german).

Autonome Fahrzeuge: Wenn Software über Leben und Tod entscheidet ” is an article on some interesting thought-experiments: what if an autonomous vehicle has to get out of the way and unavoidably will ram either car A or car B — which criteria should be taken to decide which car to ram?

How Wolves Change Rivers” is an interesting article on the vanishing and re-introduction of wolves in a nature reservoir. The article highlights which unforeseen changes thus have happened to the landscape.

I love book covers. This article is full of brilliant ones.

The local press surprised me with an interesting article on underground passages in Ulm: “Zwischen den Bahnhöfen Ulm und Stuttgart”.

Best Blog Posts
I found this post a nice collection of LaTeX/XeTeX features: “Beauty of LaTeX”.

How to Write a Git Commit Message” held some insights and improved my way of writing commit messages.

Riding with the Stars: Passenger Privacy in the NYC Taxicab Dataset” is a post on the de-anonymization of data in a dataset released by the New York City Taxi and Limousine Commission. The author describes his process in detail.

Best Podcast
This is an easy decission: Hoaxilla #107 – ‘Waldorf-Schule’. This was one of those podcasts which totally opened my eyes. I grew up in a region where the so called “Waldorf-School” was a common thing and I never gave it much thought. I knew some people who went there and always somehow associated it with an education with a focus on nature. Little did I know of all the esoteric parts. It got even worse: after further reading on the topic it occured to me that some popular medicine manufacturer is also heavily based on Anthroposophy and some popular agriculture labels as well (German Wikipedia Page). Oh my.

I did a separate post on that topic.

Own photos
I like the two uppermost photos in the “Backpacking México and Guatemala” post a lot. I am also very satisfied with this photo, which I took on the Isle of Seurasaari whilst visiting friends in Helsinki:

The Killers — Romeo and Juliet, Chet Faker’s “Thinking in Textures” album, the Milky Chance “Sadnecessary” album, Tom Odell’s “Another Love”, Kendrick Lamar, Okta Logue.

Technical Stuff
Been using Arch Linux for the most part of 2014, I am very satisfied to finally having made the switch. Stuff I work with each day: tmux, ksh, mmh, nvi, git, dwm, uzbl, firefox, spotify. The tool that improved my workflow most in 2014 is mmh, a mail client in Unix style.

Words which stuck

Man’s mind, once stretched by a new idea, never regains its original dimensions.

Oliver Wendell Holmes

Weil, so schließt er messerscharf,
nicht sein kann, was nicht sein darf.

Christian Morgenstern (from the poem “Die unmögliche Tatsache”)

Imagining the future is a kind of nostalgia. (…) You spend your whole life stuck in the labyrinth, thinking about how you’ll escape it one day, and how awesome it will be, and imagining that future keeps you going, but you never do it. You just use the future to escape the present

John Green, Looking for Alaska

Each word I write drops a little more of me onto the page. In time, I will be the book, the book will be me, and the story will be told.


I found this definition of privacy very striking:

Privacy is the condition of being protected from unwanted access by others.

Sissela Bok

Own Projects
Did a lot of stuff in 2014, the most important ones to me were:

The GTFS visualizations
Once I had the idea, I described and sketched it to a guy at university. He told me it was “senseless”. This decreased my motivation enormously. However, I still managed to finish it. The GTFS visualizations have been very nicely received and I am quite proud of this project. Others have done visualizations for other cities with the tool or extended the project. I printed two DIN A1 posters and since early 2014 they are now proudly decorating our living space.

The Short Story 2 Go was a great success. I am very proud on this project.

With the Scratches project I am also very satisfied. Still looking for a way to present the resulting images in an exhibition or something similar.

I had the idea for the reworking typography series in mind for a long time. In 2014 I finally managed to finish two pieces: The Last Question and Hibernation.

The “Kunst oder Kitsch?”-Installation was a “real-world” project and I learned a lot from building an installation that ran for three months and had a couple thousand visitors.

The fragdendienst-project was probably one of the society-relevant projects I did so far. I am proud of the reality-affecting context of the project and the fact that it runs in production.

Also I finally took the time to complete some unfinished projects:
Comic Strip – Why you shouldn’t mail *.doc files
The Principles of Datalove — Audiomashup
Exploring the ZEIT ONLINE API

In 2011 I did a project — Ulm Timelapse. Dirk Maasen has recut the video into a visual accomposition to fit his musical piece Dirk Maassen feat. An imaginal Space – Lichter. The resulting video is amazing and I could not have wished for such a beautiful work building upon stuff which I did.

Good decisions
In early 2014 I switched my newspaper subscription from the taz to Der Freitag. This has proven to be a very good decision. I draw a lot from regularly reading it, mainly improving my general knowledge and staying informed on what happens in the world. I find that reading a newspaper gets me to read articles, which I would normally not have read when glancing through online news sites.

Another good decision was to look after always having fresh plants in the kitchen. I found this to be uplifting.

University Life
Since April 2014 I have been working on the Mobile and Ubiquitous Computing Project at university. This has been a lot of fun for me, I haven’t written anything on this blog since, but I will after the project is finished (probably in April).

As part of my resarch assistant job at the university I have been working with the OptiTrack system. This is an expensive, professional optical tracking system and it was interesting to see how one develops applications for such a system and interacts with the API.

Best movie
A local cinema had a series of older movies running, I was especially keen by the Banksy movie “Exit Through the Gift Shop” on the topic of Street Art. I found the movie to be very inspiring and I was very enthusiastic for the days after watching the movie.

Looking forward to 2015
In 2015 I want to focus on my Master degree. I aim to finish it in the winter semester of 2015 (meaning I would be finished by April 2015). I strongly want to finish this chapter of my life and start towards new things.

Transhumanism Mashup

The transhumanist vision is to extend the human body through the use of technology in a revolutionary way beyond the natural human capabilities.

In 2014 I started the Mobile and Ubiquitous Computing Project at university and took the chance of creating some graphics for our project. The above mashup has been created using various photos/illustrations within the public domain:

The high resolution JPG and the PSD are available under the Creative Commons Attribution 3.0 Unported (CC BY 3.0) license.

Cross-Site Request Forgery (CSRF)


The Institute of Distributed Systems at the University Ulm runs the course “Practical IT-Secutiry” this semester. To me this was especially interesting because of the examination modalities: one does not have to take an exam, instead each student has to prepare and hold a lecture and accompanying assignments on a certain topic. I decided to dive deeper into Web Security and chose for Cross-Site Request Forgery (CSRF) attacks.

The presentation can be found online here. The preparation document for students was distributed one week in advance to the two-hour assignments (pdf). Assignments were based on the Metasploitable framework, the Damn Vulnerable Web App and TWiki. Additionally, I wrote some intentionally vulnerable PHP scripts with increasing levels of security.

All of this material (*.tex, *.html, *.pdf, etc.) and solutions for the assignments can be found in my talks GitHub repository as well.


Keeping this world interesting

“Bespaßung dieser Welt.”


Looking back on 2013

Last year a lot of stuff has happened for me. This will be a longer than average article, I am aware that you as a reader might lose interest while reading. However, I consider it as a braindump of stuff I don’t want to forget.

I had been living with four technology-enthusiastic hacker friends in a shared flat for 1-1.5 years. Quite sadly three of them went abroad. The Nerd-WG was an awesome time for me and I often miss the creative environment of the days back then.

In 2013 I eventually managed to finish my Bachelor of Science and start with the Master program. I totally underestimated the safe feeling of holding a finished academic degree. Whatever happens now, I will always have a science degree from a german university. This is very comforting to me.

I worked in several jobs at university. Mostly taking care of practical exercises for lectures. A highlight for me was to be responsible for the entire practicals of a lecture on web technologies together with two friends: Falco and Philipp who also write on the IOException blog. I am quite satisfied with the practicals and think we did a good job on setting up the exercises. We lay a heavy focus on the introduction of up-to-date technologies (node.js amongst others). I also worked as an assistant in two research projects. One is still ongoing and the other one is finished.

From one of the research projects I have been working at, the results have been very nice and we wrote a paper on the topic: “Broken Display = Broken Interface? The Impact of Display Damage on Smartphone Interaction.“. The paper got accepted at the CHI 2014, one of the major conferences in the human-computer-interaction field. For me this is a huge success and I learned a lot while working on the paper/project.

Another publication I was kind enough to receive was the publication of a summary of my bachelor thesis, which was published in the proceedings of the Informatiktage in Bonn (more info).

Creatively I also managed to get a short story published: “The Autograph” was published in The Sparrow Anthology Vol. 7, a poetry and prose collection from the University of Ulm. It’s a real publication, owning an ISBN and available in the german national library. To be honest, I am not that satisfied with the story, it was a very personal piece at a certain time in my life, and now that time has passed I view it differently. That’s why I won’t link it here.

Been to a lot of cities and events. Köln, Berlin, Geneva, Mexico-City, etc.. The event I liked the most was the Humitec Barcamp in Berlin. The city I liked the most was probably Berlin. But I also loved traveling to Geneva to attend the Open Knowledge Conference. There were certain mornings, where I would get up early in the morning, go to a Café/Bakery, sit down and order a bain au chocolat and a coffee. I would then just watch the surroundings, write a bit from time time, read a bit. Watch people coming in, grabbing themselve a quick Espresso at the front counter while standing there. I love to watch a city waking up, just to sit there and feel the flow of the city.

Short movie
Two stuck with me: Momentos is an exceptional example of storytelling. Forget me not stuck because of the photographic composition and musical underlying.

This extreme POV movie of a guy climbing one of the Stalin skyscrapers left me speechless and stands out.

A friend of mine studied Computer Science in a very intense way, received his Diplom and continued to receive a Master degree. He’s for sure one of the most competent computer science people I have gotten to know. However, he decided not to pursue a university career, nor participating in the software business. In this article he gives some insights on why.

This article inspired me to question my view towards intuitive user interfaces in a major way.

Blog Post
Build your own summary tool!” is a blog post on a naive implementation of a text summary algorithm. Since I always believed automatic text summary algorithms are highly complex and need a deep understanding of linguistics, it was quite surprising to see such an easy algorithm yielding surprisingly good results.

Quotes which stuck

Pragmatiker bringen die Welt nicht voran. Sie verbessern nur die Effizienz, nicht aber die Effektivitaet. Sie optimieren auf der gleichen Stufe, steigen aber nicht hinan. Idealisten sind es, die nach der naechsten Stufe streben. Sie denken nicht ans Jetzt sondern ans Morgen. Ihr Fortschritt aendert die Groessenordnung, nicht die Kommastellen, denn sie verfolgen Visionen. Sie stellen den Status Quo in Frage statt fuer ihn zu optimieren.

Markus Schnalke, Softwarebusiness

Sie aber zeigen nur auf das was sie wollen, neuerdings unterstuetzt durch Gesten. Ihre Kommunikation mit dem Computer beschraenkt sich auf die Moeglichkeiten eines Zweijaehrigen, unfaehig zu artikulieren was er meint.

Markus Schnalke, Computer Literacy

In the end programming languages are basically user-interfaces. You will get much better results if you think of it as UI design.

Alan Kay

Intellectual property” implies the belief that people can own and control thoughts. Phrasing it “Immaterial rights” is less wrong.

Peter Sunde

Great minds discuss ideas, average minds discuss events, small minds discuss people.

Eleanor Roosevelt

The way we talk to our children becomes their inner voice.

Peggy O’Mara

Best purchase
I was lingering for an Ethnotek backpack for a while and in 2013 I finally got one. I am very satisfied and have taken the bag on many journeys to many different cities. It fits my needs very well.

Best music/song/album
The Gil Scott Heron album.
The Oblivion Score, by M83
The Foals have been a highlight as well.

I found Giorgo Morodor talking about his collaboration with Daft Punk quite inspiring:

When I came into the studio everything was ready and I had three microphones and I said “Are they afraid that one microphone would not work?”. So I asked the technician “Why are you using three microphones?”. He said “Okay, you see the one on the left is an old sound of the sixties, one of the seventies and this is today.” “Who would hear the difference?” “Nobody”. So I said “So why is Thomas doing it?”. “Oh he said, HE would hear the difference.”.


Best movie/series
I loved the first season of Elementary—an american adaption of the Sherlock Holmes story. However, things are different here. Sherlock is a tattooed, drug addicted, narcistic, brilliant analytic, working for the police. Dr. Watson is a women who lives with him as a “drug sitter”, in order to make sure he gets clean.

There were several movies which I really liked in 2013. Standing out most are “Rush”, “The Place beyond the Pines” and “Night Train to Lisbon”.

reddit. I visit reddit a lot, not (only) for procrastinating, but rather as a news/information resource on topics which interest me. These are some subreddits which I have subscribed to: /r/Bitcoin, /r/Calligraphy, /r/dataisbeautiful, /r/minimalism, /r/openstreetmap, /r/sewing, /r/typography.

There is a local cinema here in Ulm—the Mephisto—this year it was bought and quite sadly more commercialized. Before it was bought and renovated it was a very small, alternative cinema showing mainly art house movies. Each Monday there would be a sneak night where a lot of students would gather, pay their three euros and see some random movie, which would soon be released. I loved the non-strict atmosphere, nice people everywhere. Even the cashiers were students having a lot of fun. With a friend of mine, Mone, I went there basically each week for about 1.5 years. Met a lot of people there each time and had a very nice time. On Monday the cinema would be full with people, sometimes pillows would be brought in and people would be sitting on the stairs at the sides, because the cinema would be full of people. Even if the movie was shitty, people would have a lot of fun. The atmosphere was very comfortable and the staff would often do little quizzes before starting the movie, giving away little prizes. After the quiz they would throw sweets into the audience and show some funny or dramatic short movie before starting the actual sneak movie.

Best photo
Of a persona? This photo taken by John Mayer. Of infrastructure? This german refinery.

Best photo I shot

I think, I’ll go with this one. I can’t objectively rate the photo, it has a personal meaning to me and I am quite satisfied.

Projects I did
A lot of smaller stuff, some articles for the IOException blog, continued the interview series there. Did some talks, some lightning talks and stuff. I don’t want to list everything here, but my highlights are:

When do students submit their assignments?
Firstname distribution at the University of Ulm

A Twitterwall, showing a stream of tweets on a topic.
An interactive map with open facilities in Ulm (using OpenStreetMap data): oeffnungszeiten.ulmapi.de.
differenziert.net: still didn’t get around to write an elaborate article on the platform, but will do so in the next weeks.

Five years ago I wrote a little website called myPresentIdea, the idea was to give people present-ideas based on a short characterization of the person they wanted to surprise. At that time I sat down and searched for presents, which in my opinion at that time would fit for a person with such a character. For most of the presents I would also display a link to an online-shop (when possible). For the presents linking to amazon I would present an affiliate link, meaning I would get a little monetary reward once somebody would buy the product via amazon. I sat the website up but never really continued working on it. Last year I checked the amazon account and realized there were about 20-25 euros in it. What a nice surprise! At one point I had even forgotten about the site.

I took this as an incentive to completely rewrite the site, it was originally created in PHP using the CakePHP framework and MySQL. The codebase was not that “sophisticated” (e.g. no human readable URIs). Of course it wasn’t sophisticated, I created that project even before studying. It took me about 5-6 hours in its entirety to rewrite the codebase in JavaScript (node.js) using the express and jade libraries.
Actually the whole process was on two train rides which I took on the same day. I went to another city in the morning (a three hour train ride away), spend some time there and took the train back in the evening. I also ditched MySQL and migrated to CouchDB. It was very nice to see how little time stuff like this takes if you are familiar with the technologies. The technology stack I have been working most with in 2013 is definitely node.js, express and CouchDB. Followed by Shell scripting.

The general Open Data activities within the university group we founded here stand out. I finally managed to update the UlmAPI-website with pretty pictures of all the nice stuff we have done (like the OpenCityCamp 2013 and various hackathons which we organized).

I did some illustrations for posters, ads, etc.. A tee I designed for a competition earlier this year was printed as a collection. Together with some friends I drew a comic as a birthday present for another friend. One illustration which I am also very satisfied with is this poster (click to enlarge):

58 T-Shirt contest

Rough plan for 2014
As each year (2012, 2011, 2010) here comes the outlook. I want to contribute code to a bigger (>1 person) software project. I want to get a scholarship. I want to publish more of my creative writings.

On the technological side: I really have to get rid of Ubuntu, this is way too much abstraction for me. I want to have a $ top output, which I actually understand. Arch is the next step. Also finally I want to gain a much deeper understanding of “the Shell”. I consider myself quite familiar with Unix, but in comparison to Phil or Meillo I am still in kids shoes. Also I want to finally get a Unix-style mailclient (mmh) and start learning troff.

About Me

I am a 29 year old techno-creative enthusiast who lives and works in Berlin. In a previous life I studied computer science (more specifically Media Informatics) at the Ulm University in Germany.

I care about exploring ideas and developing new things. I like creating great stuff that I am passionate about.


All content is licensed under CC-BY 4.0 International (if not explicitly noted otherwise).
I would be happy to hear if my work gets used! Just drop me a mail.
The CC license above applies to all content on this site created by me. It does not apply to linked and sourced material.