Skip to content

Reliably Broken

Notes on Radmind's checksum

It would be nice to do a pure-Python implementation of Radmind’s fsdiff output for watchedinstall, which consists of several white-space separated fields describing the filename’s attributes and an optional checksum for the file.

Read more →

January 1, 2010

Merry Christmas

Thank you to the varied shop staff in London this past week for being without exception polite, enthusiastic and helpful when I asked for help. Especially the girl in HMV Bond Street who spelt Zappa as “zapper” - she was cute. It made tedious shopping joyful.

Read more →

December 23, 2009

Context managers

I was re-writing the exellent watchedinstall tool and needed to simplify a particularly gnarly chunk of code that required three sub-proceses to be started and then killed after invoking another process. It occurred to me I could make these into context managers.

Read more →

December 20, 2009

Snow Leopard: a reactionary writes

Things I like about Mac OS X version 10.6: (Mac OS X 10.6 is also known as Snow Leopard, although I dislike Apple’s use of the operating system codename in their publicity material because it leads to conversations where people talk about “Leopard” and “Tiger” and one has to stop for a second to translate those to actual operating system versions and no-one is ever going to refer to Mac OS X 10.3 as Panther these days, let alone 10.2 being Jagwire or heaven forbid Puma and Cheetah. What are the chances I’ll have to look up the codename for 10.5 by the time we reach 10.10? Version numbers are not so evocative but are less confusing than codenames. This doesn’t mean I will stop naming hard disks after Mac OS codenames - my desktop has Veronica, Gershwin, Harmony and Sonata connected at the moment, with Copland and Pink sitting on the shelf as appropriate…)

Read more →

December 20, 2009

Serving custom Django admin media in development

I’ve just discovered Django’s development server always serves admin media. This is tremendously useful because it means you don’t need to configure a static serve view in your project urls.py during development.

Read more →

December 6, 2009

I am very bad at writing tests

… but I think I might be getting a little better. At least these days when I am writing some script (almost certainly in Python) I start out by intending to write tests. I usually fail because I haven’t learnt to think in terms of writing code that can be easily tested.

Read more →

November 22, 2009

The hidden depths of Adobe CS4

Adobe’s installers and updaters for the Creative Suite are amazingly bad. The updaters actually create a hidden directory /Applications/.AdobePatchFiles and store what I assume are the old versions of the files that get updated. Almost a gigabyte of data on my system!

Read more →

November 12, 2009

Crazy Acrobat installers love Python

Looking through the updaters for Adobe Acrobat 9 for Mac I came across a bunch of scripts written in Python. My favourte was called FindAndKill.py:

Read more →

November 9, 2009

Migrating a Filemaker database to Django

At work we have several Filemaker Pro databases. I have been slowly working through these, converting them to Web-based applications using the Django framework. My primary motive is to replace an overly-complicated Filemaker setup running on four Macs with a single 2U rack-mounted server running Apache on FreeBSD.

Read more →

November 7, 2009

Network users and Mac 10.5 archive and install

When upgrading a Mac from Mac OS X 10.4 (Tiger) to 10.5 (Leopard), remember that network accounts are not included if you do an archive and install and choose to migrate existing users. If a network account had its home folder at /Users/jbloggs then it will have been moved to /Previous Systems.localized/2009-11-06_0346/Users/jbloggs (although the date portion will be the date that you did your install).

Read more →

November 6, 2009