My little bulk file renaming script. Inspired by the venerable rename Perl script, my version uses Python regular expressions and focuses on safety. That's not just important, it's super-duper important! Bulk renaming is dangerous enough, but add regular expressions into the mix and It's all too easy to shoot yourself in the foot!

Can Snakes & Ladders last forever?

Several Christmases ago I found myself horribly bored. I was stuck at my mother-in-law's house. In the absence of anything else to do, my kids and I spent the morning playing Snakes & Ladders. They found it dull. I was about ready to jump through window just to escape one game that just never, *ever* seemed to end.

Childrens' Game to Punish PCs

Snakes and ladders is a boring game. But just how boring, exactly? Is it possible to bore a computer so much that it self-destructs? Let's try it and find out...

Tidy Caseless Ordering in Django

Sorting by name in Django is a common admin annoyance. By default upper-case names come before lower-case ones because of their raw ASCII encodings. This isn't fun to try and explain to clients. For years I've ordered my models using a forced lower-case slug, but sometimes you need the big guns: database functions. Let's use that powerful ordering, while keeping our code nice and neat.