Rummy says he takes "full responsibility" for the torture at Abu Ghraib but, bizarrely, isn't resigning. Obviously , therefore, he isn't interested in taking responsibility for stopping it, or the torture at Guantanamo.

Some people will become gradually accustomed to each new outrage, but hopefully most U.S. voters can begin to see that something has gone terribly wrong. And this time, it's the voters' responsibility.

24

Near the end of series 3 now, having caught up with the episodes as they are shown. Since Season 2 the good guys have often resorted to torture as a last resort in desperate circumstances. But in the real world torture happens out of habit, not purpose.

I wonder whether Palmer will still be president in Season 4. At some point they have to acknowledge that the president is not a virtuous black man and that they are at war in Iraq.

I noticed that, not only does Glade 2.6 support the new GTK+ 2.4 stuff, such as GtkAlignment padding, but when you create a GtkFrame, it even sets the invisble border, adds the bold label, and adds a child GtkAlignment with left padding. Instant HIGification.

And I see that Damon Chaplin is also working on Glade 3 now.

New gdm weirdness

I'm trying to use my debian partition full-time, at least until Fedora Core 2 arrives. I've got gnome 2.7 built with jhbuild, but the new version of gdm seems to have changed. it doesn't use scripts from /etc/X11/gdm/Sessions/ anymore. Apparently I'm supposed to put .desktop files in /usr/share/xsessions/ instead. But when I try to use that session menu entry in gdm, it starts KDE. I know that it's using the correct .desktop file because it complained when I mistyped "/home/bin/jhbuild run gnome-session" in the .desktop file. This is freaky.

I'm impressed with libgda so far. It has most of the API I need and the API seems to be sensible and seems to work. I recommend that other projects use it more so that it gets totally rock solid. I have had such bad experiences with other database-access APIs (MySQL, Sybase, the Roguewave tools.h++, Oracle) that I had started to feel they are cursed to be awful. I used to feel the same way about all C coders until I discovered GTK+. I'm happy to be proved wrong again.

Building consensus is difficult. Even the mildest statement will invite attack, and anyone trying to work with large groups of people has to develop a certain unhealthy stubborness, balanced with constant self-doubt just in case. I can do it, but it's really not fun and I wish I believed in a better way. I suspect that every project maintainer or coordinator feels that way lots of the time.

No matter how ridiculous the opposite view is, it always upsets me to argue. One way to aleviate this might be to publically state some things which I consider beyond question and which I won't bother arguing about any more:

Building from source is a bad way to get GNOME for everyday use.

glade-generated-code is a stupid way to develop software - use libglade.

Updating yesterday's entry, I hear that gtk-list has 1901 subscribers, desktop-devel-list has 937, and pygtk has 599.

Version number scarcity

Version numbers are a crappy way to give information about your modules. Anything more than "even-numbers=stable", "major numbers=major changes", and "larger numbers=newer" gets awkward. But it's convenient to keep version numbers more or less in sync, so you can easily see what belongs together.

But that gets awkward fast. GNOME 2.8 will use the same GTK+ 2.4 API that we had in GNOME 2.6. So how can we have unstable testing releases of new API in the GTK+ bindings during GNOME 2.7? At the moment, I don't have any answer other than "be very careful - don't break API even during the unstable releases", which is risky. And I can't tell them not to add API during GNOME 2.8, because they shouldn't have to wait that long before adding API. Mathematicians, can we have some new numbers between 4 and 6. please?

danielk redux

Daniel Elstner is back online again. I think he's doing a little work on regexxer, reverting my gnome-vfs usage for now, which is fair enough.

I have a theory. Every time I mention the number of gtkmm-list mailing list subscribers, we get 50 more. There are currently 578. I have a fantasy about them all turning up to a GUADEC. I wonder how many are on big lists like gtk-list and desktop-devel-list.

At the very least, I want to put a company name on my current freelancing work, so I have something to build gradually. I spent some time investigating the various types of German companies, and I think I've reduced it to either an e.K. or a GbR. An e.K. is a bit crappy-looking because it's specifically for one-man companies. I think a GbR must have 2 or more partners, but opinions vary. A GmbH looks even more professional, but you pay more tax, and you need 25,000 euros starting capital - I almost have the cash, but that's what I plan to live on for the next year.

