Skip to main content


Showing posts from 2015

Retiring from the Bonn Agile Meetup

Yesterday I organized my final meetup.

Back in February 2011, I invited to the first meetup, back then under the "XP" banner, renaming to be Bonn Agile a few months later.

So, wow, that makes it nearly 5 years, or 50 meetups after a rough count.

Most of these meetups were not organized by me though. I want to use this post for thanking the people who were around in the begining, co-organizing or just giving great feedback on how to get the meetup rolling.

I'm sure I'm forgetting some names, but +Patrick Cornelißen+Kurt Häusler,  +Frederic Hemberger, +Christoph Pater and +Jan Ehrhardt  took their share of the load back then until they moved from Bonn to other places. +Simon Tiffert and +Matthias Lübken provided valuable advice when starting up. As companies go, +tarent solutions GmbH+doo and, most of all +Data in Transit GmbH (big thanks to +Jutta Horstmann!) have been supporting the meetup since the very beginning, with +Viaboxx (my employer) hosting the annual S…

Android Voice Commands for Cyclists Listening to Podcasts or Music

Disclaimer: I do not recommend using earphones while on your bike, but there are times or roads where I think it's OK. Pull out your earphones when nearing potentially dangerous situations (like intersections). At least pause the audio.
These tips also apply to anyone unable to look at and touch their device, leaving voice commands their only option (useful for visually impaired people, people wearing thick gloves, etc). First of all, you need an Android with a fairly new version of Google Now installed, like Lollipop. You'll need a headset with a microphone button. I’ve got an iphone headset that works great with my old Moto G, excluding the volume control. You need to make sure that a connected headset can bypass the device’s lock mechanism. It’s in:         Settings -> Language & input -> Google voice typing -> Hands-free Your audio playback software has to work with the Google Now commands. I’ve tried Google Music and BeyondPod successfully. So, off we go! You’…

The Sweet Spot of Docker

I just stumbled across this "Ask HN: What is the actual purpose of Docker?".

After using Docker more and more over the last months, my answers have gradually changed. It used to be more hype-like, with "immutable infrastructure", "portable" and stuff like that. Now it's more practical, I feel I can say more concretely what our benefits are.

My favorite answer comes down to Docker being a standardized way of deploying and running applications.

The old way of deploying our software was complex with a taste of chaos, then became managed but complicated through the introduction of Puppet (or your configuration management tool of choice). I'm hoping Docker will nudge it more towards the simple (quadrant).

How we used to deploy (and still do) - most of these are done through home-made shell scripts we distribute using Puppet:

Installing Debian packages (mostly standard packages, sometimes from 3rd party repositories)Dropping WAR files into Tomcat (applic…

A Better Way to Git Push to Deploy (updateInstead & push-to-checkout)

Wow, nearly a year since my last post. I was sort of thinking it would be something more profound, but here goes: Git recently (with version 2.3) introduced a way of easily pushing changes into a remote non-bare repository, a.k.a. push-to-deploy. The old way would be to have a post-receive hook run some update logic which would do some procedure to update a non-bare repository. There now is a simple way of configuring the target repository to update its work tree instead upon being pushed to.

Now, pushing to the target repo may fail in cases where it has been modified, so soon after, a new push-to-checkout hook was introduced to deal with this, but it will only take effect in Git 2.4. I'll show how to set up both below.

Surprisingly, when searching for "push-to-checkout", I found very few articles about this, even though it was loudly mentioned on the GitHub blog (twice, and on StackOverflow, of course). So here's another one for the googles. Besides, I just wrote th…