<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>the software toolsmith</title>
    <link>http://the.softwaretoolsmith.com</link>
    <description>Travis B. Hartwell's posterous</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" type="application/json" href="http://posterous.com/api/sup_update#cb09a6761" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TheSoftwareToolsmith" /><feedburner:info uri="thesoftwaretoolsmith" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Sat, 21 May 2011 20:01:00 -0700</pubDate>
      <title>Screencast: Emacs Daemon Mode and Editing Remote files in your local Emacs instance</title>
      <link>http://feedproxy.google.com/~r/TheSoftwareToolsmith/~3/DaQ2ZPll3mY/screencast-emacs-daemon-mode-and-editing-remo</link>
      <guid isPermaLink="false">http://the.softwaretoolsmith.com/screencast-emacs-daemon-mode-and-editing-remo</guid>
      <description>&lt;p&gt;
	&lt;div class="posterous_bookmarklet_entry"&gt;&lt;iframe src="http://www.youtube.com/embed/5OktfMn8PAE" frameborder="0" height="417" width="500"&gt;&lt;/iframe&gt;
&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.youtube.com/watch?v=5OktfMn8PAE"&gt;youtube.com&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I got the idea from &lt;a href="http://the.unwashedmeme.com/blog/2010/06/22/using-a-local-emacstramp-as-your-editor-on-remote-servers-with-ssh-and-emacsclient/"&gt;Using a local emacs+tramp as your EDITOR on remote servers with SSH and emacsclient&lt;/a&gt;, but had to make a few modifications to work with my local set up.&lt;/p&gt;
&lt;p&gt;For those who are unfamiliar, &lt;a href="http://www.emacswiki.org/cgi-bin/wiki/TrampMode"&gt;Tramp Mode&lt;/a&gt;&amp;nbsp;(also documented &lt;a href="http://www.gnu.org/software/tramp/"&gt;here&lt;/a&gt;) 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. &amp;nbsp;Also, for some very useful information on using Emacs as a Daemon and EmacsClient are found &lt;a href="http://www.emacswiki.org/emacs/EmacsAsDaemon"&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.emacswiki.org/emacs/EmacsClient"&gt;here&lt;/a&gt;. &amp;nbsp;Be sure to read the entire page, as the early comments are before Emacs Daemon mode was available in Gnu Emacs.&lt;/p&gt;
&lt;p&gt;I'll probably go into greater detail in a later post, but the files I referred to in the screencast are here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Nafai77/utilities"&gt;Utilties git repository on Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Nafai77/config"&gt;Config git repository on Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;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. &amp;nbsp;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. &amp;nbsp;I hope to figure out a more robust and reliable solution soon.&lt;/p&gt;
&lt;p&gt;I welcome any and all comments and suggestions for improvements (besides smart alec comments from coworkers and others on not using Emacs).&lt;/p&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://the.softwaretoolsmith.com/screencast-emacs-daemon-mode-and-editing-remo"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://the.softwaretoolsmith.com/screencast-emacs-daemon-mode-and-editing-remo#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheSoftwareToolsmith/~4/DaQ2ZPll3mY" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/112554/headshot_travis.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4aARuC8nDnNL</posterous:profileUrl>
        <posterous:firstName>Travis</posterous:firstName>
        <posterous:lastName>Hartwell</posterous:lastName>
        <posterous:nickName>Travis B. Hartwell</posterous:nickName>
        <posterous:displayName>Travis Hartwell</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://the.softwaretoolsmith.com/screencast-emacs-daemon-mode-and-editing-remo</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 09 Apr 2011 20:15:03 -0700</pubDate>
      <title>Handy scripts for automating X</title>
      <link>http://feedproxy.google.com/~r/TheSoftwareToolsmith/~3/vlk50DZ-yLE/handy-scripts-for-automating-x</link>
      <guid isPermaLink="false">http://the.softwaretoolsmith.com/handy-scripts-for-automating-x</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;span style="font-family: Arial, Helvetica, sans; font-size: 11px;"&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;As I get back into actively programming, I look for opportunities to make my life easier. &amp;nbsp;Being a &lt;a href="http://the.softwaretoolsmith.com" title="The Software Toolsmith"&gt;Software Toolsmith&lt;/a&gt;, I try to write tools to make my life simpler.&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;Whenever I have reptitive actions I do, I see how to automate it. &amp;nbsp;There were some window management functions that I often do that I knew I could easily script and then assign hotkeys to. &amp;nbsp;I finally took the time to figure them out today.&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;&lt;strong&gt;Swapping which monitor a window is on&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;When I'm at home, I always have an external monitor hooked up to my laptop. &amp;nbsp;I often want to swap a window to the other monitor and having to reach for the mouse to do so. &amp;nbsp;My first script simply moves the active window to the upper left corner of the opposite monitor. &amp;nbsp;It is only set up for the 2 monitor configuration. &amp;nbsp;Download &lt;a href="https://github.com/Nafai77/utilities/raw/master/HOME/bin/swap_monitors.py" title="swap_monitors.py"&gt;swap_monitors.py&lt;/a&gt;&amp;nbsp;and make it executable.&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;&lt;strong&gt;Maximizing a window and showing on all desktops&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;Another action I do refrequently is maximizing a window and then making it show on all of my virtual desktops. &amp;nbsp;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. &amp;nbsp;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. &amp;nbsp;To do so, download &lt;a href="https://github.com/Nafai77/utilities/raw/master/HOME/bin/maximize_all_workspaces.py" title="maximize_all_workspaces.py"&gt;maximize_all_workspaces.py&lt;/a&gt;&amp;nbsp;and make it executable.&lt;/p&gt;
