« Experince Using MovableType for work at a University | Home | Swab, then scour »

June 27, 2002

Choice of tools: Emacs and Pine for me again

It's interesting how your choice of tools is influenced by the environment you're working in. I worked at a university-based ISP for years (CICNet) before I went to CNN: I used Pine for all my email, some Emacs, some MS Word, etc. When I went to CNN, I started using a new set of tools to manage my email and work life: Microsoft Outlook had my calendar, address book, and all my email. Now that I'm working back at a university, my choice of tools is moving back towards what I used to use at CICNet: Pine and Emacs.

Part of this is based on a lack of resources. I'm currently using a PII/266 laptop with 128mb of memory. Pine uses around 4mb of real memory on average on my box; emacs around 6mb. Fire up Outlook, and immediately 20mb of real memory is gone. (To be fair, the biggest pig is Mozilla: I regularly have 40mb Mozilla process running around.)

GNU Screen

I've also started using GNU Screen, a tool I haven't used in five or six years. Screen lets you keep multiple "virtual" sessions going over a single telnet/SSH connection. These days you'd tend to just fire up another xterm/SSH window, but Screen has one important benefit over that approach: you can "detach" from a group a virtual screen sessions, then re-attach later without losing any state. I typically have 3-4 virtual sessions running on screen on my home Linux box: a Pine session for my non-work email; one session running Emacs, and another misc shell session or two. I don't have X installed on my laptop, so when I get to work, I start up a single SSH session back to my Linux box, fire up Screen with all these sessions. When it's time to go home, I can detach from these screen sessions all as a group, shutdown my laptop and go home. At home I can fire up my laptop again, login to my Linux box again, re-attach my screen session, and find my email, emacs, and shell sessions right where I left them.

Even better, if I lose my connection to my Linux box, Screen will keep my sessions intact, and I can re-attach to them when I get my connection back. Compare that to your normal xterm/SSH Linux box scenario: you lose your connection for any reason, and that job you were running for the last N minutes is killed.

The only downside of Screen is that it traps Ctrl-A by default. I can change it to something else, but if you're an Emacs user, anything you pick is going to be used somewhere. (Screen can of course send a Ctrl-a to your application, but training your fingers to remember to use that isn't easy.

Pine

I've never completely got away from Pine; even when I used Outlook at CNN, I would still use Pine from home: on a dial-up connection, it was much faster to start Pine and point it at the Exchange server than it was to start Outlook. (On a dial-up connection, Outlook could take many minutes to fire up.)

But Pine has it's pleasures. The interface is moded, but easy to use; you can do everything in Pine without taking your hand of the keyboard.

The main downside to Pine is the lack of rich display for HTML email. Pine can now grok HTML, and presents a readable view of HTML email, but it's kind of like being stuck using a Gopher client in the age of HTML and the web.

Emacs

I'm also back to my old friend, Emacs. Emacs was where I lived my life when I worked at the CERT: I used MH-E to read my email, GNUs for reading News, and I believe the CERT might have still been using Scribe for text processing, which could be edited very nicely under Emacs.

Using Emacs again was actually pushed by my almost complete conversion to Mozilla. Radio Userland uses the very nice Microsoft in-line HTML editor, but that tool only works if you're accessing Radio from Internet Explorer. From Mozilla, you need to do straight HTML. Movable Type, which I'm now using for a work weblog, also wants to deal in straight HTML. And so Emacs is back again as my HTML editor. I'd probably prefer a WYSIWYG editor; at home I use Dreamweaver. I tried a couple of freeware Windows HTML editors, but all of them ended up being inferior to Emacs. I run Emacs locally under Windows 2000; compared to the other Windows based tools, Emacs is nice and lightweight, and since I'm only using simple HTML markup, Emacs benefits as a tool for slinging around text come to the fore again. (Ah, the irony of Emacs now being considered "lightweight!")

What sealed the deal for Emacs was get a spelling checker working again. It took some messing around, and I ultimately have to run Emacs from under Cygwin, but I've got ispell working again, so all's right with the world.