Posted in: Privacy
Posted in: Unwichtig
Posted in: Unwichtig

So today I decided to move all my certificates from StartSSL to LetsEncrypt. Not only is StartSSL really a bad CA with recent problems, but also they limit you with several obstacles that just don’t make any sense. They really just want you to sign up for one of their “great” extended validation thingys. Over the last couple months they have really improved the web interface but still this is not enough to deal with today’s challenges of delivering secure connections to users easily. Their new APIs and StartEncrypt service are merely a late effort, trying to outbid LE with a worse service. Not worth the time or effort.

The biggest problem is, that today I run multiple domains on my server and I need to provide one single certificate with all domains via Dovecot / Postfix. StartSSL allows you to have up to five domain names in the certificates they sign. (For example and would be a total of two domain names) So I’ve ran out of the possibility of using all my domains with one StartSSL certificate. Well, LE offers up to 100 domain names in one certificate. Of course wildcard certificates would be nicer, but this will work as well.

I can really recommend acmetool as an interface tool with LE. I didn’t want any of that fancy magic stuff, as I use a nice webinterface to manage all my webhosts. acmetool generates the certificates after verification and puts them into a central location on the disk. It also manages renewals automatically, so I don’t have to deal with those either. Exactly what I was looking for! Setup is quite easy! Excellent job LE, on making this whole process open source and providing us with the possibility to build any client we want!

So, to summarize: acmetool great, letsencrypt even better, StartSSL meeeh.

Read the PostLetsEncrypt now used everywhere

Posted in: Codeschnippsel

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:

Credits to Philipp and Simon, for saving me lots of headaches.

Read the PostNo connection within eduroam WiFi at TUM

Posted in: Codeschnippsel

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:

Thanks to for providing this!

Read the Post“libGL error: unable to load driver:” fix

Posted in: Unwichtig

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”.

Read the PostBachelor thesis published

Posted in: Unwichtig

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!

Read the PostFeatured on Codementor – 25 PHP Interview Questions

Posted in: Web & Dev

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!

Read the PostProperly setup proguard for an Android project

Posted in: Codeschnippsel

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:

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::

Read the PostGit command of the day: git remote prune

Posted in: Zitate

Es wundert mich schon immer wieder, wenn Leute über Kapitalismus schimpfen, dann aber Apple Geräte verwenden, bei Aldi/Hofer oder bei Amazon einkaufen. Schade, dass Kapitalismus nicht in der Schule behandelt wird, würde vielen Leuten helfen…

Read the PostDein Kassenbon ist ein Stimmzettel!