&lt;p style="text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding: 0px;"&gt;The only dependencies are Python and the python-gtk2 package.&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://the.softwaretoolsmith.com/handy-scripts-for-automating-x"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://the.softwaretoolsmith.com/handy-scripts-for-automating-x#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheSoftwareToolsmith/~4/vlk50DZ-yLE" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/112554/headshot_travis.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4aARuC8nDnNL</posterous:profileUrl>
        <posterous:firstName>Travis</posterous:firstName>
        <posterous:lastName>Hartwell</posterous:lastName>
        <posterous:nickName>Travis B. Hartwell</posterous:nickName>
        <posterous:displayName>Travis Hartwell</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://the.softwaretoolsmith.com/handy-scripts-for-automating-x</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 24 Aug 2010 15:16:00 -0700</pubDate>
      <title>Software Toolsmith for hire</title>
      <link>http://feedproxy.google.com/~r/TheSoftwareToolsmith/~3/Qr8aFVZw87k/software-toolsmith-for-hire</link>
      <guid isPermaLink="false">http://the.softwaretoolsmith.com/software-toolsmith-for-hire</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;I'm in the market for a new job. &amp;nbsp;&lt;/span&gt;Yes, I'm a Software Toolsmith. &amp;nbsp;What's that? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;Computers are tools to make our lives better; my job in life is to make the software.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;I focus primarily on Linux and other open source technologies. &amp;nbsp;I'm experienced in general administration of Debian and Ubuntu systems, with a little Redhat and CentOS as well. &amp;nbsp;I've developed with Python, C, C++, and Java plus a bit of Common Lisp, Emacs Lisp, and Haskell. &amp;nbsp;I love immersing myself in learning new languages, paradigms, and libraries.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;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. &amp;nbsp;I'm looking for full-time permanent positions, but might be open to contract positions. &amp;nbsp;I also might be open to short (on the order of days or weeks or even shorter) contracts.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;Here a few important links about me:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: 13.1944px;"&gt;&lt;a href="http://www.travishartwell.net/resume/resume.pdf"&gt;resume in PDF format&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.linkedin.com/in/travisbhartwell"&gt;LinkedIn Profile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: 13.1944px;"&gt;Please contact me with the contact info found in the above links.&lt;/span&gt;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://the.softwaretoolsmith.com/software-toolsmith-for-hire"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://the.softwaretoolsmith.com/software-toolsmith-for-hire#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/TheSoftwareToolsmith/~4/Qr8aFVZw87k" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/112554/headshot_travis.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/4aARuC8nDnNL</posterous:profileUrl>
        <posterous:firstName>Travis</posterous:firstName>
        <posterous:lastName>Hartwell</posterous:lastName>
        <posterous:nickName>Travis B. Hartwell</posterous:nickName>
        <posterous:displayName>Travis Hartwell</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://the.softwaretoolsmith.com/software-toolsmith-for-hire</feedburner:origLink></item>
  </channel>
</rss>

