The Evil Blog

the infernal output of Mikkel Kamstrup Erlandsen

The Evil Blog header image 1

Busy Little Bee

September 5th, 2008 · No Comments

Man life is hectic these days. It is just like whole world has to resonate in a huge explosion of events this September.

At work we have major deadlines and 1.0 release coming in at alarming rates. We are also hosting a major conference and that is also setting its mark on the work day.

In Xesam land we have the hackfest in Berlin approaching every hour, and I really want a Xesam RC3 out in good time before that. This so that we/I can have time to update all our projects to RC3 before the hackfest (and I have a good handful code bases to update).  This means that I’ve pretty much used every spare second in front of my computer when I’ve got home from work. After a work day where my keyboard has been glowing all day. I think I going to need some real-life-time soonish…

On top of this the kids sleep very badly these days. Lauge is coughing most of the night and Liv wakes up crying. So not much sleep either.

Next to this there are all sorts of other social gatherings I am attending as well, quite a bit many more than usual.

What is happening to this September? It’s like trying to cram one years worth of happenings into one month. Please bear with me if I am snappy and stressed out.

→ No CommentsTags: Family · Hacking · xesam

Confessions at the Launchpad

August 28th, 2008 · 12 Comments

I have a confession to make. I think Launchpad is pretty much the best project management site in existence for developing software[1]. And the news that Launchpad is going to be open sourced is making my day.

The big crowd of people who’ve always remained skeptical about Launchpad because they simply did not trust Canonical to open source it have some evaluation to do I believe.

And by the way; you may consider it a personal challenge - to find a “project silo” better than Launchpad…[2] We dearly need one at work ;-) GForge pretty much blows in every conceivable way.

[1]: Based on my experiences with Bugzilla, Sourceforge, GForge, Mantis, Track, Jira, and Fogbugz. Fogbugz is a worthy contender, but being closed source, and for-pay-only is a huge drawback.
[2]: It is unfair to present such a challenge without giving some specs for what I mean by “project silo”. The minimum requirements are: Mailing lists, some form of VCS integration, bug tracker, and a Wiki. A “silo” may consist of a collection of components such as Bugzilla, Moin, Mailman, etc. Needless to say the level of integration and the quality of the individual services is a big factor.

→ 12 CommentsTags: Hacking · software licenses

To Eat or Not to Eat?

August 18th, 2008 · 6 Comments

The other day Liv walked up to her day care mom arms stretched forward as if holding a plate: “Du skal smage”/“You must taste”. Like any other would do the day care mom pretended to grab something from the plate and stuff it into the mouth.

This resultet in Liv bursting out in tears. “Nooooo! Don’t eat the kitten!”. Apparently she had said “Du skal ae“/”You must pet[1].

[1]: The Danish words “smage” (taste) and “ae” (pet) are quite close in pronounciation

→ 6 CommentsTags: Family

When the Clouds Break Apart

August 13th, 2008 · 6 Comments

As usual my daughter Liv (2½ years) was chatting merely over dinner. Today she had been very scared in the day care when a thunder storm had passed over them. With big eyes she told me “Det siger*bum* og så er skyerne gået i stykker” which translates into something like “It goes *boom* and then the clouds are broken”. Very poetic :-)

The geek that I am, I went on to explain her that it was all just a matter of electrodynamics. I told here about the GeoMags that we played with when we where visiting Tom and Mette, and that it was all just the same forces in different guises.

She listened very intensely, and I promise you in that moment, in that defining moment, behind her beautiful eyes, she worked out the Maxwell Equations.

Then in the next instant she recalled that she was really playing with her monkey- and teddybear stamps, and forgot all about electro magnetism. Such is the mind of a child. I love it.

→ 6 CommentsTags: Family

Xesam GLib 0.4.1

August 11th, 2008 · No Comments

Boring new release of Xesam GLib. NEWS:

 * Fix a bug in the UserSearchParser where search where a family of strings

mixing selectors and boolean operations caused parser errors (Kamstrup) * Fix a memory leak in the UserSearchParser, when internally resetting

the parser. (Kamstrup)

Download:xesam-glib-0.4.1.tar.gz

API docs: the usual place

→ No CommentsTags: Hacking · desktop search · xesam

Features out of Abstruseness

August 8th, 2008 · 4 Comments

Twitter and Identi.ca in Deskbar

The deskbar Twitter module I blogged about earlier is in deskbar trunk now. Since it was brought to my attention that Identi.ca exposes as Twitter API as well I jumped to the task of extending the Twitter module to cope with both Twitter and Identi.ca. Needles to say the fact that identi.ca is based on open source software was pretty much the motivating factor to do this.

