C

  • user warning: Table 'drupal_herzi_eu.semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'menu_rebuild' in /var/lib/www/shared/drupal-6.16/includes/lock.inc on line 154.
  • user warning: Table 'drupal_herzi_eu.semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'menu_rebuild' in /var/lib/www/shared/drupal-6.16/includes/lock.inc on line 154.

Using Webkit/GTK+ in Mac OS X

Webkit/GTK+ is a really nice thing already. It still has it's rough edges, but it already works really nicely.

Lets giggle together

So, it's been almost a week since we released Giggle. We've been happily receiving lots of love in the form of emails, bug reports, suggestions, patches and even debian packages. Now we think it's time to share some love with you, so let's giggle together.

Doing so is pretty easy: you can subscribe to the giggle mailing list or join the Jabber chat room giggle on conference.imendio.com.

GNOME Launch Box - Version 0.2

GNOME Launch Box is an application launcher inspired by QuickSilver. You can find more information at the project page.

Downloads

GQ can compare items

Screenshot

Gnome Canvas

Kjartan came up to me a month ago, giving a list of Gnome Canvas bugs to me that might be worth to look at. As there's hasn't been much to do for Imendio yet, I spent my working time and also some spare time on the Gnome Canvas during the last month.

It was quite nice to take a look at this code again. The most interesting part for me as a canvas developer was to take a more detailed look at some specific parts of Gnome Canvas that aren't really solved in a very good way (the reasons haven been technical issues mostly) and to get an idea of how to do some things a bit nicer.

The dark traps of refactoring… (or, not every bug is a platform bug)

When I ported the GtkCTree from GQ to GtkTreeView and GtkTreeModel I started to get a really strange problem:

Gtk-ERROR **: file gtktreeview.c: line 4726 (gtk_tree_view_bin_expose): assertion failed: (node != tree->nil)
aborting...
Aborted (core dumped)

This didn't happen always but happened some times (approximately ~20% of the "expand a node" cases).

Testing the Limits

This started as something really easy, but very quickly became really complex. Alex suggested to take a look at the camera concept of piccolo. Yesterday late I started to create something like this:

[A minimap in CCC]

Testing and Hacking…

Having tests for your projects is nice (others consider it as necessary, but that's not part of this post). Well, as with many brand new projects, people get suggested to use the trunk version as in subversion. This brought me to a really annoying problem: People were complaining about a missing macro (which was AM_PATH_CHECK). Of couse, I could argue now whether a developer should have this installed, but I came to the conclusion that I shouldn't imply any piece of installed software that's not absolutely necessary to build.

Fortunately the people are Ubuntu users, so the solution for them was quite easy (apt-get install check). But I was thinking about doing this a bit more cleverly. Ubuntu currently delivers check 0.9.3, version 0.9.4 includes check.pc, which is nice but unusable for me (Ubuntu Edgy, Feisty already has this). So, finally I started to improve my m4 skills and provide some code (that you're free to copy) that works as it should:

PKG_CHECK_MODULES(CHECK,[check >= 0.9.4],:,[
ifdef([AM_PATH_CHECK],
[AM_PATH_CHECK],
[AC_MSG_RESULT([no, testing is disabled])])
])

AM_CONDITIONAL([HAVE_CHECK],[test "x$CHECK_CFLAGS" != "x"])

You might want to replace the second AM_PATH_CHECK with AM_PATH_CHECK([0.8.2]) or your required version.

ImendioConf and LWE

So, I haven't been blogging for quite some time. And I actually have to good excuses for that: I have been really busy during the last weeks (ImendioConf took place in the beginning of November; Linux World Expo in Cologne the week after) and my server has been down for 2 weeks (I'm sorry).

But now things are getting back up again (at least most of the SVN trees and web sites are) and I can catch up with some things.

Almost something new...

I'm still busy cleaning up the handwriting recognition manager but I got bored in the meantime and wanted to finish something new.

I finally managed to get strokes with a changing width rendered using cairo, it only leaves one nasty bug. Self-intersecting strokes will even be gray on these intersections (take a look at the 't'), but I don't think I can do better with cairo right now.

Syndicate content