Category Archives: General

Release early, release often

People like releases. I got tired of waiting for a glib 2.3.0 release, so I released a glibmm 2.3.0 that depends on glib 2.2, so that I can get the code out there. The same day, we got a new contributor (J. Abelardo Gutierrez) who asked how he could help and had a patch to us in hours.

There's still no gtkmm 2.3.0 because that really does need GTK+ 2.3. I still haven't tracked down the strange treeview crash with GTK+ cvs HEAD, and I don't have a real connection anymore, but before I left Nuernberg I did several dated checkouts of GTK+, so hopefully I'll track it down. In the meantime, I strongly encourage everybody to hack on glibmm and gtkmm in cvs. There is new fun API that needs to be wrapped.

Because everybody wants libgdamm (C++ wrapper for libgda – generic database API) but nobody seems to want to do the work, I put out a release of the stuff that's been sitting in cvs for a while. Hopefully someone will pick it up.

I'd really like to release a tarball of libgnomeprint*mm, some time but it's been very difficult to get the necessary patches into libgnomeprint. Apparently that's going to get better soon. libgnomeprint, being purely postscript based, isn't the future of printing APIs in GTK+/GNOME. I hear that Cairo (previously Xr) might better unify the screen and print rendering APIs. But it would be nice to have the intermediate solution available to C++ coders.

GNOME

The new GNOME 2.5/2.6 schedule and organisation stuff AKA start pages is up, and jhbuild's gnome26 moduleset has switched to GTK+ HEAD (2.3), so the fun is starting. I really wish that I had my non-sleeping hours to work on it.

Planet GNOME was a great idea (jdub's). It's a great way to see what people are up to, and I think it really energises people. I believe in structural solutions.

Nuremberg, gtkm 2.3

For the first half of next week, I’ll be in Nürnberg with a real internet connection. So it’ll be patch-applying time. Try not to miss the window of opportunity. I’ll try to get gtkmm 2.4 even more ready for a 2.3.0 release, but it doesn’t look like we are going to get a GTK+ 2.3.0 soon. Personally I think it’s a mistake not to release early, release often.

This jhbuild gui thing from nullity (Seth) looks like fun. I look forward to trying it.

libxml++

We released a new version, finally with namespace support thanks to Dan Dennedy. libxml++ is is a real pleasure to work on because it has a limited scope and clear aims. People seem to like it. As far as I can tell it's as standards-compliant and useful as Xerces-C++ without being so horribly complex. Of course we'd like to know if it isn't.

GTK+ bindings

pfremy, that is complete arse. The vast majority of this vast list of bindings are for the latest GTK+ API. GTK+ is designed for wrapping. It’s not just another C library – it’s GTK+. That article is old, and it’s by paying attention to that kind of thing that GTK+ is so easy to wrap today. I love C++. I know GTK+. I know what I’m talking about.

GNOME 2.4, stuff

GNOME 2.4 was released while I was on holiday. It was nice to miss the stress and just read the reviews when I got back. People seem pleased but unsurprised, and that’s how it should be.

I don’t understand any of that Ars Technica “spatial finder” article, and it’s not the first time I’ve tried to read it. I suspect that it’s badly written, and I hope that it’s just about opening folders in their own windows and not having back/forward buttons. If so, it’ll be more like classic MacOS and I’ll be happy. Anyway, I’ll have to try it before offering an opinion.

I found About Face 2.0 at Munich’s Computer Bookshop at the Obelisk. It’s rather dull and lengthy, but I want to read it so that I can help push the personas idea forward.

I’ll have very little cvs connectivity for the next few weeks, and there’s lots of things I’d like to do. I’d really like a month or so of uninterrupted time for GNOME/gtkmm hacking. Unfortunately it looks like my current contract will be extended until the end of the year, and I can’t say No to it without upsetting the agent.

Back from walking around the Dachstein

I’m back from walking around the Dachstein range. I couldn’t do the whole 8 days as planned because the first heavy snow of the season blocked the route. The weather started sunny, and became pleasantly scots-like, which I enjoyed, but the mountain pass that was unpleasant one day, became impossible a couple of days later. So I walked down to the rain in the valley.

Along the way, I found my first BookCrossing book at the Gablonzerhütte.

libglademm

I started an unstable branch of libglademm so that I could add some API to support use of derived widgets with .glade files. This allows people, for instance, to layout their window in glade, and then still keep their code nice and organised by actually implementing that window in a class that's inherited from Gtk::Window. It's better than using a placeholder child widget.

gnomemm

I put out new versions of all the gnomemm stuff. That always takes ages. This time gnome-vfsmm gets a mention along with the other stuff. Apparently there are problems with the libbonobomm build, so I'll probably put out a new version of that again.

I'm getting tired of libbonobo*mm making it so hard to build libgnomeuimm. I have been using the dependeny to encourage people to be aware of libbonobo*mm and keep it up-to-date, but I think it's time to give people a break. libgnomeui only exposes bonobo stuff for the DockWidget, and almost nobody cares about implementing or hosting Bonobo controls. I think I will remove the dependency, freeze the libgnomeuimm API, and cut libbonobo*mm loose for people who care about it.

This makes sense because almost everybody seems to expect that Bonobo will not be used in any non-deprecated part of the libgnomeui API in future. It will be something that you can use if you want to, but that you won't have to drag around if you don't want to.

Luckily this should not leave orbitcpp orphaned, because some of the people who care about that don't even use gtkmm.

libgnomeprintmm

Enough people have asked about printing that I started to wrap gnome-print. I already have a simple example working that generates a postscript file. It's all in cvs. I'm not completely happy with the libgnomeprint API, and I think it will need to break API again before it gets into the GNOME Developer Platform.

gtkmm

Owen has announced that he'll release tarballs of the unstable GTK+ 2.3. I'm looking forward to that, because it means we can release some of the glibmm and gtkmm 2.3 stuff that's in cvs, and get started on the new APIs.

gtkmm

I applied a bunch of patches that had accumulated and put out a new version. This one fixes the build on gcc 2.96, and is the first version of gtkmm to build with Microsoft's MSVC++, using the latest version of their compiler. It seems like the “.Net 2003” version still needs some extra workarounds, but it's far more standards-compliant than ever before. Sorry, Microsoft, too late, and still catching up.

julian also confirmed that gtkmm now builds without too much trouble on MacOs X. It just needs a little workaround for a gcc 3 compiler bug. SuSE 8.2 needs this too. It's already fixed in the latest gcc 3.3.1, I think, but Apple and SuSE are shipping strange versions.

Now we just need someone to deal with the simple Solaris/Forte problem that happened sometime – probably since 2.2.0.

Stalking Nat

I stopped for an evening in Munich on the way from Linz to Nuernberg. The day was getting pretty bad after being trapped on a delayed train with Salzburg-grade brainless yank tourists and germans who express their customer disatisfaction by sighing very loudly and then sighing very loudly again, in unison. Then I saw celebrity hacker Nat outside the Munich train station, conspicuously not being in Boston. I think he was on a secret mission. I confused him greatly by saying hello.

Hard Drive

I finally tracked down a new 2.5″ hard drive for my laptop. Austria is such a backwater sometimes. I’m starting the big reinstall. I’ll be working in Nuremberg from Tuesday to Saturday. They have a normal internet connection so I should be able to process the various patches that have built up.

I have to find a new short-term apartment in Linz at the end of the month. I’m losing my pretty wee wooden Haueschen. I shall miss reading in the hammock in the garden.