Recent Posts

OpenID

You can now sign in to leave comments here (yes, dear readers, both of you!) - using an OpenID if you have one, and in related news, I've got m'self a shiny ...

The beginning of the end of an era

As I write, the sun is up, the bells are ringing, and Oxford is dragging itself out of bed for another day. It's slightly sobering to think that I've just li...

Model inheritance in Django

a.k.a. "How to query for all objects not in a given subclass" I ran across this problem today - do please leave a comment if you know of a better way to solv...

Introducing Bogroll: a stateless RSS reader

My main problem with RSS readers is that if I go away for a few days and come back, I don't really have time to catch up with all the posts which came up whi...

My smartphone dilemma

Stopping overnight in Reading last weekend, with a complete lack of reading material, I picked up an actual dead-tree copy of PC Pro magazine for the first t...

We all make mistakes

Next time one of your application or websites goes wrong and the users shout at you, take comfort in the knowledge that even Google sometimes Get It Wrong......

VPNC mysteriously broken in Intrepid

Edit: As Michael points out in the comments, Oxford users can avoid the mess below by simply disabling hybrid mode. So there I am, firing up the Advent to re...

Secret Santa Python script

I've just finished a Python script to shuffle the names for Secret Santa and email each participant the name of the person they're giving to. Thus if you're ...