Distress Signal

We shape our tools, and then our tools shape us.

Culture Ship Randomizer

I have to name things all the time—servers, databases, directories, functions, classes, mixins, etc. It's kind of a pain. As everyone knows:

"There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors."
—Phil Karlton

As I've said before, I'm also a big fan of Iain Banks' Culture Series. That's why I built this quick and easy tool to generate Culture Ship names at random, for whenever I need to use a random name. OK, it was mostly an excuse to learn how Jekyll's newish collections feature works—but two birds, one stone, and all that. There's even a bundled script for generating names at the command line.

↪ Read More


I'm currently reading the fifth book in Iain Banks' Culture Series and I think it may be the best one yet. At least, it finally provides that in-depth view of the Culture one looks for after four books of skirting around on the periphery. Banks fills all the books with such an amazing amount of creative detail that the history, geography, and ecology of even minor civilzations jump from the page. A case in point, is this brief description of Tier:

Tier was a stepped habitat; its nine levels all revolved at the same speed, but that meant that the outer tiers possessed greater apparent gravity than those nearer the centre. The levels themselves were sectioned into compartments up to hundreds of kilometres long and filled with atmospheres of different types and held at different temperatures, while a stunningly complicated and dazzlingly beautiful array of mirrors and mirrorfields situated within the staggered cone of the world's axis provided amounts of sunlight precisely timed, attenuated and where necessary altered in wavelength to mimic the conditions on a hundred different worlds for a hundred different intelligent species.

↪ Read More

Open Table Alerts

Sometimes I forget to do stuff. Like making reservations for Valentines Day Dinner weeks and weeks in advance because the girl wants to go to some super popular restaurant. What to do? Well, if the restaurant refuses to keep a stand-by list and is wired up to something like Open Table it's not as bad as you might think.

I knocked up this quick script to query Open Table for available reservations for 2 with the target restaurant at 7:00pm on the 14th. If it's still all booked up, I'll get a very sad notification from Resicat letting me know. If there's a cancellation and something opens up, Resicat will speak up and give me a link to book the newly opened table.

↪ Read More

National Cathedral

↪ Read More

Page 1 of 9