I recorded a screencast tonight demonstrating my current setup where I can edit a file on a host I am ssh’d to in my local Emacs instance.

I got the idea from Using a local emacs+tramp as your EDITOR on remote servers with SSH and emacsclient, but had to make a few modifications to work with my local set up.

For those who are unfamiliar, Tramp Mode (also documented here) is an awesome Emacs mode that lets you transparently edit files using protocols like ssh, ftp, sudo, su, and others within a given Emacs instance.  Also, for some very useful information on using Emacs as a Daemon and EmacsClient are found here and here.  Be sure to read the entire page, as the early comments are before Emacs Daemon mode was available in Gnu Emacs.

I’ll probably go into greater detail in a later post, but the files I referred to in the screencast are here:

One detail I realize I failed to mention in the screencast is that I have a bash alias set up on my local machine for ssh to ssh-wrapper.  I’m nor entirely happy with this because in order to get everything working 100%, I need to add more stuff to ssh-wrapper to basically parse out all of the ssh options.  I hope to figure out a more robust and reliable solution soon.

I welcome any and all comments and suggestions for improvements (besides smart alec comments from coworkers and others on not using Emacs).

 

As I get back into actively programming, I look for opportunities to make my life easier. Being a Software Toolsmith, I try to write tools to make my life simpler.

Whenever I have reptitive actions I do, I see how to automate it. There were some window management functions that I often do that I knew I could easily script and then assign hotkeys to. I finally took the time to figure them out today.

Swapping which monitor a window is on

When I’m at home, I always have an external monitor hooked up to my laptop. I often want to swap a window to the other monitor and having to reach for the mouse to do so. My first script simply moves the active window to the upper left corner of the opposite monitor. It is only set up for the 2 monitor configuration. Download swap_monitors.pyand make it executable.

Maximizing a window and showing on all desktops

Another action I do refrequently is maximizing a window and then making it show on all of my virtual desktops. If I’m watching a video or have another program that I want acessible no matter which desktop I’m on, I’ll do this. Sure, I can just do a Alt-Space and then ‘x’ to maximize and then Alt-Space and then ‘a’ to always show on visible workspace, but I’d like to do it in one keystroke. To do so, download maximize_all_workspaces.py

The only dependencies are Python and the python-gtk2 package.

 

I’m in the market for a new job. Yes, I’m a Software Toolsmith. What’s that?

Computers are tools to make our lives better; my job in life is to make the software.

I focus primarily on Linux and other open source technologies. I’m experienced in general administration of Debian and Ubuntu systems, with a little Redhat and CentOS as well. I’ve developed with Python, C, C++, and Java plus a bit of Common Lisp, Emacs Lisp, and Haskell.  I love immersing myself in learning new languages, paradigms, and libraries.

Currently, I’m not in a position to relocate, so I’m focused on the Provo and Salt Lake City, Utah areas and possibly telecommute positions. I’m looking for full-time permanent positions, but might be open to contract positions. I also might be open to short (on the order of days or weeks or even shorter) contracts.

Here a few important links about me:

Please contact me with the contact info found in the above links.

© 2011 The Software Toolsmith Suffusion theme by Sayontan Sinha