Stuttgart here we come

Travelling: Tomorrow, after work, I’ll be leaving for Milan where I’ll pick up my girlfriend Marta, and then we’ll be heading Stuttgart for GUADEC 2005. Yay! Since Stuttgart is 500 kilometers (for youn non-metric-system people, roughly 310 miles), we’ll be going with my car – its waaaay more economic than taking a plane or the train, and it gives us a little more flexibility on the timings; I’ll need to get back to work on Tuesday, so we’ll be leaving monday at lunch (and, since we are in route, we will go to see Ulm). Pity that I can’t leave on Wednesday, and attend the whole conference.

It’s my first GUADEC, and I think it’ll be Just Fun® to meet some of the best Gnome hackers from all around the world.

I plan to meet with some fellow italian hackers, and with some other people.

Desktop bookmarks: the work on the specification proceeds, even if not as fast as I thought at first; the spec itself changed quite a lot during the first reviewing iteration: I switched from a XML-like markup to a full XBEL-compliant specification, with custom metadata for our bookmarks. Since this would require a full XML parser, I’ve created a GObject wrapper around libxml2 just for XBEL entities; it has been quite a ride, and I’ve learned a lot in the process. I plan to release this library, since it might be useful for Gnome-based browsers like Epiphany or Galeon (which already do use XBEL for storing their bookmarks). The work on the spec and the parser library also has brought me to make changes to the Gnome library: now it’s more complete, and saner. I plan to release it just after the GUADEC (it will also have Perl bindings, so we will be the first language binding set to have it – so long for the Pythonistas in the Gnome world ;-)).

Work: my job at ${WE_TEACH_TO_TEENAGERS} is almost ended. It has been a strange year: I met some interesting people, and I’ve learned that the system administrator’s job sucks in ways that I did not know (even if I was prepared, having lurked the Scary Devil Monastery many years); nevertheless, it was fun, and I’d do it again – given a more consistent wage and more decisional power. I would also like to try a career in programming – but that has to wait at least the next year.

College: I’ve had little or no time for studying, so I’ll take my exams in September – which sucks, because in Semptember begins my last year, and I’ll have more courses, a stage and my thesis to write. I have an assignment for a C course due in July; I think I’ll take my teacher the tarball of my XBEL parser library, and pretending a 30 cum laude (basically, an A+).

Life: life has been very kind to me, this year. It all began when I met Marta – and I think that it’s not entirely unrelated.

Bookmark Spec

I’ve sent a draft for a desktop bookmark spec on fd.o, and it got reviewed – mostly by the KDE people, that got already a standard way of storing bookmarks across the desktop.

If it reaches the common approval, I’ll apply for a CVS account on’s server.

Meanwhile, I’m working on the implementation of the spec on the Gnome side: I already have a model/viewer approach set, and now I’m writing a generic XBEL object using GLib. It’s quite fun, I must admit. Well, it’s fun since I’ve found an implementation of an XBEL parser using libxml2 inside Galeon.

I hope to have a Gnome platform library for the bookmarks spec ready before GUADEC arrives…

Gnome Desktop Bookmarks

On Gnome Live there’s an ongoing discussion about recent files and bookmarks in Gnome.

In the last two weeks I’ve been designing and writing a platform library for Gnome which addresses the points made on the Wiki, on Bugzilla and on the mailing lists (as I said here).

It’s called libgnome-bookmark and implements the concept of a generic “bookmark”; a bookmark is everything pointed by a URI, plus some meta-data. The library comes with two objects: GnomeBookmarkItem – which is the representation of the bookmark – and GnomeBookmarkModel – the monitor of the bookmarks storage.

You just add and get items to and from the model, similarly to the current recent-files stuff. Plus, the model has the ability to support custom filter and sort functions, in order to get what you want, the way you want it. Bookmarks also might be registered by more than one application (so that you have the ability to create per-application bookmarks) and might belong to various groups (so that you can have classes of applications using the same bookmarks).

Recent files and desktop bookmarks are handled simply by defining two groups in the specification.

In my opinion, this solves the bookmarks problem, and the recent files issues in a single move.

DBus Perl Bindings/3

It seems that my work on a D-Bus perl binding was duplicating the (excellent) work of Daniel P. Berrange.

Not that I’m complaining: I badly needed to understand how D-Bus worked, and creating a binding was the fastest way to understand the inner workings of D-Bus.

Well, all in all I learned much, and now I volunteered for giving a hand to Daniel if he needs it. This is the beauty of F/OSS.

Guadec 2005

All set and done.

After a bit of struggle between PayPal and my credit card, I filled the registration for this year’s GUADEC, that will be held in Stuttgart, Germany.

GUADEC Registration

Stuttgart, here we come…