There are some new handy utility classes added to deskbar as well. Mainly used to do async http requests with authentication via Gnome keyring. Look at the new twitter.py for a usage example. I am going to document it properly in the deskbar module hacking document soonish.

Abstruse Goose (Web comic excellence)

I am most flabbergasted that nobody ever brought the excellent web comic Abstruse Goose to my attention before today. It was described to me as XKCD quality, but a tad nerdier”. Knowing the quality of XKCD I was a bit skeptic, but gave it a go. Man, was I positively surprised. Turned out the description matched pretty good.

→ 4 CommentsTags: Gnome · Micro Blogging · Twitter · deskbar · desktop search · humour · web comics

Pure Gold

August 5th, 2008 · 3 Comments

I love it when someone understands how to make a point :-)

→ 3 CommentsTags: Hacking

Two Xesam News. Hackfest and Emacs

August 3rd, 2008 · No Comments

Ok. Two great news on the Xesam front. It is really hard to rate which one is the most important so I labeled both of them 1).

1) Nokia sponsors desktop search hackfest! I am going. Party! If words like “metadata”, “index”, “search”, “query” and friends gives you rashes stay out of Berlin a few days before and after Sept 21st. If you are developing a proprietary search engine - start looking for a new job.

Expect lots more blogging on the hackfest when a clearer plan emerges.

1) Michael Albinus (dude, cool guys like you ought to have a blog), is working on Xesam integration in Emacs. No shit. Of course noone is surprised that Emacs has dbus support, but Xesam… Booyacacha![1]

[1]: I always knew that Vim totally sucked and Emacs was far superior in every way. But why am I writing that? This is an undisputed universal truth.

→ No CommentsTags: desktop search · xesam

Vacation

August 3rd, 2008 · No Comments

So, last day of the summer vacation is drawing to an end.

We just came back from a wonderful vacation in Imst, Tirol. We met up with some of our family there as well as spending a lot of time with the kids in the lower parts of the mountains. I think it is safe to say that we had a room with a view - mobile shot from the terasse:

When used to the flat world of Denmark, being surrounded by mountains like you are in Imst can make you feel small in a scary and good way. Hard to describe :-)

→ No CommentsTags: Family

Xesam’s Got The Sound That Make Your Booty Go *!*

July 21st, 2008 · 3 Comments

Xesam GLib 0.4.0

It’s been a long under way. Longer than I had hoped. But here it is. Feature packed and with tonnes of new code under the hood. I am fairly confident that it is not too unstable though. Hurra for unit tests! Excerpt of NEWS file:

* Strip some public symbols that should have been private (Biebl)

* Add .spec generation for Fedora (and Suse, untested) (Colin)

* Make Hits an abstract class (derivations SequentialHits and SparseHits are implemented but not part of the puclic api) (Kamstrup)

* Virtualize all methods on the Hit class (Kamstrup)

* Remove the xesam_g_hit_get_data method as it exposed implementation details, for fast hit access you can now look up the field ids with xesam_g_hit_get_field_id() and use those to retrieve field values (Kamstrup)

* Remove xesam_g_{session,search}_get_field_map(). Clients no longer have direct access to the field maps. This was an implementation detail. (Kamstrup)

* Add 'auto-continue' property on XesamGSearch (Kamstrup)

* Add support for user-data in Search and Hits objects (Kamstrup)

* Enforce single header includes. From now on it is only allowed to include xesam-glib.h, not all the object headers (Kamstrup)

* Removed the last traces of dbus-glib generated GTypes from the public headers (Kamstrup)

* Add an example of how to use XesamGDBusSearcherSTub to examples/. This can be used to proxy dbus Xesam Search interfaces to other names and paths (Kamstrup)

* * An easy to use iterator interface to XesamGHits (Kamstrup)

* Implement xesam_g_search_request_extended_data(). This is an experimental feature, so don't make you life depend on it! (Kamstrup)

Downalod: xesam-glib-0.4.0.tar.gz

API docs: Xesam GLib 0.4.0 API docs

Anecdotal Rant

The ChangeLog of xesam-glib-0.4.0 contains this line:

By coincidence this also fixes the last blocker bug for 0.4 which was that "hits-removed" and "hits-modified" signals on XesamGSearcher where not included in the gtk-doc output.

Please note the words “blocker bug”. Yes - I consider missing documentation for libraries blocker bugs. This is evidently not the case for all library writers. Not that Xesam GLib has perfect documentation, but I do think that a library without proper documentation is just a smidgeon better than a binary blob.

Other Rocking Xesam-News

Pinot with Xesam support anyone?

Strigi continuing work on their (already working) Xesam interface

Relax!

Kick back and let the good stuff come to you! Crank up the volume on your stereo and let the beats rip those ears! The usual Xesam heroes is working for you today!

→ 3 CommentsTags: desktop search · xesam