Older blog entries for murrayc (starting at number 181)

17 May 2004 (updated 17 May 2004 at 18:53 UTC) »


I've been playing with pyblosxom locally and with my hosted account. It's a while since I did much .cgi, so "premature end of script headers" in the apache error.log was confusing again. Of course it really seems to mean "some of your file permissions are wrong". I don't think I've been aware of suexec before, though it's probably quite common. Dreamhost use suexec, so you'll get that error if the .cgi script is writable by all. It's about time something stopped me from trying to fix permissions problems by giving full access to everything.

pyblosxom is nice and simple - you just put text files in a directory of your choosing, and it uses the date of the file on the filesystem to assign that entry to a date on your blog. Obviously, having to put files in there directly using a ssh session is impractical, so there is a primitive weblog-add.py script that lets you do it over the web, using apache's regular .htaccess user/password thing to restrict access. It's kind of annoying that I have to think of a filename manually, but that's not the end of the world. Also, the page-layout template system seems quite simple, with no embedded code.

I did look a the WordPress online demo, and it looks a lot more user-friendly. But I'd like to avoid maintaining a MySQL database just for my blog. I'm marginally more familiar with python than PHP, so the appearance of PHP in their templates alarms me. Also, I keep hearing about PHP being somehow fundamentally problematic for security, though I don't have the slightest idea of why.

So I am trying to get the pyblosxom xmlrpc interface to work, so I can use friendlier tools to post blog entries. I notice that the xmlrpc plugin needs python 2.2 rather than 2.1 - I think that's what the "NameError: name 'True' is not defined" error is about. So I changed the top of the pyconfig.cgi script from "#!/usr/bin/env python" to "#!/usr/bin/env python2.2". I'm not sure if that is the right way to do it. Also, python 2.2 seems to come with xmlrpclib, but you have to download xmlrpclib and copy it somewhere manually if you are using python 2.1.

It looks like gnome-blog is not quite up to date with recent pyblosxom. When using the "Self-Run Pybloxsom" Blog Type, it tries to access an xmlrpc.cgi script, but there's none in the pyblosxom-0.9.1 tarball. When I try to use the "Self-Run Other" Blog Type with The "BloggerAPI" or "MetaWeblog" Blog Protocols, givint if the URL of my pyblosxom.cgi script, it reports an "internal server error" and I get this in my error.log file.

