Technology
Task Manager with Focus on Usability: dropandforget
Netgear WNR612 Classic Wireless Router – Good Value for Money

Surprisingly much for the price of 299 SEK: while the range is rather limited, the router features a separate guest network, an intuitive and comparably well-designed user interface for router management, okayish help information, humble packaging, factory defaults easy to find, a short Ethernet cable, and two years guarantee. Good for private use. Quality needs to be appreciated!
Version Control on Top of Dropbox
Public Transport in Munich now on Google Maps

Finally! Now it is possible in Munich to look up directions and connections with public transport on Google Maps (bus connections are still missing!). According to Süddeutsche Zeitung, this took MVG (the local company responsible for operating public transport) a whole man year to finish the interface to Google Maps.
Quick-fix for X11: Typing Å on German Keyboard
Rudimentary Recognition of Spoken Words at KTH

Pattern recognition (EN2202) at KTH Stockholm turned out to be a very good course, concerning lecture, exercises, and the accompanying project work. Together with a fellow student, we created a rudimentary recognizer for spoken words. It is far from production quality, of course. While a good part of the coding has been prepared for the students, the task left enough freedom to play around with hidden markov models in the context of word recognition.
Recognizing Textured Planar Objects with OpenCV

How can we recognize textured objects under the assumption of planarity in images? OpenCV provides extensive support for this task, and helps with local feature extraction, fast approximative matching, and robust model fitting. This article describes a minimalistic detector based solely on OpenCV for all vision subtasks, and also offers pictures, videos, and the source code.
The Viterbi Algorithm and Breadth-First Search
Arch Linux: switched to systemd
Rotating Backups with rsnapshot
Olve Maudal and Deep C++

Wonder about the depths of C++? Wonder why the code you wrote yesterday no longer works in the morning? Olve Maudal stated on TNG Big Techday 5 in Munich that you ought to look under the hood when you want to understand more about C++. His key statements were: C++ is fast and powerful. Yet, a shark is always lurking in your back, so have an appropriate model in mind. I enjoyed the talk, for more about this, see Olve Maudal’s blog and the freely available slides on the topic.
Mappotino: A Robot for Exploration, Mapping, and Object Recognition
Template Tracking using Hyperplane Approximation
Tracking an object over a sequence of 2D images is a challenging task. One approach uses a linear mapping between observed intensity differences and target motion; this is presented in the paper Hyperplane Approximation for Template Matching by F, Jurie and M. Dhome. Here are some results from an implementation in Matlab by a fellow student and me.
Fix for Wireless Presenters and Flash-based Full-screen Prezi
Reinventing the Wheel: Panorama Stitching with Matlab

A set of images that have some common overlapping regions can be stichted together to form a panorama picture. Some recent camera models can even compute the panorama picture internally and do not require post-processing on the computer. While this is a problem that has already been solved (for example, there is AutoStitch, here are some hints on classic DIY-panorama-stitching using Matlab, SIFT, DLT and RANSAC.
Saving the Parrots with Homogeneous Coordinates

A well-known result from linear algebra is that one can use a matrix to represent any linear mapping between two vector spaces. While rotation is a linear mapping, translation unfortunately is not. But, wait… by adding another dimension to the vector space, and by interpreting the vector coordinates correctly, we are able to perform rotation and translation with a single matrix multiplication! This article describes how to restore a fragmented image with the help of homogeneous coordinates.
A Connection between Motion Blur and the Fourier Transform
Motion blur usually occurs in an image, when the camera was moved with respect to the subject. Motion blur has an interesting effect on the Fourier-transformed image, as pointed out by D. Burschka at University of Technology, Munich. Here is an example how the Fourier-transformed images of toy images look like that have been subject to motion blur.
Disabling hot-corner effect in Gnome 3
When using Gnome 3, one can access the dashboard by moving the cursor to the top-left corner of the screen. As it turns out, I always kept accidentally moving the cursor to this “hot corner”, thereby opening the dashboard involuntarily. Here is a small hack that disables this hot-corner effect. You are still able to show the dashboard by activating the “super” key.
Dual-booting Arch and Ubuntu with LVM on top of LUKS
Encrypting your hard drive is generally a good idea. Yet, the encryption renders dual-booting a little more difficult. Here I briefly sketch how I installed Ubuntu in parallel to an existing Arch installation on a LUKS-encrypted drive.
Team Black Sheep presents amazing stunts with first-person-view RC plane
Being suprised by a low-flying unidentified objects? Maybe it was just a remote-controlled airplane by Team Black Sheep, who were giving a talk at TNG Big Techday in Munich on 2011-05-27.
Sampling from a Poisson distribution - a benchmark
Having a poisson-distributed random variable X, how can we efficiently generate samples (or say realizations) of that random variable? This article shows how Knuth’s technique can be derived and it also indicates that the Ratio-of-Uniforms method is quite efficient.
Understanding someone else's source code
Who has the luxury of working on a green field project where you can write everything from scratch, and thus feel in control about your code? I usually don’t. There are several good reasons that force programmers to develop their skills in reading code they have not written by themselves. You might want to add a feature (extending existing code), fix a bug (maintaining existing code), look for inspiration (learning from existing code) or integrate functions into another project (reusing existing code). All of these goals require you to read code.
Enhancing Details with Unsharp Masking
Unsharp masking is an image enhancement technique that sharpens an image and highlights fine detail and put more weight on edges. By subtracting a blurred version of the original image, one obtains an unsharp mask that in turn can be added to the original image. An easy-to-digest explanation can be found in the “GIMP help pages”:file:///usr/share/gimp/2.0/help/en/plug-in-unsharp-mask.html. Here is an example of a picture before and after unsharp masking:
Nearest-Neighbor-Resampling in Matlab
This article shows the derivation of an algorithm for resizing images in Matlab, using nearest-neighbor interpolation. Scaling an image is mathematically just multiplying image coordinates by a scaling factor. Surprisingly, when dealing with digital images, the scaling process becomes a little bit more complex.








