Essentialism
For the second time, Mark Pilgrim has written up a list of his “essential” software (for reference, here’s the first time). It being Friday, the day when bloggers around the world veer off and post things of very little relevance to important world issues, I feel compelled to do the same.
Wherever I go, there they are
I work with two operating systems on a regular basis: Mac OS X and Ubuntu GNU/Linux. Obviously there are going to be some disjoints between the sets of applications I use on the two, but there are a number of cross-platform apps that I use everywhere, and without which computers wouldn’t be worth using:
- GNU Emacs. I’ve tried other editors, but I always come back. Either they don’t do everything I need or they don’t fit my brain quite as well. Roughly 100% of all the actual work I do is done in Emacs: I write Python code in it, I write HTML in it, I write CSS in it and I write JavaScript in it. I do Subversion checkouts and commits in Emacs. When I need to fiddle with a file on a remote server, I open it directly in Emacs using Tramp or Eldav. There is literally no other editor on this Earth that can match Emacs for power and flexibility.
-
Mozilla Firefox. It’s cross-platform, it’s got great standards support, plenty of useful configurability (especially if you’re willing to dig around in
about:config
) and the range of available extensions is second to none. If you’re a web developer and you don’t use Firebug, go get it right this very minute. You can thank me later. - GNU screen. As you may have surmised, I live in two worlds: one is a web browser and the other is a terminal emulator. Without screen, I’d have, on average, five terminal windows open at any given time; with screen I have exactly one. This is indispensible.
- lftp. I’ve never yet encountered a graphical FTP client that I truly like, let alone one that I like that’s cross-platform. Meanwhile, lftp is ridiculously powerful and full-featured and is available on all the platforms I use. Oh, and I can just nestle it into screen and leave it running all day long.
- irssi. Most of my communication with my co-workers, even when they’re sitting a few feet away from me, takes place on IRC. And, of course, there are channels for all the bits of software I use. And channels where friends hang out. And irssi is hands-down the best IRC client, console or graphical, I’ve ever used. And again, it sits quite nicely inside screen, along with Emacs and lftp.
- OpenSSH. I could list all the things I use SSH for, but we’d be here all year. Instead, I’ll say this: go give them some money so they can keep giving away the world’s finest remote access tool.
Astute readers will notice that everything listed above is Free Software.
Platform hopping
Most other things are optional after that; sometimes there’s a standout application for a particular niche on a particular OS, sometimes there’s just “the best I’ve seen so far”.
-
Terminal emulators: on Linux, aterm is fast, light and nicely configurable (hint:
-fn 6x12 -fb 6x12
is the One True Font Setting). On the Mac, Terminal.app suits me just fine (although, of course, I turn off anti-aliasing). - Mail: on Linux, Evolution. On the Mac, Mail.app. Pretty much everything’s IMAP, so this doesn’t make much of a difference. Not particularly attached to either.
- Instant messaging: on Linux, Gaim. On the Mac, Adium (which uses the core libraries from Gaim). Both are Free Software, both are best of breed.
- Music: on Linux, beep is quite nice. On the Mac, iTunes is good enough that I don’t need to fetch something else.
- Window management: really only an issue on Linux. I discovered Enlightenment six years ago when I first started using Linux, and thus far I’ve not seen anything that seriously competes with it; E0.16 is still my window manager of choice, and I haven’t had to touch its configuration — aside from minor edits to the menus as Firefox appeared and went through name changes — in years.
Are you essential?
Friday also being the traditional day of memes, do feel free to post your own lists of applications, either here in the comments or on your own site.