<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>dotdotdot</title>
	<atom:link href="http://blogs.bwerp.net/feed/rss2" rel="self" type="application/rss+xml" />
	<link>http://blogs.bwerp.net</link>
	<description>Weblog of Adam Backstrom</description>
	<pubDate>Sun, 06 Jul 2008 23:02:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Google Doctype: Firefox Quick Searches</title>
		<link>http://blogs.bwerp.net/archives/2008/07/06/doctype</link>
		<comments>http://blogs.bwerp.net/archives/2008/07/06/doctype#comments</comments>
		<pubDate>Sun, 06 Jul 2008 23:01:09 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=460</guid>
		<description><![CDATA[In order to make something a habit, it helps to make that thing easy to do. I was impressed with Google Doctype (both the idea and the execution), but I often forget about it when the time comes to look something up. Enter my new set of Firefox quick searches. Using some intermediary PHP, I [...]]]></description>
			<content:encoded><![CDATA[<p>In order to make something a habit, it helps to make that thing easy to do. I was impressed with <a href="http://code.google.com/doctype/">Google Doctype</a> (both the idea and the execution), but I often forget about it when the time comes to look something up. Enter my new set of <a href="http://wiki.bwerp.net/Firefox_Quick_Searches">Firefox quick searches</a>. Using some intermediary PHP, I can turn a quick search for &#8220;html ins&#8221; into <code>http://code.google.com/p/doctype/wiki/InsElement</code>. Likewise for DOM and CSS pages. Hopefully that will make Doctype more present in my day-to-day coding.</p>
<p>A good one-up would be a Doctype sidebar, akin to Edgewall&#8217;s <a href="http://www.edgewall.org/python-sidebar/">Python Sidebar</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/07/06/doctype/feed</wfw:commentRss>
		</item>
		<item>
		<title>Guitar Zero</title>
		<link>http://blogs.bwerp.net/archives/2008/07/06/guitar-zero</link>
		<comments>http://blogs.bwerp.net/archives/2008/07/06/guitar-zero#comments</comments>
		<pubDate>Sun, 06 Jul 2008 20:30:55 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Games]]></category>

		<category><![CDATA[guitarhero]]></category>

		<category><![CDATA[nintendods]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=459</guid>
		<description><![CDATA[I picked up Guitar Hero: On Tour for the Nintendo DS via online preorder, and I&#8217;ve played quite a bit since it arrived. Pros:

Fun. It&#8217;s a good translation to the handheld platform, no less fun than Guitar Hero III on my PS2.
Portable. It fits nicely in my backpack or in the center console of the [...]]]></description>
			<content:encoded><![CDATA[<p>I picked up <a href="http://en.wikipedia.org/wiki/Guitar_Hero:_On_Tour">Guitar Hero: On Tour</a> for the Nintendo DS via online preorder, and I&#8217;ve played quite a bit since it arrived. Pros:</p>
<ul>
<li><strong>Fun.</strong> It&#8217;s a good translation to the handheld platform, no less fun than Guitar Hero III on my PS2.</li>
<li><strong>Portable.</strong> It fits nicely in my backpack or in the center console of the car.</li>
<li><strong>Decent sound.</strong> Not great, but much better than I expected. Maybe comparable to 64Kbps MP3s?</li>
<li><strong>Fast access to game play.</strong> Long startup and load times are a pet peeve of mine. In a single informal time trial, it took 37 seconds from turning on the DS to seeing the fret bar display in career mode. Not bad. Closing the handheld&#8217;s lid means the game is available instantaneously, any time. The PS2 wastes nearly two minutes of my time before I reach a song.</li>
<li><strong>Judy Nails.</strong> Mmm.</li>
</ul>
<p>Cons:</p>
<ul>
<li><strong>Limited track selection.</strong> Only 25 songs total.</li>
<li><strong>Small fret bar.</strong> The buttons would feel more comforatable if half an inch or so was added to the total width of the bar.</li>
</ul>
<p>Overall, a great buy for a GH fan like myself. Great if you&#8217;re into branded accessories, too: picks, cases, and even a Guitar-Hero-branded Nintendo DS. Dang.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/07/06/guitar-zero/feed</wfw:commentRss>
		</item>
		<item>
		<title>Thunderbird and Vim</title>
		<link>http://blogs.bwerp.net/archives/2008/06/05/vim</link>
		<comments>http://blogs.bwerp.net/archives/2008/06/05/vim#comments</comments>
		<pubDate>Thu, 05 Jun 2008 13:18:43 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[email]]></category>

		<category><![CDATA[thunderbird]]></category>

		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=458</guid>
		<description><![CDATA[Why don't I use mutt, again?]]></description>
			<content:encoded><![CDATA[<p>I just configured Thunderbird to edit messages within vim. This gets me somewhere in the vicinity of my old <a href="http://www.mutt.org/">mutt</a> setup, which also used vim for editing. I&#8217;m using the following software versions under Mac OS X 10.5.2:</p>
<ul>
<li><a href="http://globs.org/articles.php?lng=en&#038;pg=2">External Editor 0.7.4</a></li>
<li><a href="http://www.mozilla.com/thunderbird/">Thunderbird 2.0.0.14</li>
</li>
<li><a href="http://code.google.com/p/macvim/">MacVim 7.1 (28)</a></li>
</ul>
<p>External Editor&#8217;s editor is set to: <code>/Applications/MacVim.app/Contents/MacOS/Vim -g --nofork</code>. Works like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/06/05/vim/feed</wfw:commentRss>
		</item>
		<item>
		<title>Announcing Marshall Leif</title>
		<link>http://blogs.bwerp.net/archives/2008/05/19/baby</link>
		<comments>http://blogs.bwerp.net/archives/2008/05/19/baby#comments</comments>
		<pubDate>Tue, 20 May 2008 02:27:00 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Kid]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=456</guid>
		<description><![CDATA[Welcome to the world.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blogs.bwerp.net/~adam/2008/05/19/mlb.jpg" width="500" height="251" alt="Marshall resting on Charlotte's chest"></p>
<p>May 19, 2008, 11:03 AM. 8 lbs, 8 oz, 20&#8243; long. Our healthy baby boy. Named after his great-grandfather, Marshall Turner Moulton.</p>
<p>I could say a lot. I will say: I am so proud of my wife for all her hard work, digging deep within herself to find the strength to push after so many hours. Thank you for this gift.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/05/19/baby/feed</wfw:commentRss>
		</item>
		<item>
		<title>Abusing screen(1)&#8217;s Default Shell</title>
		<link>http://blogs.bwerp.net/archives/2008/04/25/screen</link>
		<comments>http://blogs.bwerp.net/archives/2008/04/25/screen#comments</comments>
		<pubDate>Fri, 25 Apr 2008 13:32:44 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Scripting]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[screen]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=451</guid>
		<description><![CDATA[Three other people will find this useful.]]></description>
			<content:encoded><![CDATA[<p>Today I figured out a simple but non-obvious way of automatically connecting to a remote shell when I create new <a href="http://www.gnu.org/software/screen/">screen</a> windows. I&#8217;m using this in conjunction with a development server that does not have screen installed.</p>
<p>Let&#8217;s start at the beginning. My <code>~/.ssh/config</code> file has many entries structured like so:</p>
<pre><code>Host bob
    HostName robert.example.com
    User backstrom</code></pre>
<p>This setup allows me to SSH to robert.example.com using the shortcut <code>ssh bob</code>. This shortcut could be made even shorter, though. I have a script (say, <code>host-ssh</code>) in my $PATH with the following content:</p>
<pre><code>#!/bin/sh
HOST=$(basename $0)
ssh $HOST $@</code></pre>
<p>Now I can <code>ln -s host-ssh bob</code> to symlink host-ssh to bob, and <code>bob</code> becomes a shortcut for <code>ssh bob</code>. At this point, the following commands work as expected:</p>
<pre><code>adam@local:~$ ssh bob
backstrom@robert:~$ exit
adam@local:~$ bob
backstrom@robert:~$ exit
adam@local:~$ scp -q myfile bob:
adam@local:~$</code></pre>
<p>So, onto screen. Imagine that my workstation has screen, but my remote server &#8220;bob&#8221; does not. I can mimic the functionality by running screen locally and connecting each window to bob in its own SSH session. (In the past I have done this via <code>exec bob</code> so I have one less <code>exit</code> to type during disconnects.) However, screen allows you to set a custom shell. You can leverage this to force an SSH connection to a specific server whenever a new window is created. Just launch screen with <code>screen -s bob</code> and every ^A-c will automatically run your new SSH shortcut. Seamless, if you have public keys set up.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/04/25/screen/feed</wfw:commentRss>
		</item>
		<item>
		<title>Moving On</title>
		<link>http://blogs.bwerp.net/archives/2008/04/01/moving</link>
		<comments>http://blogs.bwerp.net/archives/2008/04/01/moving#comments</comments>
		<pubDate>Tue, 01 Apr 2008 22:46:11 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/?p=450</guid>
		<description><![CDATA[A change of scenery.]]></description>
			<content:encoded><![CDATA[<p>Friday, April 4 will be my last day at Stonewall Cable, Inc. I&#8217;ve accepted a web development position with the local university, and my first day will be Monday, April 7 assuming there&#8217;s no dirt to be found in my background check.</p>
<p>I&#8217;ve had a great time at Stonewall. There are so many opportunities to get your hands dirty and be involved in all kinds of projects in a company this size. I&#8217;ve done such a wide variety of things here, from implementing more dynamic content onto the company website, to moving furniture and cutting heavy rubber matting for use as floor protectors. I&#8217;ve changed hats many times and found a good rhythm here, but I&#8217;m ready to switch gears and do the kind of work I&#8217;ve always hoped to do. It&#8217;s bittersweet, but I&#8217;m excited for the change.</p>
<p>So, thanks. It&#8217;s been a good time, and I&#8217;ll remember it fondly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/04/01/moving/feed</wfw:commentRss>
		</item>
		<item>
		<title>Python Indentation and Vim</title>
		<link>http://blogs.bwerp.net/archives/2008/03/22/vim</link>
		<comments>http://blogs.bwerp.net/archives/2008/03/22/vim#comments</comments>
		<pubDate>Sat, 22 Mar 2008 19:55:00 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/archives/2008/03/22/vim</guid>
		<description><![CDATA[Holy wars, to some.]]></description>
			<content:encoded><![CDATA[<p>Python&#8217;s syntax relies on indentation for statement grouping. The <a href="http://www.python.org/dev/peps/pep-0008/">convention</a> is to use spaces, but I&#8217;ve always found tabs to be easier to work with in <a href="http://www.vim.org/">vim</a>. My largest gripe: if I mis-tabbed, I had to press &#8220;delete&#8221; four times to erase all the spaces I created. Turns out, that needn&#8217;t be the case: vim can detect multi-space indentation and delete one &#8220;tab&#8221; at a time.</p>
<p>Here are some good resources I found while digging into this:</p>
<ol>
<li><a href="http://jaeger.festing.org/changelog/1128.html">Secrets of tabs in vim</a></li>
<li><a href="http://www.vex.net/~x/python_and_vim.html">Notes on using Vim and Python</a> &#8212; check out the autoindentation based on file name, just below the main table</li>
<li><a href="http://www.vim.org/tips/tip.php?tip_id=12">Converting tabs to spaces</a></li>
</ol>
<p>Bonus: check out vimrc in the <a href="http://svn.python.org/view/python/trunk/Misc/Vim/">python &#8220;Vim&#8221; folder</a> for other helpful files.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/03/22/vim/feed</wfw:commentRss>
		</item>
		<item>
		<title>Expiring Trees in Dirvish</title>
		<link>http://blogs.bwerp.net/archives/2008/03/17/expire</link>
		<comments>http://blogs.bwerp.net/archives/2008/03/17/expire#comments</comments>
		<pubDate>Mon, 17 Mar 2008 20:52:03 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[backup]]></category>

		<category><![CDATA[dirvish]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/archives/2008/03/17/expire</guid>
		<description><![CDATA[Perl isn't fun to read.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve taken to using Dirvish to back up files here at work. It&#8217;s similar to Apple&#8217;s Time Machine backup mechanism: hard links provide directory snapshots while preserving disk space. This is most effective when most of your files are static, as the hard links can share these files across all your snapshots without using any additional disk space.</p>
<p>I didn&#8217;t find any documentation on expiring trees before their time, so: yes, you can edit a simple text file and expire a tree early. (Honestly, it may be acceptable to <code>rm -rf</code> a tree; I really don&#8217;t know. I&#8217;d rather let <code>dirvish-expire</code> do whatever cleanup it has to do, not being familiar with the code.) I happen to be removing some trees that didn&#8217;t back up correctly, as general maintenance.</p>
<p>Each backup tree contains a &#8220;summary&#8221; file. This file includes an Expire line:</p>
<pre><code>Expire: +14 days == 2008-03-30 02:06:38</code></pre>
<p>My original expire-rule expanded to 14 days from the date of backup, which was March 30. If I want to delete the tree right now, I can change the date after the equality test:</p>
<pre><code>Expire: +14 days == <em>2007</em>-03-30 02:06:38</code></pre>
<p>Anything in the past is sufficient. Run <code>dirvish-expire</code>, and the tree will drop out of your vault.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/03/17/expire/feed</wfw:commentRss>
		</item>
		<item>
		<title>SXSW Six-word Reviews: Textutils Edition</title>
		<link>http://blogs.bwerp.net/archives/2008/03/16/sxsw</link>
		<comments>http://blogs.bwerp.net/archives/2008/03/16/sxsw#comments</comments>
		<pubDate>Mon, 17 Mar 2008 01:41:01 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/archives/2008/03/16/sxsw</guid>
		<description><![CDATA[Some nuggets, some turds.]]></description>
			<content:encoded><![CDATA[<p>First: <a href="http://www.ftrain.com/">Paul Ford</a> <a href="http://www.themorningnews.org/archives/reviews/sixword_reviews_of_763_sxsw_mp3s.php">reviews 763 MP3s</a> in 4,578 words.</p>
<p>Second: <a href="http://static.bwerp.net/~adam/2008/03/16/RATINGS">numerical rating + single space + file name</a>.</p>
<p>Useful for command line tomfoolery.</p>
<p><ins datetime="2008-03-20T10:59-04:00"><span class="update">Update:</span> while we&#8217;re on the subject, <a href="http://blogs.houstonpress.com/rocks/2008/03/meet_paul_ford_the_763_mp3_guy.php">an interview</a>.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/03/16/sxsw/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Business of Being Born</title>
		<link>http://blogs.bwerp.net/archives/2008/03/02/business</link>
		<comments>http://blogs.bwerp.net/archives/2008/03/02/business#comments</comments>
		<pubDate>Mon, 03 Mar 2008 02:49:21 +0000</pubDate>
		<dc:creator>Adam Backstrom</dc:creator>
		
		<category><![CDATA[Kid]]></category>

		<category><![CDATA[baby]]></category>

		<category><![CDATA[birthing]]></category>

		<category><![CDATA[midwife]]></category>

		<guid isPermaLink="false">http://blogs.bwerp.net/archives/2008/03/02/business</guid>
		<description><![CDATA["Business" being the operative word.]]></description>
			<content:encoded><![CDATA[<p>Charlotte and I just finished watching <a href="http://www.thebusinessofbeingborn.com/">The Business of Being Born</a> on <a href="http://www.netflix.com/WatchNowMovie/The_Business_of_Being_Born/70075502">Netflix</a>. I would highly recommend it to anyone having a baby in this country. The high rate of cesarean sections in the US compared to the rest of the western world (despite the dangers), the sharp decline of midwifery (and the reasons behind it), the mortality rate statistics&#8230; it&#8217;s an eye-opener.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.bwerp.net/archives/2008/03/02/business/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
