How much high-tech work is there in Wyoming? Not much. So I telecommute to some of my clients' computers. I can use Transparent Remote Access, Multiple Protocol (TRAMP, URL = to get remote files into my local copy of Emacs. This is really nice because I have all my customizations already on my computer; I don't have to port my .emacs to another computer.

TRAMP uses Telnet, the R toolset (rsh, rcp, etc.) or secure shell (OpenSSH) to make connections to access files remotely. By hiding some Perl and shell scripting magic under the hood, TRAMP makes it appear that the file is on your local machine. The only difference is that you specify the hostname of the file and an optional protocol specifier as part of the file path.

For example, to edit the .emacs in my home directory, I specify ~/.emacs. To edit my .emacs on my laptop, I specify /[teckla].emacs. I can then diff them from within Emacs, thereby selectively migrating changes from one to the other—in both directions simultaneously.

To give you an idea of how powerful TRAMP is, I can visit an SGML file on a remote computer. Emacs will, as usual, check for a precompiled DTD in the directory. Using TRAMP, Emacs will pick up the precompiled DTD and load that instead of taking the time to parse the DTD anew. This is very nice if you don't have the DTD on your computer.

You can also use TRAMP and Emacs' dired mode to manipulate remote directories, giving you the effect of a remote Midnight Commander.