Ads Via The Deck
My name is Kieran Healy and I am a sociologist. I teach at Duke University. I contribute to two blogs, Crooked Timber and OrgTheory. My research is mostly about market-and gift-based exchange in things like human blood, organs, genetic material, cultural goods, software, and ideas.
Mostly things made by Apple. The first computer I owned was a PowerBook 145B that I bought in 1994. Between about 1998 and 2003 I had a couple of Dell towers and an OEM laptop sold by a now-defunct Linux outfit. Then I switched back.
My office computer is a 2009-vintage 24” iMac - a 3GHz Core 2 Duo with 4GB of RAM and a 1TB hard drive. It’s attached to a 24” Apple LED Cinema Display so I’m pretty spoiled for screen real estate. I use the Mighty Mouse, which I don’t particularly care for, and Apple’s USB keyboard (the flat one, with the numeric keypad), which is tolerable but not great. The iMac has two backup drives plugged into it. A Western Digital MyBook works as a bootable clone. Until two weeks ago the other drive was a MyBook too, and used as a Time Machine volume. But it failed miserably and has now been replaced by a 1TB LaCie Starck drive. Like ISPs, Hosting Providers, and parents, everyone loves the brand of hard drive they use until it unexpectedly fails them. This makes it difficult to get anything other than anecdotes about what to buy - especially if you’re not springing for something really pricey. So we’ll see how the new one works out.
I also have a late 2008 15” 2.4 GHz Core 2 Duo MacBook Pro. In retrospect this was a transitional model: the first unibody MBP, with all the goodies that came with that, but still with the removable battery. It would have been nice to have been able to wait for the newer ones, but it’s still a very good machine. It has a LaCie Starck drive associated with it for backups.
I have a 16GB iPhone 3GS that I use all the time, as well.
The Usual Suspects: Mail, iCal, iChat, Safari, Terminal. Each has its annoyances (iCal especially) but I try not to fiddle around with these apps too much, for reasons which will become apparent in a moment. Because so many of the people I work with or teach use it all the time, Microsoft Office is also a necessity. For me it functions mostly as a glorified file reader. Excel is the only one of its components I spend any time working in, usually when collating or cleaning data.
Some Utilities: I use a few things that make day-to-day tasks easier, so much so that I just take them for granted as part of the OS at this point. LaunchBar has a lot more functionality than I actually make use of. MacFUSE makes it easy to have my office machine or various servers conveniently available. DropBox is terrific and I use it more and more. It’s shocking that MobileMe’s iDisk (or whatever it’s being called these days) can’t work as smoothly as this. I clone disks with SuperDuper. (Their customer support is terrific, by the way.) After a few failed attempts at finding a good automatic offsite backup solution I recently began using Crashplan to mirror my wife’s office computer on mine, and vice versa. It seems to be working out pretty well. 1Password is the add-on I would miss most if it went away.
Fred Stutzman’s two little apps, Freedom and Anti-Social, are increasingly necessary for my well-being. They cut your computer off from the Internet altogether (in the former case) or from its social bits (in the latter). The newest Safari has a plugin architecture, so I wonder whether some equivalent to LeechBlock can be far behind. I’d use it. Now, maybe there’s something wrong with a sociologist who needs to be disconnected from other humans in order to get anything done. But that’s the way it is. If nothing else, these utilities make it much easier for me to explain some of Jon Elster’s ideas when I teach social theory to undergraduates.
Workflow Agonistes: I’ve written about this elsewhere, at greater length. Doing good social-scientific research involves bringing together a variety of different skills. There’s a lot of writing and rewriting, with all that goes along with that. There is data to manage, clean, and analyze. There’s code to be written and maintained. You’re learning from and contributing to some field, so there’s a whole apparatus of citation and referencing for that. And, ideally, what you’re doing should be clear and reproducible both for your own sake, when you come back to it later, and the sake of collaborators, reviewers, and colleagues. How do you do all of that well? Available models prioritize different things. Many useful tricks and tools aren’t taught formally at all. For me, the core tension is this. On the one hand, there are strong payoffs to having things organized simply, reliably, and effectively. Good software can help tremendously with this. On the other hand, though, it’s obvious that there isn’t just one best way (or one platform, toolchain, or whatever) to do it. Moreover, the people who do great work are often the ones who just shut up and play their guitar, so to speak. So it can be tricky to figure out when stopping to think about “the setup” is helpful, and when it’s just an invitation to waste your increasingly precious time installing something that’s likely to break something else in an effort to distract yourself. In practice I am only weakly able to manage this problem.
I try to keep as much as possible in plain text. I track most of my writing and all data projects with git. Apart from the many benefits of using good version control, I like the routine of change-commit-push and the feeling that comes with it of having made a little progress. I do most of my writing and all of my data analysis in Emacs 23, which I run full-screen on the left-hand monitor (usually split into a couple of windows). If I’m not using Emacs to write I am probably using TextMate. The right-hand monitor is for looking at output, either PDFs displayed using Skim or graphs and figures produced during data analysis. Inevitably, I have tailored Emacs to suit myself. Thanks to the recent revival of interest in Emacs amongst a younger generation of coders, managing this configuration is much more rational than it once was. I use a modified version of Eric Schulte’s Emacs Starter Kit, which is in turn an offshoot of Phil Hagelberg’s original. Like both of these, my version is available on github. It provides a drop-in, fairly comprehensive and reasonable set of modes and defaults for Emacs on a Mac. It’s oriented to people working in the social sciences.
If a document is going to be simple (a review, a lecture, a letter, etc), I usually write it in Markdown. This can be converted to pretty much any useful format by way of Pandoc. More recently I’ve experimented with org-mode, as it also exports documents nicely. More complex documents - scholarly papers, reports detailing data analyses, notional book manuscripts - tend to exceed the limits of what Markdown or its more tricked-out relations can comfortably handle. The biggest stumbling block is the tedious but necessary scholarly machinery of citations and bibliographies. In practice is hard to deal with that using a lightweight markup format. (This is partly the fault of inefficient citation conventions in the fields I work in, but I can do little to change those.) There are various possibilities out there, but I find they’re either too limited or threaten to turn back into something more ungainly than weightier alternatives, which defeats the purpose. In those cases, I find myself falling back to writing in LaTeX. Take Emacs and add AucTeX + RefTeX + Biblatex + a modern TeX distribution. I wrote my Ph.D and a book that way, so the sunk costs of long use make it very easy to use. I manage bibliographical databases in Emacs using ordinary /.bib / files and git. I tried using BibDesk to manage that stuff in the GUI (and store PDFs alongside the references) but it didn’t take.
Integrating data analysis with writing is also something that Emacs shines at. ESS is an add-on to Emacs that allows you to do your data analysis inside the editor. It works with several statistics packages, but I do all my data work using it together with R. Thanks largely to Eric Schulte’s efforts, Emacs’s org-mode has acquired a generalized literate-programming framework that works very well with R and ESS, too, while giving you the arsenal of note-taking, outlining, and task-management tools that org-mode provides. I haven’t used it very extensively yet, as I have never been able to get into using such systems despite a couple of efforts in the past. The literate programming approach, while perhaps not so great for actual software development, can be a surprisingly good way to do exploratory data analysis and write-ups.
On the hardware side, there’s that absurd productivity counterpart to the hedonic treadmill, where for some reason it’s hard to get through the to-do list even though the café you’re at contains more computing power than was available to the Pentagon in 1965. So fundamentally I have no real complaints on that front. I’d like to think that my dream setup is presently being implemented by someone somewhere, and it’s so awesome I don’t know what it is yet. I think that’s what a lot of people looking at the iPad were hoping to see: something really new and effective in computer design, something that mades the gap between thought and outcome narrower, something that wasn’t already there in embryo in the 1960s or ’70s.
As for software, I often find myself wishing for transparent syncing between machines. I think the dream here would be a world not just where syncing always worked as expected for files, calendars, and the like, but where if you wished you could open your laptop at home and have it assume the state you left your desktop in at work - with the same applications open, and so on. Many services are reaching in this direction for particular items or tasks. Of course, just having a laptop that did everything you needed is another way to get there. But you’d have to bring it everywhere.
I also wish that every good software idea I see could move rapidly to the point where it has an elegant implementation that can quickly and simply be set up by someone like me. To pick an example at random, I want it to be trivially easy to set up the kind of draft-and-comment system that Bryan O’Sullivan and his collaborators put together for their Haskell book.
Ultimately, wish-lists are constrained by the gradual accumulation of one’s own habitual way of working. It can make transitions to new things, even wonderful new things, difficult or irrational. One of the smartest people I’ve ever known spent half of his career writing on a typewriter and the other half on an IBM Displaywriter. His backup solution for having hopelessly outdated hardware was to keep a spare Displaywriter in a nearby closet, in case the first one broke. It never did.
There are many things I dislike about the writing/data/coding setup I use. Emacs carries so much baggage with it, it’s tiresome. Some of this is my own fault, what with the array of settings that accrete over time. But some of it is just stuff inevitably carried forward from the 1970s and ’80s in the application’s conventions, interface, core design, and so on. I resent its lack of consistency with the rest of my operating system. I resent the way its preferred means of solving your problems is first to have you surrender to it completely. Mike Hall’s brilliant “Org-Mode in your Pocket is a GNU-Shaped Devil” captures this feeling very well.
The trouble is that it’s free, open, stable, cross-platform, and - when properly put together - really, really good at doing the things that I need it to do. Its natural replacement on the Mac should of course have been TextMate. For a while a few years ago it looked like that was going to happen. The application was great, it could to the text-editing stuff really well, it was beginning to catch up on the data analysis side. There was a very positive development community building around it that accomplished a great deal. Perhaps it will still happen, perhaps not.
But even if TextMate 2 drops from the sky fully-formed and marveled at by all, Emacs will still be there, waiting. It will be there when the icecaps melt and the cities drown, when humanity destroys itself in fire and zombies, when the roaches finally achieve sentience, take over, and begin using computers themselves - at which point its various Ctrl-Meta key-chords will seem not merely satisfyingly ergonomic for the typical arthropod, but also direct evidence for the universe’s Intelligent Design by some six-legged, multi-jointed God.