Tag Archives: Openismus

Maemo Chinook/Sardine C++ bindings

I’ve updated the C++ gtkmm bindings for Maemo for the unstable Chinook/Sardine release, which will one day become the new stable Maemo release. That’s hildonmm (previously hildon-libsmm) and hildon-fmmm.

Some links:

If you are running Maemo Sardine then you can add the extras repository by adding these lines to your /etc/apt/sources.list:

deb http://repository.maemo.org/extras/ sardine free

deb-src http://repository.maemo.org/extras/ sardine free

and then install them like so:

fakeroot apt-get install libhildonmm-dev libhildon-fmmm-dev

Packages are only available for the x86 target for now, but I’ll create ARM packages fairly soon.

Feedback is welcome. Add a comment here, please, because there doesn’t seem to be any bug-tracker for Maemo extras projects.

Maemo Chinook alpha and Sardine extras

A few days ago Nokia released a Maemo 4.0 “Chinook” alpha SDK, as a preview of the next stable Maemo release, which will be released at an unknown time in the future. It’s basically the easy way to get a Maemo Sardine scratchbox target set up.

Sardine is the Maemo version that is always the latest work in progress, but it’s generally been difficult to install because it required an upgrade from the stable version, and tended to break quite often. But now that it’s easier for people to start using Sardine maybe it will become more stable.

It doesn’t have the closed-source applications, so there isn’t much to see. It’s just meant to help people port their applications to the new platform.

Maemo Sardine as of August 2007

But for developers there are big improvements. If you have ported software to Maemo then you should be testing with this new SDK now. We finally have GTK+ 2.10 instead of ancient GTK+ 2.6, and there are no longer eccentric API-breaking changes to GTK+, thanks to a shot of sanity from Maemo developers like Lucas Rocha. Most of the good stuff has been cleaned up and is already upstream in GTK+ itself, I believe. hildon-libs is now hildon-1 and has had much of the irrelevant crap removed, so it’s easier to see what is useful.

We can now also upload “extras” packages for Sardine, so our software can be ready for Maemo Chinook on the day that it’s released. I’ve already uploaded gtkmm and I’m working on the updated C++ bindings for hildon-1, hildon-fm, and friends.

Going to GUADEC

This evening I fly to Birmingham, UK for the GUADEC Gnome conference. I’ll arrive around 23:00.

I’ll be there for the core days – Tuesday, Wednesday and Thursday. I’m staying at the Etap hotel, where Johannes Schmid and Daniel Elstner from Openismus also have rooms. Unfortunately, Christian Kellner had to cancel due to an unavoidable exam date. I’ll miss him.

I’ll be giving a talk at 11:30 on Tuesday morning on libgnomedb: Database UI Widgets. This is my first time doing a talk about a project that I don’t maintain. My slides are mostly finished. I wish Vivien Malerba could be there for the more difficult questions.

Openismus T-Shirts for GUADEC

The days are busy right now, but I found time to Inkscape up a design and get just a few Openismus T-Shirts printed in time for GUADEC in Birmingham. The conference is gradually becoming as much a T-Shirt swap meet as a developer conference, so it’s obligatory.

Hopefully it’s simple and eye-catching and a little retro. I got them done at georgefrank along the road, in a furry 70s-style texture print. They weren’t cheap but the quality is great, the colors are warm, and they won’t shrink in the wash.

IMG_2682_001

IMG_2668

IMG_2674I’d really planned to have time by now to gather together my ideas and get a proper designer to do a company image, inspired by the quarter where I live here in Munich, but that must wait. Luckily, I already wanted the visual image to keep changing, because the name itself is distinctive enough. While I expect some consistency of elements at any one time, I don’t expect anything to remain the same from year to year, and I hope people can enjoy the changes. We’re a small company and our customers know us personally, so we can have some fun along the way. An unchallenging anonymous corporate image with the same old shiny fakeness would bring us nothing.

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.

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:

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.