Detecting default arguments in Ruby

When defining a method in Ruby, you can define default values for optional parameters. When calling the method, Ruby sets the default value to the local variable as if the user would have provided this argument. This automatism is really useful to support optional parameters with sensible defaults without having to think much about this. It even works exactly the same with the new keyword arguments introduced in Ruby 2.0.

» Read more

Speeding up Git at Planio

This is a story about how a significant increase in the number of Git repositories at Planio resulted in a noticeable service slowdown and how we were able to not only fix this but to provide a sustained speedup of the whole service.

» Read more

30 Minute Timeout

After sitting days after days behind my laptop without much change of environment at all and starting to get really tired I thought I might go out, face the cold, and grab a nose-full of fresh air, taking the camera for a walk.

» Read more

FrOSCon 2010: Redmine, und dann?

Am 21. August 2010 war mal wieder FrOSCon in St. Augustin (bei Bonn). Und ich war dabei, vor allem um einige Open Source Projekte näher kennen zu lernen, Leute zu treffen und vor allem, um dem Redmine-Vortrag von Felix Schäfer zu lauschen.

Aus Gründen war der Felix leider verhindert, sodass ich mich spontan bereit erklärt habe, den Vortrag zu übernehmen. Damit hatte ich meinen ersten Talk auf einer Konferenz. Und mit nur ca. 3 Stunden Vorbereitung war der dann sogar ganz okay.

» Read more

Cross-browser CSS gradient

Recently, I released a new version of the Redmine Checkout plugin. This release sports a nifty protocol selector with buttons styled entirely in CSS (as good as it gets). To be able to support as many browsers as possibly while not having to fall back to pixel graphics I had to apply some tricks which I want to describe here.

» Read more

Sane Opensolaris Settings

Opensolaris has done some huge steps towards being usable by a normal person. Sadly there are still some things lacking sane defaults which I try to provide here. I will try to update this post if I stumble over more of these hiccups.

» Read more

Chili con Carne

Angesichts des sehr pünktlich angebrochenen Oktobers und der damit verbundenen Kälte wird es wieder Zeit für Wärme von innen. Und was ist dafür besser geeignet als ein ordentliches Chili?

Richtig: nix. Und genau deswegen habe ich mir gerade eins gekocht. Puristen mögen die Länge der Zutatenliste oder die Existenz von Bohnen bemängeln. Die Vielzahl sich ergänzender Geschmacksrichtigungen und das unglaubliche Umami-Aroma von Fleisch, Tomaten und Chilies sind es aber absolut wert, als Banause bezeichnet zu werden.

» Read more

Vertikales Ausrichten von LaTeX-Blöcken

Der oder die Eine oder Andere wird vielleicht mal drauf stoßen, dass man in LaTeX-Tabellen die vertikale Ausrichtung von Elementen nicht direkt bestimmen kann. Das ist sehr ärgerlich, wenn man zum Beispiel Grafiken in einer Tabelle setzen will und sie vertikal zentriert in den Zellen ausrichten will.

» Read more