Like thomasvs. says, it's really hard to come up with a company name. It's hard enough to find a company name that is not used, but it's almost impossible to find any word in the dictionary that is not already registered as a domain. And those made up words are so impersonal.

Munich Blogs #2

The guy who runs ToytownMunich emailed me. It's a kind of blog-based news site, though it doesn't have actual personal blogs. There's loads of fascinating local information there, and he seems to put a lot of work in to it. But the comments section is mostly full of unpleasantly small-minded British people.

I think I'll try to set up a Munich blogs aggregator because there isn't a working one at the moment. I'll also try to install my own blogging software instead of using advogato. I generally avoid doing that kind of thing, but I want to use topics/categories and make things a bit prettier.

I'm porting glom from mysqlcppapi to libgdamm, the C++ wrappers for libgda. This should allow it to support a variety of database backends. Also, I have abandoned mysqlcppapi because MySQL changed their C API license from LGPL to GPL. mysqlcppapi is being maintained by Johnathan Wakely now. At some point I might actually make glom usable.

Munich

The sun has started to appear at random intervals, so I feel more motivated to run. I replaced my running shoes because the others were way over the recommended mileage and my body needs some cushioning. Everybody else seems to get great advice about shoes, but the most I've ever got in a shop is "you run a bit funny". I went to a specialist store this time (in team, on Belgradstrasse), but the person serving me was reluctant to offer opinions even when prompted with a selection of running jargon. So now I have some Asics which are supposed to be good for people with flat feet, who are supposed to tend towards overpronation. They hurt my feet, but my knees hurt less, so maybe that's good.

Sometimes I don't understand german/catholic sensibilities. There's a walled cemetary near my apartment so I took a shortcut through when running home. I thought I was being a bit cheeky, but I found it full of joggers and cyclists and there were even sunbathers and picknickers among the gravestones.

New places visited: Sangam indian restaurant on Franz-Joseph-Strase - tasty food and pretty interior. Cafe Ignaz vegetarian restaurant on Georgenstrasse, with fantastic fresh gnocchi. Nespresso coffee house, by the Opera, as freeloading beta customers before their official opening.

The 2.6.0 GNOME Platform Bindings release happened a couple of days ago. I think it's a success because 3 bindings projects (C++, Java, and Perl) delivered API/ABI-stable wrappers just 2 weeks after the underlying C APIs, with reason to believe they are high quality.

Binding is inherently feature-based so it's difficult to squeeze it into a time-based schedule. But now that these projects are in sync it will be much easier to keep them that way. Stabilizing APIs is very stressful, because you constantly worry about the forgetting something you can't fix later, and you convince yourself that any single mistake could be catastrophic. For the Java and Perl bindings this was the first time that they had stabilized their APIs so I know that their maintainers felt this stress severely. But they worked hard and worried about all the right things, and they got there. They were even forgiving of the strict oversight to which I subjected them. The perl bindings actually stabilized their API/ABI before the scheduled date, even while their maintainer was becoming the father of twins.

I feel relieved now the 2.6.0 C++ bindings are officially API/ABI-stable. I can stop worrying because I can't even fix ABI problems if they turn up, and I can casually do any API additions in the 2.8.0 cycle. I think I'll reduce my gtkmm hacking to a couple of days a week now, so I don't waste all of this valuable "sabbatical" time. Also, I'll try to stay off IRC most of the time, because that massively saps my productivity.

It looks like GTK+ won't add new API for GNOME 2.8. I'm a bit disappointed because I love all development to be in sync. But I fully understand the need to take the pressure off. As a plus, it gives me a lot less C++ binding work to do during GNOME 2.8, and it will make it even easier for other Bindings projects to catch up. The gnome-python/pygtk team are already making test releases that wrap GTK+ 2.4, so they should manage it easily. And Gtk# are working on GTK+ 2.4 stuff on a cvs branch, so they are very likely to be full players during the GNOME 2.10 cycle. Hopefully some others (Ada?) will sign up too but all the major languages seem to be taken care of.