Due to the “Canvas evaluation moderator” GtkTask, I’ve been informing myself quite a lot about the different available canvases and their possibilities, and one concrete feature available in some canvases grabbed my attention: timelines.

Timelines could be beneficial not only for canvas, but probably toolkit-wide to some extent, as people wants bling here and there, and animations are a part of it. So I began experimenting with a timeline object (which I’ve just submitted to bugzilla, see #444659) and the results don’t look bad so far:

Useless animation (Code)

Useless animation, applied (#328090)

Giggle 0.3 released

It arrived! the third release of giggle! Slimmer and faster than ever! Here are the relevant links:

Visit the project page for more information!

Call for artists and tango lovers: Giggle is still (still!) in need of an icon! Is there any brave artist ready to bite the bullet and create one? :)

First Free Software University Contest

I’m heading to Seville a bit later this evening, it’ll be great to meet the contest participants and some friends and see Seville again!

It’s never too late to meet again

I’m still here in Galicia visiting a friend in Santiago de Compostela, after spending the last few days in the excellent Guademy, which was a great opportunity to meet old friends and new people from both sides of the free software desktop. Here’s a minidiary I composed:


Arrived at A Coruña in the evening, met some of the organizers, went to the conference place (The university of A Coruña) and witnessed the more wildest university party I’ve ever seen, 2 huge tents with concerts, lots of people drinking outside, in the corridors, in the classrooms… Street Fighter and Fifa ‘0X competitions in projectors, a DJ… It’s totally irrelevant for the conference, but was awesome enough to tell :)


First day of Guademy (which means GUAdemy DEstroys MYths), funnily
enough, there were two crossed laser sabers and the GNOME/KDE logos in
the posters. Missed the beginning of the inauguration (Some local politician talking about how good is collaboration and such, would like to see them apply this too :P), highlighted talks were about the QT Java and python bindings and two about GTK+, mine and one about using threads with it.

My talk finally turned a “How to use the latest APIs”, seemed more popular, and was indeed welcome by the public.

After that there was a talk about Kuiserver, a KDE oriented solution almost equal to Mathusalem, I absolutely think that Kuiserver and Mathusalem should join efforts and at least share the DBus spec, lots of users would be thankful.

After the talk finished, dinner in the same place (they brought pizzas and galician empanada) and after that the queimada, done with pretty strong alcohol, coffee, sugar, fire, and what could seem a satanic rite to strangers (at least, Aaron Seigo was looking quite puzzled)


First talk was about developing applications in KDE4, the author was so excited about this that turned a 1h talk into a ~3h one, delaying the whole day. I was late that morning, but it seemed to me more about using KDevelop than about programming, but they have a great IDE for the environment indeed…

After lunch there was a football match, being the result GNOME 5 – KDE 2, go GNOME!

Other highlighted talks where about the build brigade, using valgrind (KDE oriented), system-tools-backends (mine, got good public response here), tinymail and the state of KDE (by Aaron Seigo)

That talk was about how exciting was KDE4 and all the new technologies it introduced. It’s fun how many of them are based in, or how do they resemble things that are already in GNOME (although they try to support native APIs somewhere):

  • Accessibility support: they’re shamelessly using ATK though DBus :P.
  • Okular: is it me or it looks like evince? maybe poppler is responsible…
  • Usability studies: a HIG!
  • Phonon: with a Gstreamer backend
  • Solid: with HAL backend
  • Decibel (VOIP service arquitecture)
  • Akonady (contacts and messaging store): e-d-s? it seems they’ll se it more widely, though
  • Sonnet (Spelling and grammar checking)
  • Kross (Application automation, scriptability)
  • ThreadWeaver (Easy multi-threading): easy to use worker thread

  • Strigi: like beagle and the useful-for-all tracker.
  • Plasma (workspace evolving): maybe I didn’t get it, or wasn’t attending properly, but after all the “it’s going to be
    incredible” speech, he showed a mixture of beagle and the “run
    application” dialog.

After that, an excellent dinner, featuring octopus and other regional dishes and lots of beer, and after that some more partying…


Last day, woke up soonish to the conference place, rumors said that Aaron Seigo arrived at 9AM to the hotel, and some people was “wow, the KDE people likes party”, they don’t know us… :P

Seen the Buoh, Okular and “Freedesktop integration” talks. It’s curious how almost every feature highlighted in the Okular talk is already present in Evince, and the funniest phrase of that talk: “Yeah, I know it’s slow, but it’s KDE 4” :P.

the “Freedesktop integration”, by Rodrigo Moya, was just an overview of what we have right now, some slides about why shouldn’t we be “fighting” between ourselves and aim to the other OSs share (rough numbers were Linux Desktop: 1%, MacOS:10%, Win: 89%), and the missing areas to make an user switch seamlessly from KDE to GNOME or vice versa, without any loss of relevant information.

Other conclusions

The KDE people was fun and friendly, and all the flaming was just for fun, but it’s easy to assume that the more involved people won’t spend their time flaming seriously. I’m really looking forward for the next Guademy :)

Time to giggle!

As Micke promised, the GIT interface would be released soon, and soon is now! Here’s the announce:

Giggle 0.1 Released!

What is it?

Giggle is a GTK+ based interface to GIT, providing developers a way to browse and visualize graphically revision trees, change logs, diffs, and other useful information.

Where can I learn more about it?

Visit The project page for more info and screenshots!


MD5: 26f43b6e79bd27701daeb83281cf1966

Hopefully it will be useful to many developers, there are many interesting features on the way and don’t forget that it’d be great to have your feedback :)

Managed to move my butt

