The setup

10 July 13. [link] PDF version

Inspired by Mr.s Apiolaza and Lumley, here's my technical setup. It's pretty different from what I understand to be the norm, and I can't imagine a blog entry in under three pages, so I have some added background. Next time, it's back to the regularly-scheduled computational epistemology.

Who am I and what do I do?

I work at a large government bureaucracy doing large-scale computing on data sets the size of the United States population. I've written a few books on tech policy and computing technique. I'm very interested in better social science modeling.

What hardware do I use?

If you asked me about my setup when I was a poor college student in London, I would have shown you a box with three floppies, including all my work, a basic TeX installation, and sundry other utilities. When I got to a computer lab (remember those?), I'd spend ten minutes copying setup files from the floppies and then get to work. I eventually upgraded to a five-disk box, and added a C compiler and text-mode spreadsheet program.

I can still do this: if you give me a computer with no operating system, I can make myself entirely at home rather quickly. This isn't hypothetical: I am a klutz and break pretty much anything you give me. I think I have to do a reinstall from scratch maybe every year and a half (not to mention the new instances of virtual machines in The Cloud, which also start as a tabula rasa).

I asked Hadley Wickham what he saw for the future of computing, and one of his points was that we currently bring the data to the computer that does the analysis, but in the future we'll bring the analysis to the data, because it's easier to copy over some scripts than to mirror a many-terabyte, constantly-updated dataset. At work, due to bureaucratic restrictions, I already often have to bring my analysis to a data set that has to remain encased in a certain metal box.

Writing—code or plain text—is interesting for the imaginary structures that we produce. The hardware is just the palimpsest we use to get there. In recent memory, I haven't paid more than about \$250 for a laptop, because if I pay more I'll feel bad when I break it. That's what I paid for the Dell just-above-a-netbook that I am writing this on. In the past, I usually bought refurbished or off-lease netbooks off of eBay.

So that's the hardware that I use to develop high-performance computing software. Because I am comfortable using the tools I develop on a disposable netbook, I know that people on top-of-the-line rigs are having a great experience, and that a user who was lucky to score a four year old hand-me-down can also comfortably use my software.

I use an external ergonomic keyboard every chance I get. I also have an external monitor, so when at home I don't even look at the laptop itself. At work, I ssh in to the same laptop, so the physical hardware is again largely irrelevant. I replaced the spinning-metal hard disk with an SSD, and expect to keep doing that until cheap laptops come from the factory with SSDs.

Other hardware: my telephone is a Palm. It has a terminal application so I can ssh in to the Dell, and I can use it for tethering, because the phone companies are too busy trying to restrict Android and iOS users to bother with me and the other four remaining Palm users. It has a hardware keyboard and plays mp3s and takes photographs just fine. I have a large-format ebook reader, because much of academia is about PDFs, and it's nice to look at something that isn't an LCD screen where possible. I accept that both of these things will break, and don't seriously depend on them (beyond the basic telecommunications part of the telephone).

I have a big pile of backup drives. They have saved me many times over, both from hardware failure and my own mistakes.

What software do I use?

What's on the screen follows somewhat similar principles of being as portable as possible.

First, if I need a license or some other sort of permission to use the software, then it's not portable. It's that simple.

My bureaucracy asked me to produce an Application Inventory, so I already have a list of what I use for work; here it is with some modifications for our current purposes.

[Previous entry: "Hierarchies and chains"]
[Next entry: "The model asserts the likelihood"]