Openismus at GUADEC

I’ve registered, booked rooms, and booked my flight for GNOME’s GUADEC conference in Birmingham. Four of us from Openismus will be there: Myself, Daniel Elstner and Christian Kellner for the core days, and Johannes Schmid will be there for both the core days and after-hours days. We are staying in the Etap hotel.

Nautilus: Dragging the path

I’m probably the last person to discover this, but I haven’t seen it mentioned anywhere before.

I just noticed that you can drag the path from the parent-folders button (at the bottom left of a GNOME file manager window) to the file chooser dialog’s location entry, which is convenient when you are opening or saving from an application and happen to have a folder open in a window already.

However, it doesn’t deal well with spaces, for instance. It escapes them as %20 though the file chooser dialog expects them to be unescaped. This could be very useful with a little work.

It would also be nice if the drop worked on the path bar too, and if I could drag from the window’s title bar.

Strategies for multiple gconf notifications

I sent this to the gconf-list as well, but I’m posting it here in case someone has some generic code that I can steal, or has some better idea.

Say I have an intensive process that should be rerun in response to changes in any one of twenty GConf configuration keys, how might I prevent my application from re-running that process 20 times instead of just once, when changing all the keys at one time?

At the moment, I think the only solution is to append each notification key to a GList, and use a g_timeout handler to notify my application about batches of changes, if anything changed, at regular intervals. That would not avoid all excess notifications, but it could avoid most.

Note that you can’t just turn off notification while making the changes, because the notification happens later, after you’ve turned notification back on again. It’s asynchronous.

Glom ported to libgda 3.0

A little while ago, Vivien Malerba released libgda 3.0.0 (and libgnomedb 3.0.0), so it’s now finally API/ABI stable. This was a long hard push, but we pulled everything together and got it done. Vivien deserves many thanks for his relentless bug-fixing.

C++ bindings are already available: libgdamm 3.0 and libgnomedbmm 3.0, with lots of documentation, though I will wait before declaring them API stable. Our examples and Glom were much needed test cases for libgda and libgnomedb.

Armin has already ported Glom to libgdamm 3.0, and just merged that work into svn trunk for the future Glom 1.6. It needs the svn version of libgda until there’s a 3.0.1 release. This is another large step on the way to accessing the database efficiently, instead of reading every single row into memory when showing a list, which is silly.

Also, Andreas Nilsson cleaned up the Glom icons a bit:

Zeltdach Tour

A couple of weeks ago, Andrew Overholt and his friend Thorsten Klaus visited my place in Munich. They were wonderful guests. We did the tour of the roof of the old Olympiastadium, that slinky glass tent thing. Thorsten got some great photos. They actually tell you to jump up and down to feel how much it can flex.



Christian Kellner and Marcus Bauer join Openismus

Openismus now has another part-time developer: Christian “gicmo” Kellner, a gnome-vfs maintainer who has also worked for Scalix on their Evolution connector, currently a student at Passau University, Germany. He’ll be doing roughly similar work for Openismus, getting stuff done that wouldn’t get done otherwise. If only we could get the rest of the GNOME couch.

And Marcus Bauer joins us internetically as a full-time freelancer for at least the next couple of months, hopefully more if the work is there. Marcus is an accomplished coder, living in Nice, France, who is most well known within GNOME for his work on the LiveCDs for previous releases. He promises he’ll have a blog soon.

I received several other good applications this time, but few from Germany. Even in the EU, employing residents of other countries is a legal/bureaucratic/language problem that I’m trying to avoid, but will probably have to deal with eventually for outstanding candidates. I’m sure there’s lots of information out there but, like many location-based things, it doesn’t yield to Google searches.

g_idle handlers in unexpected sequences

When you specify glib idle callbacks to g_idle_add_full() with different priorities, there is no guarantee that they will be called in the order that you added them. But it’s normal that you’d want, for instance, progress callbacks to have a lower priority than the callback that does the work itself. But you probably need to know when the last callback has been called (so you can release state information), and you probably don’t want to show progress information after the work has actually finished.

I added this generic TnyIdleStopper API to tinymail to help us avoid this problem: It’s a kind of a weak-ref smartpointer thing. It seems to stop the crash, and passes the valgrind test, but I worry that there’s a far simpler solution that I’m overlooking.

Openismus hiring

I’m looking for one or two more part-timers for Openismus, possibly a full-timer. It’s a chance to do work that people will actually use, about half of which is released as source code.

It’s much easier to employ residents of Germany, but I’ll do the extra work to employ in other EU countries if necessary. I wish the EU made this easier.

You’ll need GTK+ experience, usually in an open source project. gtkmm experience is a plus, but we’ve got that mostly covered for now. We work from home for now. I jump at the chance of employing people who’ve demonstrated ability to deal responsibly with well-defined tasks without too much micro-management. Email me please.

I’d love more people like we have already. The other Openismus guys really get the job done. We are doing pretty well at the moment, expanding slowly and safely, as a natural evolution of my freelancing days. This month we reached the point of financial safety for the year, which reduces the pressure and might even let me take a break. I hope the GNOME Mobile and Embedded group can create more opportunities for growth now that it’s announced publicly.