<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>James Bowes</title>
	<atom:link href="http://jbowes.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jbowes.wordpress.com</link>
	<description>Purveyor of Pre-eminent Programmes</description>
	<lastBuildDate>Tue, 23 Jun 2009 11:29:55 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jbowes.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a6ae8cff8370641e6de7dbc4fbc0403c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>James Bowes</title>
		<link>http://jbowes.wordpress.com</link>
	</image>
			<item>
		<title>Converting SVN Commits to Git Patches</title>
		<link>http://jbowes.wordpress.com/2009/06/23/converting-svn-commits-to-git-patches/</link>
		<comments>http://jbowes.wordpress.com/2009/06/23/converting-svn-commits-to-git-patches/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 11:29:55 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[SCM]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://jbowes.wordpress.com/?p=202</guid>
		<description><![CDATA[In case you find yourself in need of a way to turn an svn revision into a git patch that can be applied with &#8216;git am&#8217;, keeping the commit message and authorship information, here&#8217;s a script I used recently:
#!/usr/bin/python
#
# svnrev2git.py - Convert an SVN revsion to a Git patch.
#
# Author: James Bowes &#60;jbowes@repl.ca&#62;
#
# Usage:
#   $&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=202&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In case you find yourself in need of a way to turn an svn revision into a git patch that can be applied with &#8216;git am&#8217;, keeping the commit message and authorship information, here&#8217;s a script I used recently:</p>
<pre>#!/usr/bin/python
#
# svnrev2git.py - Convert an SVN revsion to a Git patch.
#
# Author: James Bowes &lt;jbowes@repl.ca&gt;
#
# Usage:
#   $&gt; cd my-svn-repo
#   $&gt; python svnrev2git.py [AUTHORS_FILE] [REV_RANGE | REVSION [REVISION..]]
#
#   AUTHORS_FILE - a CSV of  svn username, full name, email
#   REV_RANGE - an svn revision range, like 100-700
#   REVISION - a single svn revision
#
#   You may specify either a revision range, or a series of individual
#   svn revisions
#
# Output:
#   A series of git style patch files, one per svn revision, which can then be
#   applied with 'git am'
#
# Why use this instead of 'git svn'?
#   I had done a large repo conversion via git svn where we wanted no downtime
#   for the switchover. After removing the git svn specific info from our git
#   commits, I used this tool to bring in commits from svn, keeping svn and git
#   in sync, until we were ready to switch.

import sys
import commands

def svnlog_to_gitlog(authors, svnlog):

    lines = svnlog.split("\n")
    lines = lines[1:-1]

    metainfo = lines[0].split(" | ")
    subject = lines[2]
    description = lines[3:]

    author = metainfo[1]

    day = metainfo[2].split("(")[1][:-1]
    time = metainfo[2].split(" ")[1]
    offset = metainfo[2].split(" ")[2]

    gitlog = []
    gitlog += ["From: %s &lt;%s&gt;" % authors[author]]
    gitlog += ["Date: %s %s %s" % (day, time, offset)]
    gitlog += ["Subject: [PATCH] %s" % subject]
    gitlog += [""]
    gitlog += description
    gitlog += [""]

    return '\n'.join(gitlog)

def svndiff_to_gitdiff(svndiff):
    lines = svndiff.split("\n")

    gitdiff = []
    for line in lines:
        if line.startswith("--- "):
            gitdiff.append("--- a/" + line[4:])
        elif line.startswith("+++ "):
            gitdiff.append("+++ b/" + line[4:])
        else:
            gitdiff.append(line)

    return '\n'.join(gitdiff)

def make_patch(authors, rev):
    out = commands.getoutput("svn log -c %s ." % rev)

    if len(out.split("\n")) &lt; 2:
        print "skipping r%s" % rev
        return

    patch = open(rev + ".patch", 'w')
    patch.write(svnlog_to_gitlog(authors, out))
    patch.write("---\n\n")

    out = commands.getoutput("svn diff -c %s ." % rev)
    patch.write(svndiff_to_gitdiff(out))

    patch.write("\n---\n")
    patch.write("svnrev2git.py\n")

    patch.close()
    print "wrote %s.patch" % rev

def main(args):
    author_file = open(args[0])
    authors = {}

    print "loading authors"
    for line in author_file.readlines():
        parts = line.strip().split(", ")
        authors[parts[0]] = (parts[1], parts[2])

    author_file.close()

    revs = args[1:]

    if len(revs) == 1 and '-' in revs[0]:
        start, end = revs[0].split('-')
        start = int(start)
        end = int(end)
        revs = [str(x) for x in range(start, end + 1)]

    for rev in revs:
        make_patch(authors, rev)

if __name__ == "__main__":
    main(sys.argv[1:])</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=202&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2009/06/23/converting-svn-commits-to-git-patches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>DIY Velcro Cable Ties</title>
		<link>http://jbowes.wordpress.com/2008/10/20/diy-velcro-cable-ties/</link>
		<comments>http://jbowes.wordpress.com/2008/10/20/diy-velcro-cable-ties/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 12:15:33 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[cables]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[organization]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=176</guid>
		<description><![CDATA[Making your own velcro cable ties is a great idea. $2 in materials made as many cable ties as Wal-Mart was selling for $13. Thrifty!
I&#8217;d suggest sewing the velcro together vs stapling, especially if you have cats that are far too curious about staples.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=176&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.instructables.com/id/Velcro-Cable-Ties/">Making your own velcro cable ties</a> is a great idea. $2 in materials made as many cable ties as Wal-Mart was selling for $13. Thrifty!</p>
<p>I&#8217;d suggest sewing the velcro together vs stapling, especially if you have cats that are far too curious about staples.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=176&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/10/20/diy-velcro-cable-ties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Perceptions of Toronto</title>
		<link>http://jbowes.wordpress.com/2008/06/04/perceptions-of-toronto/</link>
		<comments>http://jbowes.wordpress.com/2008/06/04/perceptions-of-toronto/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 21:17:08 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[party]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=174</guid>
		<description><![CDATA[Growing up on the east coast of Canada, this is how I imagined Toronto to be, like, 24/7.
I&#8217;ve been here for nine months or so, and have yet to be invited to any trendy VICE parties. Just so you know, VICE, I am very willing to grow out some stubble and wear vintage clothing or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=174&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Growing up on the east coast of Canada, <a href="http://torontoist.com/2008/06/vice_to_zune_mu.php">this</a> is how I imagined Toronto to be, like, 24/7.</p>
<p>I&#8217;ve been here for nine months or so, and have yet to be invited to any trendy <a href="http://vice.typepad.com/vice_magazine/canada/index.html">VICE</a> parties. Just so you know, VICE, I am very willing to grow out some stubble and wear vintage clothing or an ironic t-shirt for the event.</p>
<p>Toronto is great though, even without the free Red Stripe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/174/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/174/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=174&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/06/04/perceptions-of-toronto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Graphing Git Repository Activity In ASCII</title>
		<link>http://jbowes.wordpress.com/2008/05/24/graphing-git-repository-activity-in-ascii/</link>
		<comments>http://jbowes.wordpress.com/2008/05/24/graphing-git-repository-activity-in-ascii/#comments</comments>
		<pubDate>Sat, 24 May 2008 15:15:34 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[SCM]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=171</guid>
		<description><![CDATA[Here&#8217;s a quick little script I wrote up (adapted from this perlmonks post) to show git repository activity as an ascii graph, like so:

The X axis represents a day, with the current day being on the far right. The Y axis is no. of lines added + no. of lines deleted during that day.
EDIT (2009/02/03):
WordPress.com [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=171&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://jbowes.dangerouslyinc.com/wp-content/uploads/2008/05/git-graph.pl">Here&#8217;s a quick little script</a> I wrote up (adapted from <a href="http://www.perlmonks.org/?node_id=336907">this perlmonks post</a>) to show <a href="http://git.or.cz">git</a> repository activity as an ascii graph, like so:</p>
<p align="center">
<p><img class="aligncenter size-full wp-image-186" title="git-graph screenshot" src="http://jbowes.files.wordpress.com/2008/05/screenshot-git-graphpl.png?w=490&#038;h=342" alt="git-graph screenshot" width="490" height="342" />The X axis represents a day, with the current day being on the far right. The Y axis is no. of lines added + no. of lines deleted during that day.</p>
<p><strong>EDIT (2009/02/03):</strong></p>
<p>WordPress.com won&#8217;t let me attach a .pl file, so here&#8217;s the contents:</p>
<pre>#!/usr/bin/perl
#
# git-graph.pl - Generate an ascii graph of git repository activity
#
# Copyright (C) 2008 James Bowes &lt;jbowes@dangerouslyinc.com&gt;
#
# Graphing routine Adapted from http://www.perlmonks.org/?node_id=336907

sub get_activity {
    my $day = shift;
    my $git_cmd = 'git diff --shortstat "@{' . ($day + 1) .' day ago}" "@{' .
                  ($day or "0") . ' day ago}"';
    $res = `$git_cmd 2&gt; /dev/null`;

    $res =~ /, (.*?) insertions\(\+\), (.*?) deletions\(-\)/;
    $activity = $1 + $2;

    return $activity;
}

@deltas = ();
foreach $day (0..70) {
    push (@deltas, get_activity ($day));
}

print ("\n");
print graph(@deltas);
print ("\n");

sub graph {
  my( $i, $magic, $m, $p, $top, @g ) = ( 0, 20, 7, 70, 0, () );

  foreach $pad (0..($p - scalar(@_))) {
      push (@_, 0);
  }

  @_ = reverse @_; 

  for (0..($p)) {
      $top = ($top &gt; $_[$_]) ? $top : $_[$_];
  }

  $top = $top - ($top % 100) + 100;

  my $s = $top &gt; $magic ? ( $top / $magic ) : 1;  ### calculate scale

  for (0..$magic) {
    $g[$_] = sprintf("%" . ($m - 1) . "d |", $_ * $s) .
             ($_ % 5 == 0 ? '_' : ' ') x ($p);
    for $i (0..($p)) {
        substr($g[$_], ($i + $m), 1) = '#' if ($_[$i] / $s) &gt; $_;
    }
  }
  join( "\n", reverse( @g ), ' Date:  ' . '^^^^^^|' x ( $p / 7 ));
}  # end sub graph

__END__</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/171/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/171/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=171&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/05/24/graphing-git-repository-activity-in-ascii/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>

		<media:content url="http://jbowes.files.wordpress.com/2008/05/screenshot-git-graphpl.png" medium="image">
			<media:title type="html">git-graph screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing ruby gems in your home directory</title>
		<link>http://jbowes.wordpress.com/2008/05/13/installing-ruby-gems-in-your-home-directory/</link>
		<comments>http://jbowes.wordpress.com/2008/05/13/installing-ruby-gems-in-your-home-directory/#comments</comments>
		<pubDate>Tue, 13 May 2008 14:54:57 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[config files]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=170</guid>
		<description><![CDATA[I found it hard to find good instructions for installing ruby gems as a non-root user without installing the gem package locally as well. Here&#8217;s what I figured out; hopefully this will save someone else some time in the future:
Make a directory for gem installation:
$&#62; mkdir ~/.gems
Set up your .gemrc for gem install-time configuration:
$&#62; cat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=170&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I found it hard to find good instructions for installing ruby gems as a non-root user without installing the gem package locally as well. Here&#8217;s what I figured out; hopefully this will save someone else some time in the future:</p>
<p>Make a directory for gem installation:</p>
<p><code>$&gt; mkdir ~/.gems</code></p>
<p>Set up your .gemrc for gem install-time configuration:</p>
<p><code>$&gt; cat &lt;&lt; EOF &gt; ~/.gemrc<br />
gemhome: $HOME/gems<br />
gempath:<br />
- $HOME/gems<br />
- /usr/lib/ruby/gems/1.8<br />
EOF</code></p>
<p>Set up some environment variables for run-time:</p>
<p><code>$&gt; cat &lt;&lt; EOF &gt;&gt; ~/.bashrc<br />
export GEM_HOME=$HOME/gems<br />
export GEM_PATH=$HOME/gems:/usr/lib/ruby/gems/1.8/<br />
export PATH=$PATH:$HOME/gems/bin<br />
EOF</code></p>
<p>Source your bashrc and you&#8217;re all set.</p>
<p><strong>UPDATE (Apr 18, 2009):</strong> gem seems to do this on its own now, so just adding</p>
<pre>export PATH=$PATH:$HOME/.gem/ruby/1.8/bin</pre>
<p>to your .bash_profile should be enough.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/170/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/170/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/170/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=170&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/05/13/installing-ruby-gems-in-your-home-directory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Shell HIstory Meme</title>
		<link>http://jbowes.wordpress.com/2008/04/09/shell-history-meme/</link>
		<comments>http://jbowes.wordpress.com/2008/04/09/shell-history-meme/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:12:46 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=169</guid>
		<description><![CDATA[[jbowes@laptop ~]$ history &#124; awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'&#124;sort -rn&#124;head
211 git
148 fg
107 ls
99 cd
89 python
43 make
26 vim
23 sudo
20 nosetests
19 player/swfplay
[jbowes@workstation ~]$  history &#124; awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'&#124;sort -rn&#124;head -n 12
163 ls
156 cd
115 svn
76 vim
70 screen
55 fg
47 exit
35 sudo
30 git
21 yasql
Seen on Adrian&#8217;s and Mike&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=169&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><code>[jbowes@laptop ~]$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head<br />
211 git<br />
148 fg<br />
107 ls<br />
99 cd<br />
89 python<br />
43 make<br />
26 vim<br />
23 sudo<br />
20 nosetests<br />
19 player/swfplay</code></p>
<p><code>[jbowes@workstation ~]$  history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head -n 12<br />
163 ls<br />
156 cd<br />
115 svn<br />
76 vim<br />
70 screen<br />
55 fg<br />
47 exit<br />
35 sudo<br />
30 git<br />
21 yasql</code></p>
<p>Seen on <a href="http://adrianlikins.com/archives/2008/04/08/shell-history-meme/">Adrian&#8217;s</a> and <a href="http://www.michaeldehaan.net/?p=583">Mike&#8217;s</a> blogs.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/169/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/169/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/169/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=169&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/04/09/shell-history-meme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Dear Government of Canada</title>
		<link>http://jbowes.wordpress.com/2008/03/26/dear-government-of-canada/</link>
		<comments>http://jbowes.wordpress.com/2008/03/26/dear-government-of-canada/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 13:30:49 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[bell]]></category>
		<category><![CDATA[canada]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/03/26/dear-government-of-canada/</guid>
		<description><![CDATA[Please stop Bell from doing crazy stuff.  Thanks!
Love,
James
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=168&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Please stop Bell from doing <a href="http://arstechnica.com/news.ars/post/20080325-canadian-isps-furious-about-bell-canadas-traffic-throttling.html">crazy stuff</a>.  Thanks!</p>
<p>Love,</p>
<p>James</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/168/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/168/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=168&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/03/26/dear-government-of-canada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Cat News</title>
		<link>http://jbowes.wordpress.com/2008/03/03/cat-news/</link>
		<comments>http://jbowes.wordpress.com/2008/03/03/cat-news/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 12:51:01 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[cats]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/03/03/cat-news/</guid>
		<description><![CDATA[Our boy cat Julius passed away a few weeks ago. It was pretty shocking, as he was quite young and his passing was sudden and unexpected. While we miss him terribly, Cherie and I didn&#8217;t want Spook to get too used to being an only cat again.
So this weekend we picked up a new little [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=167&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Our boy cat <a href="http://www.flickr.com/photos/bowes/sets/72157603547669860/">Julius</a> passed away a few weeks ago. It was pretty shocking, as he was quite young and his passing was sudden and unexpected. While we miss him terribly, Cherie and I didn&#8217;t want <a href="http://www.flickr.com/photos/bowes/sets/72157603551985363/">Spook</a> to get too used to being an only cat again.</p>
<p>So this weekend we picked up a new little fellow from the <a href="http://www.torontohumanesociety.com/">Toronto Humane Society</a>:</p>
<p><a title="img_3405.jpg by James Bowes, on Flickr" href="http://www.flickr.com/photos/bowes/2306811211/"><img style="border:0 none;" src="http://farm3.static.flickr.com/2372/2306811211_ae181b6e77.jpg" border="0" alt="img_3405.jpg" width="240" height="180" /></a></p>
<p>He doesn&#8217;t have a name yet, but he sure has quite a pair of ears on him!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/167/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/167/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=167&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/03/03/cat-news/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2372/2306811211_ae181b6e77.jpg" medium="image">
			<media:title type="html">img_3405.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>2% Genius</title>
		<link>http://jbowes.wordpress.com/2008/01/29/2-genius/</link>
		<comments>http://jbowes.wordpress.com/2008/01/29/2-genius/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 01:46:26 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/01/29/2-genius/</guid>
		<description><![CDATA[Agile Tsar Dmitri Dolguikh pointed out Project Euler yesterday, which is a website containing a series of short programming problems. It reads a bit like bonus questions on a math exam, which is actually quite refreshing compared to the day-to-day problems at work. For added fun, I&#8217;m trying to run through the problems in Common [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=166&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Agile Tsar <a href="http://appliedlogic.blogspot.com/">Dmitri Dolguikh</a> pointed out <a href="http://projecteuler.net">Project Euler</a> yesterday, which is a website containing a series of short programming problems. It reads a bit like bonus questions on a math exam, which is actually quite refreshing compared to the day-to-day problems at work. For added fun, I&#8217;m trying to run through the problems in <a href="http://en.wikipedia.org/wiki/Common_Lisp">Common Lisp</a>.</p>
<p>So far I have completed 4 out of 179 problems, which makes me <em>2% genius</em>, according to the site.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/166/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/166/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=166&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/01/29/2-genius/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
		<item>
		<title>Mission Accomplished!</title>
		<link>http://jbowes.wordpress.com/2008/01/08/mission-accomplished/</link>
		<comments>http://jbowes.wordpress.com/2008/01/08/mission-accomplished/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 15:35:26 +0000</pubDate>
		<dc:creator>jbowes</dc:creator>
				<category><![CDATA[opinion]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[cs_curriculum]]></category>
		<category><![CDATA[holy_grail]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[modularity]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reusable_software_components]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/01/08/mission-accomplished/</guid>
		<description><![CDATA[A lot of people are linking to this article about the state of the practice in CS curriculum and its use of Java creating dull replaceable drones.
mdehaan points out a wonderful section wherein the authors relate Java programming to a plumber in a hardware store, finding pieces and putting them together to solve a problem, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=165&subd=jbowes&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A lot of people are linking to <a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html">this article</a> about the state of the practice in CS curriculum and its use of Java creating dull replaceable drones.</p>
<p><a href="http://www.michaeldehaan.net/">mdehaan</a> points out a wonderful section wherein the authors relate Java programming to a plumber in a hardware store, finding pieces and putting them together to solve a problem, rather than their unmentioned alternative (maybe an artist molding clay?)</p>
<p>If this is true, then we, the software industry and software engineering fields, are done. We have found the holy grail: true modularity and reusable software components. Drop whatever language you&#8217;re using and switch to Java.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jbowes.wordpress.com/165/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jbowes.wordpress.com/165/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbowes.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbowes.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbowes.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbowes.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbowes.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbowes.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbowes.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbowes.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbowes.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbowes.wordpress.com/165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbowes.wordpress.com&blog=6421335&post=165&subd=jbowes&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jbowes.wordpress.com/2008/01/08/mission-accomplished/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ada7cda10d5eae5eeb7704278fb51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbowes</media:title>
		</media:content>
	</item>
	</channel>
</rss>