Articles

RErename

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.