So, I ended up having a go at the ICFP contest last weekend, in a team with Alex and Chris. We set out with the specific intention to have fun and not worry about winning, and our score (as team ElvisDownUnder) reflected this.
The contest didn't seem to be in a similar style to those of previous years; it was more a generic "programming to solve hard problems" contest like the ACM programming contests. Of course, they didn't tell you this; you were given a VM spec and a binary blob to run within the VM, and once you ran it you found a bunch of puzzles and some code to verify your answers to them. Which was less fun, I suspect, then the form the ICFP contests usually take.
I did learn some useful things, though
- optimisation without profiling is silly (I already knew this, but re-learnt it), and documenting assumptions about usage patterns and corresponding tradeoffs can help hugely.
- learning LISP would be quite useful
- even re-learning Haskell would be quite useful
- as would re-learning Prolog
The Sunday evening degenerated into unproductivity, to the point that Chris brought out his stash of USB floppy drives, and I built a high speed RAID 0 array out of them, capable of streaming video at 45KBytes/s.
Another part of this unproductivity involved me adding code to my C VM implementation to provide a monitor mode, including a disassembler, and breakpoints. The hope was to work out how the "publication" strings that indicated you'd solved a puzzle were generated, and to produce a bunch of fake ones to elevate our score just high enough to worry people. This proved to be too much work for a Sunday evening, however, and all I have to show for it is some emacs windows full of disassembled code, with added comments demonstrating my lack of understanding of what it was doing.
But it was fun enough, and I ate many raspberry buns.
Update: at least it seems I wasn't the only one to have trouble with an inefficient allocate operation.
It's about time.
iTalk, a Slingshot/Callplus VoIP service, and AFAIK the only VoIP service in NZ available over the Internet that provides free local calling, now provides Wellington local numbers.
Admittedly, they've been promising this for a long time. But until recently they only gave out Auckland numbers.
Well, I've converted the blog to Typo on Ruby On Rails on PostgreSQL from WordPress on MySQL.
This was, er, interesting.
The WordPress converter that comes with Typo expects the WordPress database to be part of the same MySQL install (and accessible by the same user) as the Typo database. So it needed hacking.
It also didn't work with the new Typo from SVN. More hacking ensued. It still didn't transfer over the comments, but by this point I didn't really care.
And I can't persuade Typo to run with suexec or fastcgi. So it's slow (and AJAX plus slow equals even more slow), and I have to chmod 0777 things that I'd really rather not.
Bother.
At least I've prodded mod_rewrite into making the URLs for the old WordPress Atom/RSS2 feeds work. So your blog reader will probably make all the posts appear again. Ha.
Update: and FastCGI works now; I was missing the libfcgi-ruby package. Oddly enough, dispatch.fcgi never complained when I ran it from the command line. Grr.
Update update: Comments dragged in, too. Yay.
I'm giving a talk at the Wellington Linux Users Group tonight on Xen. You must all abandon your carefully made plans and come along and heckle^Wbe supportive.
Update: It went well, got a few positive comments, obviously everyone was too scared to give me any negative feedback. Slides are here.
Well, as you will have all heard by now, the Government has announced plans to unbundle Telecom. Their share price has already taken a hit in Australia, and doubtlessly will here too when the markets open.
There's just one problem. According to this article, it's not going to happen soon enough:
Mr Cunliffe said he had enough support to pass the changes into law by the end of the year. Consumers would start to see the benefits from 2007 and changes would be fully in place by 2008.
So we're still not going to see anything for another year, and this will just discourage others from building out competing networks, as "they can just use Telecom's" -- if it's still there in an unbundleable form by the time the legislation takes effect. Because this is not going to be easy -- does anyone seriously expect Telecom to just roll over and let this be done to them without a fight?
If you find this interesting, you're officially a geek. It details the reverse engineering of skype. Short version: run away screaming; the code is obfuscated to avoid reverse-engineering, but has security holes. Security holes that are now public. Security holes that allow people to use your skype client to portscan other people, and worse.
Alas, the soundtrack CD of This Is Spinal Tap isn't really that great. I think it was mixed all wrong.
I'm there! Why aren't you?
Okay, so you probably have a good reason. The IPv6 session this morning was good. As was the BGP multihoming/troubleshooting session. But I need more sleep.
I've been through a few DVD rental services. I started with DVDunlimited (even have the t-shirt), but their shipping became slow and so I went to fatso. Who seemed okay. But scratched DVDs were annoying, especially as PC-based players don't seem to cope too well with them.
This came to a head when I rented the first series of The Saint, and every DVD was scratched and hard to play. I looked at Movieshack's website (ironically, the first DVD-rental-by-mail service in NZ I heard of, and the only one I hadn't tried), and discovered that they claimed to actually check DVDs for scratches when they were returned rather than when people like me complained. And started yet another two week trial.
They seem pretty good so far. Certainly, I've had no trouble reading any of the DVDs they've sent.
Listen to a ZX spectrum load up a game in the background to some pretty poor dialogue courtesy of CSI:Miami.