Culture Ship Randomizer

Mar 22, 2015
Tags: The Culture Jekyll Web Development

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.

A little background on Culture Ships: Some of the series' most important characters are the sentient machine based intelligences known as Minds. Each mind at the heart of a Culture Ship has its own unique and distinctive personality. To identify themselves, these ships choose their own names—often reflecting a particular aim or generalized personality. There are a lot of these ships in The Culture, and meeting them has become one of my favorite parts of reading the books. Re-purposing the ship names for random test databases and the like just seemed like a perfect fit to me.

Building out the tool with Jekyll and Github was super simple. Jekyll Collections and YAML data files let me quickly and easily tie together data about the books and ship classes with specific info for each of the ships. I also included a Ruby script that Jekyll builds when generating the site to let me call new names right from the command line. Github makes publishing the whole thing online effortless.

Have a look at the project repo if you want to learn more.

The Distress Signal is the personal blog of Bryan Schuetz. Bryan has been complaining on the Internet since the 90s. If you'd like to get in touch with Bryan, you can find him on twitter.