Prisoners are allowed to vote, I’m not

South Africa is a great country, but sometimes things can be completely crazy. It turns out that even prisoners can vote in the upcoming general election (it’s their constitutional right, apparently), but that I can’t, as I am working in a foreign country. Why are my constitutional rights considered less important? Is it because I don’t steal and pillage in my own country but earn a salary elsewhere?

I’m just wondering.

Read More

Python new-style object method resolution order

Caveat emptor! Due to the diamond-like inheritance structures frequently seen with new-style Python objects (i.e. all objects are derived from the “object” class), the Python method resolution order (MRO) has been slightly adapted.

It used to be left-to-right, depth first. With old-style objects, this almost never caused problems. With new-style, because of the common “object” ancestor, this could cause redundant occurrences (obviously due to the diamond structure). Typically Python, this has been solved in a simple yet effective manner.

Read More

Die, filthy comment spammers!

Spammers represent the lowest form of life, as we’ve established. They also seem to think it a good idea to paste meaningless comments on one’s weblog in order to promote some other website. This weekend, I deleted about 800 of these comments from my weblog. I wish these spammers all die from some extremely painful but slow-acting disease and that they also realise exactly why this is happening to them.

Read More

Converting VCARD to LDIF

So, you want to export all your addresses from evolution (which I use at work) and to import those addresses into your Mozilla Mail (or Thunderbird) at home. Once again, the software really bites. Evolution is too damn retarded to export anything else than VCARD (VCF) files. Mozilla Mail can import CSV (comma-delimited) or LDIF files.

Fortunately, there’s vcf2ldif. It’s far from perfect, but it’s miles better than nothing. Oh, BTW, this will probably segfault on your evolution VCARD file. I bashed its head in with my trusty gdb (a “debugger” to the less refined readers) and this patch is the result.

Read More

Andrew October threatens me with legal action!

Dear friends,

In December 14 of 2003, I read an on-line article that made me quite angry. In short, the article told the story of the time-honoured tradition where kids are encouraged to write letters to Father Christmas (or Santa Claus). The Post Office in South Africa had made an address available to which children could send their christmas lists. Andrew October, a South African journalist, lodged a formal complaint and claimed that this could “break the fragile spirits” of South African children.

Read More

That laptop that you were going to buy me

You do remember that laptop that you were going to buy for me? I’ve changed my mind as to which laptop I want. I would rather fancy a fully-configured Samsung X10, thanks. That would be a 1.7GHz Centrino, 1G of RAM, 80G hard drive and the 8-hour (!) battery, all in a gloriously thin and light 1.8kg package.

Click here and drool.

Read More

I hate spammers. Really.

Some prick has been sending out tons and tons of spam with my ieee.org email address spoofed as the from address. This means I have been getting tons and tons of “delivery failed” mails, as obviousy many of the addresses in the moron’s database are not valid.

I know that he/she has been spamming from a tiscali.it ADSL PPP address via a tiscali.it mail server, but mails to abuse@tiscali.it have had absolutely no effect.

Read More

Windows programming is nasty

I’ve spent two days trying to figure out how to send an ATA command directly to an IDE hard drive from Windows. I’ve finally succeeded, but with an undocumented and unsupported IOCTL call. It turns out that’s the ONLY way to do what I want, at least until Windows XP SP2 is released when the documented and supported version of a similar IOCTL will be made available.

That’s nasty.

By the way, C’T (an extremely technical German computer magazine, fortunately now with a Dutch edition as well) rules in more ways than one. If you’re looking for concrete information on how to abuse IOCTL_IDE_PASS_THROUGH, they’re the only guys who can help.

Read More