Harissa

Published at 20:02, Sat 25 Oct 2008

Tags

What do you do when you’ve got a large collection of chillies in the house? Well, if you’re us, you make harissa.

More…

Doors Open

Published at 17:29, Sun 28 Sep 2008

Yesterday was the 2008 Doors Open Day in Edinburgh: each year, for one day only, a variety of buildings open their doors to visitors, free of charge. A large number are places that you’d never normally get the chance to visit.

More…

Unbreaking <img align> in Opera

Published at 18:50, Sun 10 Aug 2008

Opera has what seems to be a peculiar bug in its treatment of HTML <img> elements that have align attributes. Fortunately, it’s relatively easy to work around.

More…

The runN program

Published at 12:40, Wed 9 Jul 2008

Nearly a year ago, Mark Jason Dominus blogged about runN, a program he’d written. I’ve stol– uh, I mean, adapted his version for my own ends, with a couple of differences. This is a rationale for my changes.

More…

CVS hatefulness

Published at 20:58, Tue 20 May 2008

CVS might be considered an easy target for software hate, but that doesn’t stop it annoying the hell out of you. Here’s an instance I encountered today, trying to use cvs annotate.

More…

I can haz new fayvrit website?

Published at 12:31, Tue 13 May 2008

Tags

I’ve been a fan of I Can Has Cheezburger? for a while, and I tend to find that the pictures I like most are the ones with cats doing, you know, cat things — sod the captions.

So, now that I’ve found Cute Overload, well, this seems likely to be my new favourite website.

How about a few samples? Oh, go on then.

More…

Tries and Text::Match::FastAlternatives

Published at 17:01, Tue 6 May 2008

I’ve just released version 1.00 of my Text::Match::FastAlternatives Perl module. Since I’m apparently declaring it stable, I thought it was worth writing up a description of what it does, and how it does it.

Suppose you have a large list of strings, and a set of keys, and you need to determine, for each of the strings, whether any of the keys occur in it. For example, the list of strings might be a list of user-agent headers sent to a web server, and the keys a set of strings that are good indicators of robots accessing your site; you want to calculate some server statistics, but disregard any robotic traffic.

How do you go about doing that?

More…

DRM always hurts in the end

Published at 14:05, Tue 6 May 2008

Tags

Once upon a time, Microsoft set up MSN Music, a store for selling limited rights to listen to DRM-encumbered music. It turns out that Microsoft are retroactively cancelling customers’ ability to, you know, actually listen to the music they’ve already forked out money for.

More…

Speeding up SSH logins

Published at 18:48, Mon 28 Apr 2008

SSH is great; it’s highly secure, and actually easier to use than insecure alternatives like rsh or Telnet. In fact, it’s so easy to integrate SSH with everything else you do that it’s commonplace to rely on it for all sorts of things. But oddly, that very ubiquity tends to reveal an unexpected problem when you try to use SSH for, say, accessing a revision-control system: merely connecting to the remote end and performing the handshaking necessary to set up the encrypted channel takes an appreciable amount of time.

So herewith instructions on how to eliminate that overhead.

More…

Tracked-but-uncommitted files with Git

Published at 22:36, Sun 27 Apr 2008

Something I find awkward about Git is that it doesn’t seem to deal with the concept of a tracked but uncommitted file — that is, the situation you’d get into with CVS after running cvs add on a new file, but before committing that file to the central repository.

More…