Sometimes Stuff Works

Last week I bought a new video card. For those who care about such things, it’s a Sapphire Radeon 9600 Atlantis 256MB, which is actually a 9600 Pro chip even though they don’t seem to mention it. This was a good (but not great) card a year ago. There are certainly much faster cards out there nowadays, but this is still a respectable card capable of handling all but the very most demanding sorts of games (which I don’t play anyway) at decent speeds, and the price is right.

The interesting part, though, is how well the upgrade went. The first part was just getting the card physically into vilya, which is kind of small and was already pretty full. I got through that with only the usual amount of wrestling, though, and moved on to software. Windows XP came first, and didn’t disappoint. The first time it came up at low resolution, and wouldn’t switch to a higher one (though it thought it did) until I rebooted, but other than that it was fine. Then I hunkered down to get the card working under Linux. I’ve commented before on how much of a pain it can be to configure video under Linux, but I was pleasantly surprised there too. I made what seemed to be the most obvious changes to XF86Config, based on knowing the driver name and looking in /proc/pci, and it worked first time…maybe even a little easier than in Windows (no rebooting necessary). Total elapsed time was about an hour and a half, which is far less time than I expected.

I’ve noticed two other things since the upgrade. The latest XFree86 driver update for the built-in Savage video introduced a problem that caused the left edge of the screen to go all jittery whenever I did anything that generated a lot of interrupts or bus activity (e.g. moving a window around, downloading a large file). I had tried a couple of things to see if I could make it go away, but then I just started spending more time in Windows where the problem didn’t exist. That problem is obviously gone. The other thing is that operations I wouldn’t expect to be affected seem to be faster. I wouldn’t expect web browsing to be different, for example, but it definitely seems snappier than before (especially under Windows). Overall, this upgrade – unlike so many others – has been a very positive experience.

Weather Report

Yes, there was a lot of snow here yesterday. Yes, it took a long time to dig out of it. I spent about three hours shoveling what was literally a ton of snow according to my best estimate. Amazingly, I don’t feel all that sore. Other than that, I’m sure any of a hundred weather sites could do a better job than I could of describing the conditions. About the only unique contribution I might be able to make would be pictures of some neat shapes – knife edges and cornices and such – that formed in the drifts by one corner of the house. I’ll see this evening how those pictures turned out, but snow is tricky to photograph so I can’t make any promises.

Game Theory

One of the foundations of my political belief system is game theory, and in particular the findings from games like the Iterated Prisoners’ Dilemma involving evolutionarily stable strategies and cooperation vs. (destructive) competition. Accordingly, I follow developments in that area with great interest, and today there’s some news about a game which provided some intriguing results.

The researchers were able to divide their subjects very cleanly into co-operators, free-riders and reciprocators, based on how many tokens they contributed to the pool, and how they reacted to the collective contributions of others. Of 84 participants, 81 fell unambiguously into one of the three categories. Having established who was who, they then created â??bespokeâ? games, to test whether people changed strategy. They did not. Dr Kurban and Dr Houser were thus able to predict the outcomes of these games quite reliably. And the three strategies did, indeed, have the same average pay-offs to the individuals who played themâ??though only 13% were co-operators, 20% free-riders and 63% reciprocators.

What this means, once you cut through some of the jargon, is that 13% of the players persistently tried to create mutual benefit while 20% tried persistently to benefit at others’ expense. That’s a slightly disheartening commentary on human nature, but potentially more significant is the fact that the outcomes did not encourage either one to change. The cooperators did not see the free-riders doing better, and the free-riders did not see the cooperators doing better. Unfortunately, while the abstract is available online, the full text isn’t (or at least not yet) so it’s not clear whether the players actually had access to information about other players’ performance, so perhaps the result is meaningless. If they could see how others were doing and still didn’t change, that would mean that the system Kurzban and Houser studied is an example of one in which the question of whether to cooperate or compete does not have a single unambiguous answer. Maybe the players realized that at some level, and that’s why 63% chose an in-between strategy.

When is a Bug not a Bug?

I’d like to pose a bit of a philosophical question for the programmers who constitute a significant subset if not an outright majority of my readers. I know what my answer would be, but I don’t want to bias the sample by stating it until I’ve heard a couple of other opinions.

Let’s say that you have a piece of code that usually runs in the kernel. Being a responsible developer, you can also run unit tests on it in user space, and you find a race condition in the unit-test environment. You cannot reproduce the problem in the live environment because the timing and scheduling are completely different. You could add more code to prevent the race but, since you couldn’t reproduce the original problem anyway, you can’t really be sure whether it’s doing any good (or that it’s free of side effects).

The question is: is this a real bug? What additional tests or information would help you decide whether it’s worth fixing or not? If you decide not to fix it, what would you do with the unit test that is failing?


One of the problems I often notice both professionally and online is the attitude of some people that respect is like something you purchase – you pay your price once, and then have it forever. Maybe in some hierarchical environments such as the military respect some semblance of it based on rank really does work that way, but in most of society respect is more like a rental – it dissipates over time, so you have to keep earning it anew. Unfortunately, people who are fairly new to the experience of feeling like an expert on something often seem to have trouble adjusting to the idea that they can’t just sit back and rest on their laurels forever. They often react very badly when they feel that they’re not being given their due, almost as though someone were trying to steal something from them.

This problem is particularly insidious in online forums, because anybody who ever became a regular at one starts to consider themselves an expert at discussion itself. Just as nobody on the net knows you’re a dog, though, nobody knows you’re a god either. Somebody who believes they have earned universal respect might be shocked to find that nobody else knows that, and that they still have to work to have their views taken seriously. Countless stupid flame wars have started for no other reason than that such a person tried to take out their frustration about this on the people who the feel cheated them of their deserved position in the local pantheon.

The solution, of course, is as simple is it is unattainable: simply accept that respect can only be rented. Railing against that is like railing against gravity, which of course doesn’t stop people from doing it but does cause them to lose even more respect in others’ eyes.

New Year’s Amy

Actually these pictures were taken on New Year’s Eve, but that’s life.

Sleeping on Daddy Playing with Grandma Ruth

There’s also a short Video (908K WMV) of Amy showing off her new repertoire of pre-verbal sounds.

Foreign Aid

For all of those who claim the US is generous rather than stingy, and who make “convenient” claims that the obvious shortfall in public foreign aid is outweighed by private aid, consider this. When public and private foreign aid are added up, the US ($0.18 per person per day) falls below all but a handful of other countries – Italy, Greece, Spain, Portugal, Australia and New Zealand. Those last two were pretty surprising, and dismaying to me personally as an admirer of both countries. At the top of the list is Norway, whose residents ($1.26/person/day or 7x the US figure despite similar per capita GDP) might be forgiven for perceiving the US as being a bit stingy. Maybe we’re not exactly evil uncaring ogres, but we could – and IMO should – do better.

And yes, I would be raising the average even if I moved to Norway. Any hostile comments from people who can’t say the same will be summarily deleted.

Comment Passwords

In response to a flood of comment spam, mostly trying to advertise online poker or sell poker-related garbage, I’ve implemented a comment-password system. Basically you just have to read the instructions and enter the very obvious password into a particular field for your comment to be accepted. There’s no secret to this; it should be trivial for a human to make the adjustment, but the process is just different enough to foil (the current generation) of programs the spammers use to waste other people’s resources instead of paying for their own advertising like honest businesspeople would.