Older blog entries for Spooky (starting at number 54)

gnome-games

2.6.0 is out the door ! The shake-down period took quite a bit longer than I anticipated (I hate freeze dates that shift), but it has been worth it. The result is rock-solid, I'm confident that there are very few crashers left in the code. I won't say none, because that is guaranteed to catch the attention of the coding gods. A bit like flying a kite in a thunderstorm while standing in a copper bathtub full of salt-water screaming "I don't believe in you Thor, you bastard !".

For 2.7 I've started importing Sjoerd Langkemper's gataxx ai and graphics rewrite. This is taking time because I'm going through and cleaning up all the rough edges (from both the old and the new code). The new code should hit CVS in a few days. Most stuff is done, but I want to make sure I'm not throwing any useful stuff out with the old code.

Also, for Aisleriot fans: the per-game help menu item has returned. Simply select a game you don't know how to play, look in the help menu and you should be able to jump directly to the rules for that game.

Havoc

While in many ways I agree with many of Havoc's thoughts, I'm not sure about the air of panic that seems to surround them (not that I'm accusing Havoc of panic, but you get the idea). It's just that I seem to remember similar things being said about Visual Basic a few years ago in a similar tone of voice.

Old Code

For today's success story I returned to a program I wrote over a year ago that had been lying dormant. I was pleasantly surprised at how easy it was to figure out what I had done and how to make the necessary changes. It was also strange to see how my coding style had changed in the intervening year, I seem to have become infected with GNOMEisms.

The program itself is cool: it uses a second video card reprogrammed so that the blanking at the end of the rows is removed. It makes a great (and cheap) arbitrary function generator when the signals are fed through amplifiers rather than off to a monitor. Three channels with 50MHz bandwidth and 2^20 data points is good.

Caps Lock

One thing Apple keyboards get right (along with almost everyone else except PC keyboard makers) is putting the caps lock light with the caps lock key. What is the point of having the indicator and the control for that indicator on opposite sides of the keyboard such that you can't see them both at the same time ? On the other hand, putting the light underneath where your finger goes isn't too smart either. All keyboards suck, even an Lk-201: I dislike the way that < and > are on the same key.

Right now I'm in need of a language lawyer. Bug #136898 is the case of a person trying to compile gnome-games with the -fdata-sections option to gcc. I didn't ask why he wanted to do this, but he did and the build failed. The reason is that I have (or had, I changed it) a declaration like int a; in one file and a similar declaration in another file (no extern or anything). These are meant to be the same variable and under normal circumstances it is compiled and linked as such. Compile it with -fdata-sections and the linker complains about "multiple definitions of a". The dispute is now whether this is a bug on my part (i.e. it isn't valid C) or a bug in the compiler/linker.

I'll happily admit that the code in aisleriot was bad code (and has since been fixed), but I'm not convinced it was illegal code. After all it only did what we all do with functions: declare it in one source file and the use an empty prototype definition in another file. Both myself and the reported have of course looked at the C standard and have both come away with the idea that it supports our point of view.

I've finally branched off gnome-games 2.6 and started to work on 2.7. The real meaning of this, in the short term, is that I get to go through and apply all the patches that people submitted during the freeze. Maybe someday soon I'll get to write some code, but since that will be the Aisleriot resizing code I'm not entirely sure I'm looking forward to it.

I'm in the process of releasing gnome-games 2.5.8 as I write this. Two things strike me: one is that I seem to be doing releases about one step ahead of the release team (2.5.7 was my beta 1). The other is that I have now done more releases for 2.5 than I did for 2.3. This is odd because I could have sworn I was being slacker about the releases this time around.

For those of you still stuck in the dark ages of GNOME 2.4 there will probably be another 2.4 gnome-games release in a week or so with some bug fixes back-ported. Yeah, I know I said that 2.4.2 would be the last one.

I've finally decided to actually use IRC after eleven years of resisting its siren song (I saw what it did to my friends back in '93, or maybe it was MUDs that sucked their will to live, it's getting hard to remember). Ten minutes of lurking on #gnome-hackers has Shaun point out a bug in gnect. It's some kind of conspiracy.

The big news around here is, of course, the continuing success of The Lord of the Rings movies. It is generally regarded as "our film" which is a little odd given that most of "us" had absolutely nothing to do with making it (although most of us do know someone who worked on it). At the same time it does mean something to me as a New Zealander. I was in the States when The Fellowship of the Ring was released and being able to see "home" up on the big screen made a big difference to the emotional impact of the film. Similarly, after seeing the Two Towers for the first time I was overcome with a desire to head out to the Strath-Taeri. It's not that I imagine Rohirrim riding across it when I see it, in reality it produces quite an eerie feeling, but I hadn't seen it in years despite it being only an hours drive from home (the nearest parts are technically within the city limits).

26 Feb 2004 (updated 26 Feb 2004 at 20:57 UTC) »
Fedora PPC64

My scheme to naively install Fedora's undocumented ppc64 RPMs from the development branch onto a spare partition on my G5 seems to have worked. I can now boot and run a very basic ppc64 system (after adding my own fedora-release rpm). It is possibly the most basic system where you can edit things (vim), install stuff (rpm) and grap stuff off the web (wget), but it does work. I still don't know whether the ppc64 packages were meant to work or not or what the people at Red Hat were thinking when they compiled them, but I'm happy.

Dependency Hell

Did you know that rpm has over 50 packages it depends on either directly or indirectly. There are the obvious ones like glibc and it's a good thing that SysVinit show up eventually. However you also need glib, both versions 1 and 2 ! The upside is that you by just fufilling the requirements for rpm and you have everything you need for a basic, bootable, system.

Configuration

Fedora really freaks if you don't have an fstab file. It's kind of fun seeing how well (or badly) a system handles itself without even basic configuration. For the record, Fedora does well enough: you can creat the fstab file from within Fedora.

For the last two weeks the keys in the top left hand corner of my keyboard have been dead. Just the group that includes <tab>, ~, <caps lock> and <esc>. You can actually survive an amazingly long time without those keys. Ctrl-I replaces <tab>, you type out your home directory in full and <esc> can be replaced with Ctrl-C in vim. Caps Lock is of course an abomination and wasn't missed. A broken cluster of keys is of course the classic symptom of a broken track in the keyboard matrix and potentially a bastard to fix.

I finally fixed it today. I was pleasantly surprised to find that the Apple keyboard was actually as well made as it is pretty. Well made except for the scratch in the plastic of the circuit board that had let the track arc to the metal back-plate and burnt the track away. A quick job with the conductive marker pen and a bit of tape and she's good-as-new. Except for the crumbs in the hard to reach corners; I really must stop web-surfing during breakfast.

What really impressed me though was the 2.6 kernel. People have gone gaga over how snappy it is, but what I have found really nice is the new input layer and the way it "just works". While testing the keyboard my laptop ended up with three keyboards and two mice. They all worked and I didn't have to touch any software, just plugged things in and pulled them out again. I still haven't figured out why it thought the eject button on the Apple keyboard was Right Super though.

I also fixed the bike's brakes and the A laser, so it has been a good day for fixing things.

I ignore this for a day and suddenly a week has slipped by. Typical.

gnome-games

gnome-games is well on track for it's 2.6 release. The only work left to do is to finish up the documentation (most of it was updated as I did the work) and fix whatever bugs show up in the latest release. 2.6 isn't going to have everything I wanted in it, but it certainly has moved forward. I'm taking about a weeks break from serious work and then I will branch off 2.7 and start breaking things.

When I took on gnome-games (just after 2.2) there were 130 odd bugs in bugzilla, when 2.4 was released it was down to a hard core of about 50 which are either feature requests or really hard to fix (e.g. aisleriot rescaling). Now, just before 2.6, there are still about 50 bugs. The features I have implemented have all been replaced with new feature requests !

Of course 50 bugs is only about 3 per program so thats really not so bad.

ppc64 and Fedora

I'm now trying to boot-strap a Fedora ppc64 system. Red Hat has built these ppc64 rpms so I thought I'd try them. I can't find any documentation and I have no idea what exact system they are targeted at or whether they are meant to work at all, but I figure there is no harm in finding out. It will be worth it if I can move away from this aging Yellowdog system.

Work

It's progressing, although I'm back to trying to make lasers stable again. One is doing just fine, the other is throwing a hissy fit. The prime suspect is feedback. This means rearranging the optics no matter what I do. It is just a matter of degree. The easiest solutions haven't worked so I think tomorrow it might just be time to bite the bullet and do everything.

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.

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