Traceback (most recent call last):
  File "pyblosxom.cgi", line 49, in ?
  File "/home/murrayc/murrayc.com/blog/pyblosxom-0.9.1/Pyblosxom/pyblosxom.py", line 116, in run
    self.defaultHandler(config, data)
  File "/home/murrayc/murrayc.com/blog/pyblosxom-0.9.1/Pyblosxom/pyblosxom.py", line 130, in defaultHandler
  File "/home/murrayc/murrayc.com/blog/pyblosxom-0.9.1/Pyblosxom/tools.py", line 396, in run_callback
    return defaultfunc(input)
  File "/home/murrayc/murrayc.com/blog/pyblosxom-0.9.1/Pyblosxom/pyblosxom.py", line 304, in blosxom_process_path_info
    data['flavour'] = (form.has_key('flav') and
  File "/usr/lib/python2.2/cgi.py", line 601, in has_key
    raise TypeError, "not indexable"
But I feel that I've done quite well, and I'm sure somebody will email me with a helpful clue.

Annoying g++ improvement of the day

I know there's bound to be a good reason for the C++ spec to say we can't do this, and I can guess at it, but this gcc 3.4 C++-conformance improvement, pointed out to me by Bryan Forbes, is an irritation. Of course, I don't know the reason exactly because there is still no freely-available copy of the C++ spec online. No, I don't want the C# one instead

Don't mention the war(s)

More documentaries seen at Dok.Fest:

  • Willkommen an der Grenze: Mostar, in Bosnia is divided into Croation (christian) and Bosnian (muslim) parts. The 2 sets of inhabitants try not to talk amongst themselves about the war and refuse to talk to each other about anything.
  • Cement: Inhabitants of Beocin, in Serbia, talk about their town's shaky dependence on the cement factory, and their hopes for the boxing club that it sponsors.

I really like that the directors have often talked briefly after the films.

Long live the interim government

The Dok.Fest Documentary festival is on in Munich this week. It's information rich. So far I've seen

  • Skinhead Attitude: Far-right skinheads say what's expected of them. Normal people with similar hair styles disagree. In onese scene, a girl suggests that all the blacks, gays, and muslims should be nuked so that her children can grow up happy.
  • Familienreise: German Grandmother, father, and daughter revisit Glatz/Kłodzko in Poland, which the Grandmother's family was forced to leave after the war, along with other germans-speakers.
  • Wir haben vergessen züruckzukehren: Fatih Akin's relatives talk about their experience arriving in Germany in the 60s and either staying for life or returning changed.
  • Smile and Wave: Dutch soldiers in Afghanistan trying not to be like the Americans, but trying not to be like the Dutch of Srebrenica. In one scene a soldier learns about his translator's conservative lifestyle and then gives him the gift of hardcore porn DVDs.
  • Igazgyöngyök: Elderly Hungarian-speakers in the deserted Rumanian village Adorian philosophise about the past.
  • Azbuka na Nadejdata: Bulgarian- and turkish-speaking inhabitants of the deserted Bulgarian village Zhelezino, by the bulgarian/greek/turkish border, talk about their future. In 1989 the turks were forced to change their names to Bulgarian ones, and forbidden from speaking their language. 10 years later they got their own names back again, but most had emigrated in the meantime.

I love smartpointers

Yes, ncm, I am also becoming obsessed with smartpointers. Not only do I think C++ badly needs a standard-approved reference-counting smartpointer, but I'm even beginning to think it should be part of the language syntax, though I might be nuts.

Seeing and believing are both often wrong

The Fog of War is fascinating. Robert McNamara, the Rumsfeld of his day, is remarkably honest and precise about his mistakes and successes, while just following orders. I don't believe that he didn't know about Napalm though.

A running theme is that conflicts are often caused by leaders who obessively believe in false realities. There's a damning recording of a bloodthirsty LBJ outright reversing Kennedy's Vietnam withdrawl plan, because he was so convinced of the Domino theory.

Mobile ranting

Articles like this give me hope. There has been so much buzz about Linux on mobile phones during the past year, with Motorola, Panasonic, Samsung, Sony and others planning linux-based phones and investing in the technology. I've worked a lot in this industry, and I've seen the vast savings that can be made by using a common platform. Some companies are killing themselves by locking themselves into obscure software platforms because they want to lock their customers into buying certain hardware. But delivering working products at reasonable prices is a better business strategy. It's not just Motorola that realise this. There's a lot of Chinese and Korean manufacturers who just want to get the job done. Linux lets them offer phones with more functionality. Some day one of these companies will do some usability tests and then really clean their clocks.

An interesting article in last week's Economist shows both that the large handset firms are already outsourcing the complete design and manufacture of some of their handset models to Taiwanese "original design manufacturers" (OSDMs), so they are not afraid of profitable change, and shows that those OSDMs are already taking market share with their own-brand handsets.

Torture is wrong. Now you know.

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.


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.


Recent versions of Devhelp use gecko instead of gtkhtml, so now it can handle the links in gtkmm's html documentation. For instance, the search feature now works. It's useful.

Platform Bindings

We'll have pygtk in the GNOME Plaform Bindings for 2.7/2.8, That covers GTK+ and libglade, though nobody is claiming mainantership of the extra gnome-python tarball.

3 May 2004 (updated 3 May 2004 at 18:12 UTC) »

Glade 2.6 does good stuff

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.

Please. Stop.

This is one of my favourite end-of-thread messages ever.

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.
  • The earth is round.

172 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!