F*ck off Murphy

As I was slaving away at my trusty Linux workstation today, the 30G IBM DTLA 307030 IDE hard drive started making extremely upsetting noises. These are not the kind of noises one expects from a smoothly operating hard-drive, but rather from some mechanical device in the throes of a messy death. Yes, this is one of those IBM hard drives and Paul confirmed that it was exactly this noise that his IBM hard drive made shortly before it went to heaven…

Read More

Euphemisms ‘R Us

This is probably the most elegant euphemism I’ve heard in a very long time:

“Wat de geachte afgevaardigde daar zegt staat op gespannen voet met de werkelijkheid.” which is short for “Hij LIEGT!”.

Vive l’Hollandais!

Read More

Interesting Python factoid of the week

>>> def someFunc(someParam, someDict={}):
...    someDict[someParam] = someParam
...    print someDict
...
>>> someFunc('hello1')
{'hello1': 'hello1'}
>>> someFunc('hello2')
{'hello2': 'hello2', 'hello1': 'hello1'}
>>> someFunc('hello3')
{'hello2': 'hello2', 'hello3': 'hello3', 'hello1': 'hello1'}
>>>

The moral of this story is: be careful when using default parameters for dictionaries, lists and such like. One could be forgiven for thinking that the default parameter gets initialised with every invocation, but that is clearly not the case.

Read More

I rule

I spend quite a chunk of my time hacking on VTK (the Visualization ToolKit), one of the better examples of open source.

I’m particularly proud of the fix I made today though, as it’s quite deep in the VTK object hierarchy. Shows you how much it can help to construct an isolated test case that breaks something before you start debugging. First I present the problem along with my test case (I ran into the problem whilst hacking on large GUI+VTK project) and then, after considerable amounts of Rooibos tea, the solution.

Read More

I R ekstreem chess playir.

In order to try and improve my pitiful Chess abilities, I’ve started playing online chess-by-email games via RedHotPawn. If you would like an ego boost, get yourself an account and challenge me. It shouldn’t take you more than a few moves to take my king out. My login is, you guessed it, “cpbotha”.

Read More

The Linux-running Entertainment PC that I can’t afford right now

EUR166 for a Via EPIA C3 800, EUR110 for a Starex Mini-ITX case, EUR55 for 256MB of PC133 SDRAM, EUR57 for a LiteOn 16x48x DVD/CD-ROM, EUR115 for a Western Digital 80GB HDD and EUR50 for miscellaneous expenses brings me to the grand (and currently unaffordable) total of EUR553.

Maybe I should rather upgrade my home network infrastructure with a new 100Mbit/s switch and wait a few years until the components above are available for a song. :)

Read More

Joe “Zonker” Brockmeier is an uncivilized barbarian

A while ago, I read this fluff piece about Python. As with most fluff pieces, it was quite inane, but our anthropologist wunderkind Joe “Zonker” Brockmeier succeeded in citing Guido van Rossum incorrectly as “Rossum” instead of “Van Rossum” no less than six different times.

I went through the very tedious process of registering for a login at the offending site in order to post my thoughts in the talkback forum on this embarrassing faux pas. My post never appeared in the talkback forum, but: all except one of the incorrect citations were silently fixed.

Read More

Bruce Perens came down from the mountain

I have often heard the open source phenomenon (if you want to get pedantic with me about open source vs free software, start by blowing it out yer ass: I’m going to be pragmatic about it and use the two interchangably) compared to religion, but last night was the first time that I had this almost religious open source experience. In spite of all the grudges I have against organised religion, this experience was altogether quite a pleasant one.

Read More

mv blog evolution

Paul just pointed this out: In Ximian Evolution, open your “Summary” window, Select “Tools|Settings” from the menubar, select the “News Feeds” tab under “Summary Preferences”, click on the “Add news feed” button and add this URL: http://cpbotha.net/weblogs/cpbotha/index.rdf Now select this feed from the left hand list and click on the “Add” button in the middle.

Your Evolution summary window will now contain a live listing of my weblog. JOY! Get this URL from any Movable Type weblog by copying the “Syndicate this site (XML)” link.

Read More