Man… It’s been a lot of time since the last time I blogged, but it hasn’t been because of lack of news, here’s a quick update (in reverse chronological order):

New Job

After being a while searching for a good job, I have recently joined Imendio! They’re a bunch of nice and smart guys with interesting things to do, looks like exciting times lie ahead…

Here I go!

new g-s-t in GNOME 2.18

During the last year a lot of effort has gone into the DBus branch of the gnome-system-tools stack, lots of code have been refactored, brushed and polished to make it look better than ever (or maybe it’s me, who knows how its guts look like :). It’s really nice to see it getting at last in a stable GNOME release.

Trip to Egypt

Incredible, it was totally restless, but when you return home you’d just want to go back to see more wonders… Here’s a couple of photos to illustrate

Medinet Habu

The Nile from our floating hotel room

And when you think people can’t get dumber…


Ben Maurer will be glad to read that the problem he described with system-tools-backends (which I was already aware of…) is being worked on the c-dispatcher branch. It’s still experimental and requires a bit of tweaking in g-s-t to pass messages around, but it shows a writable memory usage of ~160KB during init, that’s about 57x smaller, quite nice for a couple of evenings working on it, isn’t it? ;)

On other hacking related news, I’ve been fixing a bunch of GTK+ bugs, and it’s getting funnier by the minute, I think I’ll spend more time with it.

Random facts

When walking to the subway yesterday (some hours ago) I noticed that in front of a nursing home for the elderly there was a huge sign announcing funerary services, what do they want to get with this sign? letting them know they’ll be trying to suck their money even after their death? making them even more aware of what awaits them? whatever the answer is, I found it a quite disgusting sample of how uncaring and egoistic may be society…


Let me say you that you’re then the second last human being without mobile phone :) (I should buy one soon too, though…)


When I left my last job I promised myself to find an exciting job… didn’t get that, but instead I’m seizing time and travelling a lot. In a few hours I’m travelling to Egypt to spend there a week, it’s the 9th country I’ve visited this year, but I find this one pretty exciting! I’ll continue my job search after this travel :P


Just returned from the GNOME developers meeting celebrated in Zaragoza (Spain). It has been quite productive, with workshops about the longstanding GNOME-Hispano project “libro de programación en GNOME” [1] and Evince (courtesy of KaL) and Planner (Courtesy of acs) hacking sessions, there came new people interested in GNOME development [2] and of course we were partying overnight too!

On my side, I’ve also managed to make g-s-t, liboobs and s-t-b releases, and porting to the DBus architecture 95% of the cool patches by Darren Kenny and (I think) Erast Benson to add support for OpenSolaris and Nexenta, with this patch I think s-t-b 2.0 is very close!

[1] a GNOME Development book in spanish
[2] and also some known people didn’t appear, Rodrigo! Telemaco! we missed you!

On Ubuntu and g-s-t

After reading several comments on the Umbrella project, and talking with Michael Vogt and Daniel Holbach I had to drop my feelings about the whole thing:

As a developer

Pros: Perl “sucks”, it doesn’t suck per se, but not getting contributions *sucks* [1]. Python on the other hand is hype, currently there’s much more people willing to contribute coding in Python than coding in Perl, but that’s not news.

If there’s a Python replacement for the backends, I bet that there will be much more people willing to look at that code, and that can easily translate to more contributions, so if a framework to add support for other distributions is done too, that will make many people happy [2].

I strongly believe that s-t-b concept and structure is the right way, but experience forced me to think that it was in the wrong language.

Cons: Maybe most of the concepts would be reused, but there would be heaps of code that wouldn’t, the project status would be almost resetted to 0, it would go from supporting tenths of distros to supporting 1.

The big plan behind s-t-b, dbus, liboobs and g-s-t wasn’t just ditching the XML interface, it was to split things down to make contributions as painless as possible at any level (DBus also allows to do things that were nearly impossible with the XML interface, but that’s a different issue), For example the codebase in the backends has been shaved to 11KLOC (according to sloccount, much of it is common boilerplate, specific code for one distro must not reach more than 300-500 LOC). I’d like people to have a look at the code modifications before willing to replace parts of it (the new g-s-t structure also allows that quite more easily)

Replacing the frontends with python scripts is a different horse, reusing just the g-s-t glade interfaces reminds me what my beloved mentor Chema (RIP) told me once about RedHat doing the same a long time ago


I’ve failed, I once thought that s-t-b would be an excellent collaboration framework for distributions, the reality is that the only big distro using it now plans to switch, some other distros ship g-s-t as a curiosity and others don’t do that at all. The patches from distros, although very appreciated, have been very few, so s-t-b is miles away from where it could be (Maybe it’s just my lack of leadership, or that I’m a poor unemployed guy and don’t represent any big FS company, who knows)

In the case that Umbrella tries to do a multidistro framework (I bet it will success over s-t-b with time, people love Python after all), I don’t think I will collaborate regularly with code, I’ve been struggling with g-s-t for more than 4 years, and I’m not willing to start the very same thing from scratch. However, I’m fully available to give advice, after all I think I earned enough know-how on the subject.

I really hope that people won’t think I’m pissed off, Michael and Daniel are quite happy with their decision, if they are happy and take this to the end, I’m happy too. It’s just that I’m a practical guy, and I should focus on other parts of the desktop where my code would be more appreciated.

And now, off to my guitar lesson…

[1] Really, I think I could count contributors to s-t-b in the last year with the fingers of one hand. even my last post got no response at all
[2] You wouldn’t believe the ammount of people that tried to convince me to rewrite s-t-b in Python