mwolson.org Blog - /Tech

Fri, 12 Oct 2007

Real-life effects of multi-tty Emacs

The introduction of multi-tty Emacs to my day-to-day lifestyle has yielded very positive results. Now every single aspect of my computing experience can be hosted on my home machine yet accessed from my office machine at work. This is one way in which putting all of your apps in one basket is beneficial — all it takes is one change to the basket, and every single application benefits from it.

Item 1: Gnus. The exact same instance of my email client, Gnus, can now exist in two places at once. If I'm at work, I get full graphical access to the app, since I have the same font (Terminus) installed at both home and work. At my security class lab, I still have terminal access, which is plenty good for a quick check of incoming mail. I now compose email entirely on my home machine — there is no longer any need to worry about whether the displayed number of unread messages in each folder is accurate. Thanks to gnus-posting-styles, I can still easily slip in and out of contexts just by changing to a particular group before sending email. My From address will always be what I need it to be, despite having multiple email addresses.

Item 2: BBDB. My work and personal contacts are now one. If I forget to email someone while at work, I can still TAB-complete on their name to send them email from home.

Item 3: Planner. I am using Planner to document the job hunt. Each job opportunity gets a note. Each note gets a task made for it, with the name of the company and the type of opening as a link to the note itself. To do this, just use "#N", where N is the number of the note, as the link destination. Browsing and classifying opportunities as A-level, B-level, or C-level couldn't be easier. Since most email related to that effort comes in while I'm at school, I can do a quick bit of investigation (not logged as work time) and store that information for later reference, while I'm still thinking about it.

Item 4: Git. I now use Muse and its LaTeX publisher in particular, solely to do homework for every single class. It is easy to start a new assignment — just copy the title and change it, and then depending on which class it is for, do some further steps. Doing homework in Muse encourages me, because it ties in the largely irrelevant homework with something I do care about: making Muse useful. Where do git and multi-tty come in, you might ask. Git is used to synchronize work on assignments and projects between home and work. It also keeps copies of my home and work versions of Muse current. Multi-tty is used to make quick changes to Muse on my home machine's Emacs instance, where I can test changes using my existing test pages. Additionally, when doing something involved like rebasing changes with git, which usually pops up an editor window, I don't have to worry about the home computer stealing the new window for the commit message — I can always navigate to it, and it even becomes current automatically in the existing client frame.

Item 5: Session longevity. I no longer have to close Emacs before heading to work, so that I can run it remotely if I need to. In the past, it was possible for weirdness if two Gnus (and especially BBDB) instances were fighting over the same data, though this became less of a problem when I switched to the Ubuntu package, which had a nice patch to deal with this case. Now I can just open a new client connection from work. Thus, my Emacs sessions can last for days rather than hours. I try to do upgrades once every two weeks, so Emacs definitely sees a "reboot" then. When I am stressed for time, however, Emacs will just Be There, without me having to worry about starting it. It brings to mind the idea of dumping a Lisp image and using it for months, but on a much smaller scale.

Item 6: Delusions of grandeur. It is a great morale-booster to have full and complete access to the applications and state of your home computer. In my own case, it makes me feel more in-control of my life, and more willing to put in long hours of homework and part-time work while at the office. I have finally managed to remove the "home" from "homework", and that is a very liberating accomplishment.

Item 7: Wishlist. I would like my home Emacs session to be able to deal gracefully with the case where power goes out at work — the current behavior is to lock up. Additionally, if I accidentally kill X at work, I don't want my home Emacs session to die as well. These limitations aren't terribly serious.

Add a comment

Name: 
Your email address: 
Your website: 
 
Comment: