Older blog entries for Spooky (starting at number 45)

19 Feb 2004 (updated 25 Feb 2004 at 10:12 UTC) »

Ignore this, advogato is doing weird things to me and not quite getting the date right. What was here was meant to be for the 25th and that had overwritten an entry I had never posted on the 19th. Make sense ? No, it doesn't to me either, its just a web-browser cache thing that screws me up.

Not much going on. Work is holding a mini-conference. Home is dealing with hyper-active kittens. Hacking is all about cleaning up the last of the known bugs for gnome-games 2.6.

Just for fun I "upgraded" my laptop to Fedora Core 2 test 1. This experience has been a little bit more interesting than I would have liked. Especially since I used yum rather than a CD install. It worked, but there appear to be a few more loose ends to clean up than a CD install would have. Conversely it only took a third of the time of downloading isos so, all up, I've probably come out ahead.

I'd just like to say publicly that I've always appreciated the way Jeff has done things and hope to keep doing so in the future. I don't mind the dodgy release names, although quite frankly I've haven't understood a lot of the recent ones. I suspect I haven't watched the right movies.

I also agree with Jeff's solution , but not for the same reasons. It's a joke thats gone on way too long. It seemed fresh and witty when Linus parodied serious code-names like "Chicago" with the "Greased Weasel" kernels back in 1996. Eight years is definitely a tradition, if not an ingrained part of our culture, but maybe it's time for the tradition to be euthanised. After all, the good names have all been taken.

Friday was a public holiday here in New Zealand (Waitangi Day) and I took a ride up the old Taeri Gorge railway line on a jigger. For those of you not familiar with a jigger it is a small rail-cart, with a motor attached, designed for ferrying work-men up and down a rail-line. Certain obvious features are missing from these devices: real seating, sides, any sort of seat-belt or safety device, or for that matter effective brakes. All this is what makes it fun, that and the tall viaducts.

The track itself is a scenic one (it's usual use is for tourists) and it mostly travels above the Taeri River through a fifty kilometer long gorge. At the end of the gorge it heads out into rolling hills covered in rocky outcrops (for those of you who think of New Zealand geography in terms of The Lord of the Rings: like where Aragorn meets Eomer for the first time). Finally it descends into the town of Middlemarch that can be accurately described as sleepy. Strangely enough all of this is still within the Dunedin city limits, but that is just an historical accident and no reflection of its use by humans.

None of the five jiggers used were particularly reliable. In fact the trip was partly designed as a shake-down for them. None-the-less the trip was fun and I learnt how to drive one. They are curious devices, nominally they have the same controls as a car (sans steering wheel) but they are as awkwardly arranged as humaney possible and used in completely the opposite way to how one would normally drive a car. Your primary speed control is the clutch. The throttle is mostly wide open and the less said about the brakes the better.

The nearest anyone came to killing themselves was on the way home when one of the jiggers decided to come loose in the trailer. Stopping a car when you have half a tonne of steel rolling freely about the back is "interesting".

Famous last words:

"This won't need a current-limiting resistor."

Time for a rant: Patches to fix bugs are, in theory, a good idea. In practice there tends to be a problem.

A typical bug report for a segfault in a C program from a person with most of a clue looks is:

Program foo segfaults at line 123 because pointer y is NULL. Here is a patch.

The patch then invariably looks something like:

if (!y)
  return;

Inserted just before line 123.

This is wrong.

It doesn't fix the bug. The bug is not "the program segfaults", the bug is "y is NULL". Bug reports are good. Stack traces are good. Identifying the symptoms is good. Identifying the cause is excellent. Patches which fix a symptom rather than the cause are a menace to society.

Thank you for your attention, I'll go and take my pills now.

More bug fixing. In a classic example of Murphy at work: a patch from bugzilla which altered only three small pieces of code contained three new bugs. Of course there is bound to be a fourth one I didn't spot.

Bug-Fixing

Everyone seems to be doing the bug-fixing thing these days. gnome-games is no exception. Unfortunately the rate of bug-fixing, while impressive, is being equalled by the rate of bug report creation. Keep hammering at it folks, it needs testing and there's only so much solitaire I can play in one day.

Work

So I built up the canonical flip-flop circuit today: the divide by two. This is just about the simplest flip-flop circuit you can build. Naturally it doesn't work.

Fire

Today's minor excitement at work was getting to set off the fire alarm. The sudden appearance of lots of smoke in the common room without the usual burnt food caused a bit of concern and it was decided something had to be done. I was fortunate enough to be closest to the fire alarm and so got to do the deed. Ultimately nothing bad happened. The official cause is "burnt toast in the microwave" although we are still puzzling over where the toast went to and how you burn it in a microwave.

gnome-games

Statistics for aisleriot now work. Thanks to the wonders of gconf you can even have two games open and statistics are collected from both. There is a theoretical race condition but you would have to play and finish two games simultaneously (as the same user) and quite frankly only a rabid weasel on P could manage that. Rabid weasels are not considered part of the GNOME target audience.

gnome-games

It's been too sunny to do proper hacking, but some things have happened recently:

  • There are new SVG graphics for gnomine thanks to Richard Hoelscher. The graphics are now properly alpha-blended too.
  • A long-standing gnome-stones bug has been resolved. Everyone who has had it crash on start-up can breath a sigh of relief.

36 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!