Two Weeks of Hacking Sapwood

13 08 2010
During the past two weeks I was assigned to work on sapwood a little more than usual. My current goal for sapwood is to drop the GDK based rendering (which will disappear from GTK+ 3.0 once Company's rendering-cleanup branch gets merged). The transition towards a cairo-only core of sapwood will also be required in order to properly integrate with Carlos' work on the new GtkThemingEngine API (which is supposed to land in 3.0 as well).

So I spent the last two weeks developing test cases for sapwood's rendering results. After finishing those, the real refactoring started. Right now, the cairo-transition for SapwoodPixmap is almost finished (the part in the theming engine that does the actual drawing).

I also finally got around to refactor the image cropping code (it was actually doing very similar things four times due to copy'n'paste and the short time available when developing this feature).

A little path bar widget

11 06 2010
So, this week I finally decided to implement a path bar widget for one of my pet projects.

There have been some implementations on the net, e.g. a breadcrumb widget with GTK# in C# (download). However, instead of reworking this, I decided to implement such a widget in C from scratch.

This week I developed a prototype path bar widget (which isn't by any means a complete implementation). However, if you think it's useful, feel free to fork the code, you can also provide patches and I will apply them. However, I already merged this code into the project it was developed for, so my fixed are not likely to end up in the prototype repository.

Take a look at the README file to see what it does and what it doesn't do. And here's the video you are looking for:


A tiny helper for your unit testing…

06 04 2010
I wanted to get a little closer to the "writing tests first" paradigm. But I realized that it was too painful to execute "make check" (or whatever) after my changes, I decided to develop a graphical front end to the GLib/GTK+ unit testing system: Gutachter

Gutachter displays a test failure

Packages for Fedora 12 are available, for other distrubutions you can kindly ask…

A big Thank You! goes to Andreas, who created the icons for that project quite some time ago (and actually for a different project, but here we go).

Happy using, bug reporting, hacking and happy translating

Peer-to-Peer DBus over TCP

03 03 2010
When I was searching the web, I didn't find some proper documentation about this, so I started to develop some bits of code to show how a peer-to-peer connection on TCP can be established between a DBusServer and a DBusConnection. With this connection, I can properly invoke methods from remote objects (and with a little bit of avahi-voodoo, clients can automatically connect to each other).

First Steps with Tracker

11 02 2010
As I‘ve been happily trying out the OpenSuse Build Service, and I wanted to have a presentation about it at the Lanedo apres-conference, I decided to package a recent version of tracker.

I managed to package it within an hour and then decided to need a use-case for these new packages. I picked GNOME Launch Box and after some hacking, I managed to properly replace the application search module by a tracker based module. It was pretty straight-forward to develop that module (after getting a bit into SparQL).

I even ended up doing some more cleanups and finally dropped libgnomeui and libgnomevfs.

I'm really looking forward to replace even more backends with tracker-based ones.

FOSDEM 2010

11 02 2010
Last weekend Lanedo brought its hackers to Brussels, mostly for attending FOSDEM. We‘ve had a delicious joint dinner on Friday evening and attended the conference on Saturday. Just as in the past, the conference has been nice with all the people around and all the good talks.

I mostly spent time in the GNOME presentation room and the hackers room upstairs. Even though I decided for a pet project to be developed during the weekend (some random widget that will be developed later), I ended up doing something completely different (will blog about it later).

On Monday we‘ve had a nice apres-conf with the Lanedians at the hotel. We got a presentation of the first year of Lanedo in the business and a nice presentation about future plans of the company.

After flying back with Tim and Martyn, we realized how warm Brussels actually was. Hamburg was a lot colder, totally snowy, windy and the footways are icy and really dangerous.

In the afternoon I will visit the new Lanedo office for the first time.

Time, Time Zone and the total mess… (continued)

30 10 2009
This blog post is intended to be a reply containing the information that I would have needed abut half a year ago:


  1. as Jürg has correctly pointed out: gmtime() would have helped me a lot (but isn't portable)

  2. as I realized during the last week, replacing mktime() with timegm() would have properly helped, too



Going along with timegm() also yields exactly the results that I expected. This makes things a little easier as all the times in my application are UTC times and will properly get converted into local times when using… It also allows things to become a little easier as I can assume that all times in my application are UTC times.

So right now, I'm trying to get the g_timegm() patch into glib, so there is a portable, threadsafe (as in “does neither modify your environment variables nor use static variables”) implementation people can use in their applications.

Maemo Summit 2009

09 10 2009
Thanks to Lanedo, I'm able to visit the Maemo Summit this year again.

I'm pretty excited about the things they will show off there.

ThinkPad X200 Tablet

11 09 2009
Lanedo was so kind to offer a notebook upgrade for me and on Tuesday I happily received a ThinkPad X200 Tablet.

I will spend the following weeks setting up the machine to replace my current X60s by Fedora 12's release date.

Wednesday evening I started to install Fedora 12 Alpha via USB pendrive and managed to get a bootable device. The screen was flickering like hell and, after a large upgrade yesterday, things are usable now.

The next step will be to get the Wacom tablet working. Fedora has a pretty recent Xorg server (Ubuntu is actually lagging behind this one); but the wacom drivers don't seem to work with it yet…

Auslosung zur Playoff-Runde der Europa-League

07 08 2009
Nach dem Debakel unserer B-Elf gestern gegen Randers FC steht wenigstens fest: Wir sind dennoch weiter!

Die Auslosung in Nyon hat nun grade ergeben, dass unser HSV am 20.08. auswärts bei EA Guingamp (bei Wikipedia; Pokalsieger 2009; wurde 2008/2009 nur 13. von 20 Vereinen in der französischen League 2) antritt und dann wieder das Rückspiel in der HSH-Nordbank-Arena am 27.08.09.

Wie üblich habe ich den Google-Kalender für die HSV-Spiele aktualisiert: HTML, iCal, XML.

Die Anstoßzeiten werden dann nachgetragen, sobald ich sie kenne.

Casio Exilim Z85

04 08 2009
Jetzt ist es gut einen Monat her, dass Anja und meine Eltern mir einen Fotoapparat geschenkt haben und ich wollte einfach mal ein bisschen zusammenfassen, wie sich mir die Lage nun darstellt:

Pro EX-Z85


  • Die Kamera ist sehr klein; sie passt in eine Handy-Tasche (»Handysocke«) und kann dann auch gut in der Hosentasche transportiert werden.

  • Die Kamera ist sehr leicht; auch das macht sie gut geeignet für den unkonventionellen Transport.

  • Die Kamera ist sehr schnell; nicht nur was die Zeit zum Einschalten angeht, sondern auch was das eigentliche Fotografieren betrifft (»Hey, mach' mal ein Foto!« - »Och nö, das war zu schnell. Mach noch eins!«).



Contra EX-Z85


  • Die Kamera ist sehr leicht (ja hatten wir schon); leider macht das die Kamera recht schwer ruhig zu halten.

  • Die Kamera hat keinen eingebauten Beschleunigungssensor; die Fotos müssen von Hand in die richtige Orientierung gebracht werden.



Fazit: für meine Zwecke eine tolle Kamera; die Fotos sind für mich tolle Andenken und die Qualität ist toll (wenn man der Kamera genug Zeit für den Auto-Fokus lässt). Für 130 Euro ein Schnäppchen. Wer Beispiel-Bilder sucht, wird bei meinen Gran-Canaria-Bildern Fotos finden, die mit GraphicsMagick einfach nur auf 1024×768 Pixel skaliert und bei FlickR - nach Bedarf - rotiert wurden.

Gran-Canaria-Fotos bei Flickr

02 08 2009
The Boss is always watching…


So, ich hab' grade meine Fotos vom Gran Canaria Desktop Summit bei Flickr hochgeladen:


Auslosung zur 3. Qualifikationsrunde der Europa-League

18 07 2009
Nachdem gestern ausgelost wurde, dass der HSV seine Spiele in der dritten Qualifikationsrunde gegen Randers FC (bei Wikipedia; Fairplay-Qualifikant; Ligafünfter in Dänemark) oder FK Sūduva Marijampolė (Pokalsieger in Litauen; Ligavierter 2008) bestreiten wird, habe ich den Google-Kalender diesbezüglich aktualisiert:

XML, iCal, HTML

Sie sind da!

18 07 2009
Diese Woche kamen meine Dauerkarten für die kommende Saison an; im handlichen Scheckkarten-Format werden sie mir sicher noch viel Freude bereiten:

HSV-Dauerkarte 2009/2010

2009/2010… Ich komme!

12 07 2009
So, ich hab' mir dann grade mal einen Google-Kalender eingerichtet, in dem ich die möglichen Spiele des HSV eingetragen habe. Als feststehende Termine sind nur die terminierten und definitiven Spiele eingetragen, alle anderen als Ganztags-Ereignisse über die voraussichtlichen Termine;ich werde den Kalender im Lauf der Saison dann weiter aktualisieren. Den Kalender steht in folgenden Formaten zur Verfügung:



Hier ein Beispiel für den HTML-Kalender: