No connection within eduroam WiFi at TUM

So recently I’ve not been able to connect to the eduroam WiFi at the Technische Universität München in Garching Forschungszentrum. I’m guessing the RBG is running some specialized DHCP server that is not compatible with the newest NetworkManager version in Arch Linux. So to fix this, edit the file “/etc/NetworkManager/Networkmanager.conf” and comment out this file like so: #dhcp=internal Credits to Philipp and Simon, for saving me lots of headaches.

“libGL error: unable to load driver:” fix

So I actually rarely encounter any problems with my Arch Linux, but sometimes they just want to see the world burn. Apparently after updating the mesa driver, so library got lost.

Easy fix:

# Arch Linux
mv ~/Android/Sdk/tools/lib64/libstdc++/{,.bak}
mv ~/Android/Sdk/tools/lib64/libstdc++/{,.bak}
ln -s /usr/lib/  ~/Android/Sdk/tools/lib64/libstdc++/

Thanks to for providing this!

Bachelor thesis published

So in the last four months (October 2015 to January 2016) I had the pleasure to work with the team of students at Texas A&M university. I got to experience a whole different culture of studying and learning – a different approach to tackle the issues of the future.

Compared to German universities, Americans have adopted a class like education even in higher education. While we at the TUM have to aggregate and learn most of the material ourselves, students at A&M tend to get the content and materials prepared in form of text books.

My main goal was to work on my bachelor thesis though, where I looked at a new way to develop web applications using Meteor and Angular to integrate wearables into the web-experience.

You can download the thesis here. It’s also on the website of the “Lehrstuhl für Betriebssysteme”.

Featured on Codementor – 25 PHP Interview Questions

I’m glad to be part of the amazing community at In the past years I’ve been able to talk and help many different people with a range of problems. Often some hints and good advice was enough to point them in the right direction and I really enjoy teaching other people. Codementor recently approached me and asked me if I could contribute some questions from my experience in the last years to their blog post “25 PHP Interview Questions”. I’m happy they found my suggestions useful and featured me in that article! Hope it helps some developers that are just getting to know the world of PHP and all its hiccups. Don’t forget to check out my profile on codementor!

Properly setup proguard for an Android project

When dealing with an Android project you want to use Proguard to minify, shrink and possibly even obfuscate the code. The gains from this are huge and many smart minds have put a lot of thought into Proguard. We encountered that the TUM Campus App shrinked from 20 Megabytes to just 9 Megabytes with all the optimization in place – huge savings if you deploy it to 10k+ clients! Really if you are not using this in your project currently you must be insane! Anyways if you rely on external Libraries like Retrofit (Which is totally awesome, use it!) then you need to add some proguard rules in order to tell it what not to remove from those libs because it is really required but maybe not directly used. Mostly that is some models which get serialized and you might encounter some warnings but those don’t really are not interesting to you as a lib user. This repository has a great collection on proguard files for various libs. Use it, don’t reinvent the wheel!

Git command of the day: git remote prune

In this series of posts I’ll document useful git commands ready to copy&paste which nobody knows by heart but you need once in a while. Today:

git remote prune <name>

From the docs:


Deletes all stale remote-tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in “remotes/<name>”.

    With --dry-run option, report what branches will be pruned, but do not actually prune them.

Very useful when working with Github and you just merged a PR then usually you also delete the branch on the remote immediately after. This does not however delete the branch from your local repository and over time it can get messy. With this simple command you delete all local branches which were deleted on the server. If your remote is called origin then just type enter it like so::

git remote prune origin

Der Erfolg von Cities: Skylines

Nachdem das Sim City von EA so ein Flopp war, ergab sich eine große Marktlücke. Mit Aktionen wie ‘nur Online spielbar’ und limitierter Spielfläche, die eher sehr mager war, hat man einfach nicht bei den Spielern Punkten können. Zwar wurden viele Dinge verbessert, aber gewisse Trade-Offs gemacht, welche das Spiel nicht zu einem Kassenschlager gemacht hat, obwohl die Vorfreude und Hoffnungen im Vorfeld enorm waren. Colosssal Order, hat in dem Moment die Ohren offen gehalten und mit dem Vorgänger Cities in Motion, der eher in Richtung von Transport Tyccon geht, eine solide Basis für ein Sim City gehabt. Folgende Punkte waren die größten Kritiken am alten Spiel: Online Zwang Limitierte Städte Größen Crappy traffic management City Interaktion ist zwar ein nettes Feature, aber keiner hat lust den Kontext zu wechseln und komplett von null anzufangen. Geld aus der Tasche ziehen mit DLC, der ein paar Wochen nach der Veröffentlichung verfügbar war Das Problem dabei ist folgendes: Gamer die solche Sims bzw. Strategie spiele zocken, sind Gelegenheitsspieler. Es geht nicht darum, immer die neueste Version zu spielen, sondern das Spiel muss gut und flüssig funktionieren. Der Trick mit DLC und Jährlich ‘neuer’ Shooter Edition (Siehe Call of Duty und Konsorten), funktioniert bei […]

Mikrofon Fail Ubuntu 14.10

Seit ich auf Ubuntu Gnome gewechselt bin, ging mein Mikro nicht mehr. Heute hab ich mir mal Zeit genommen das zu erörtern. Treiber wechseln, neu starten, etc. brachte alles nichts. Die Mikro Skala blieb auf null. Dann errinerte ich mich, dass mein Dell Notebook viele Optionen im BIOS hat, darunter auch eine die das Mikro deaktiviert. Windows hat diese Einstellung ignoriert, Linux machte das richtig. Nach dem aktivieren im BIOS, lief dann alles ohne Probleme. Top! Linux rocks!