<?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>nextthing.org</title>
	<atom:link href="http://www.nextthing.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nextthing.org</link>
	<description>by Andrew Wooster</description>
	<pubDate>Sat, 03 May 2008 04:40:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Adding Default Descriptions to Trac Tickets</title>
		<link>http://www.nextthing.org/archives/2008/05/02/adding-default-descriptions-to-trac-tickets</link>
		<comments>http://www.nextthing.org/archives/2008/05/02/adding-default-descriptions-to-trac-tickets#comments</comments>
		<pubDate>Sat, 03 May 2008 04:37:37 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nextthing.org/archives/2008/05/02/adding-default-descriptions-to-trac-tickets</guid>
		<description><![CDATA[I&#8217;ve been using Trac for the new projects I&#8217;m working on, and am liking it so far. I have, however, done a bit of customization to make it fit my needs a bit better. One thing that took awhile was figuring out how to change the default ticket description.
I like having some structure to my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Trac for the new projects I&#8217;m working on, and am liking it so far. I have, however, done a bit of customization to make it fit my needs a bit better. One thing that took awhile was figuring out how to change the default ticket description.</p>
<p>I like having some structure to my bug descriptions, including steps to reproduce, regression information, etc. Thankfully, <a href="http://genshi.edgewall.org/wiki/Documentation/xml-templates.html" title="Genshi">Trac&#8217;s template system</a> allows you to replace output with an override template (typically found in templates/site.html) that is applied before content is sent across the wire. It was a bit time-consuming to figure out how to do what I wanted to do, but I eventually ended up with a templates/site.html file that looks something like this:</p>
<p><code class="source">
<span class="enscript-keyword">&lt;html xmlns=</span><span class="enscript-string">&quot;http://www.w3.org/1999/xhtml&quot;</span><span class="enscript-keyword">
      xmlns:py=</span><span class="enscript-string">&quot;http://genshi.edgewall.org/&quot;</span><span class="enscript-keyword"> py:strip=</span><span class="enscript-string">&quot;&quot;</span><span class="enscript-keyword">&gt;</span>
  <span class="enscript-keyword">&lt;!-- Custom match templates go here --&gt;</span>
<span class="enscript-keyword">&lt;span py:if=</span><span class="enscript-string">&quot;req.environ['PATH_INFO']=='/newticket' and not req.args.has_key('preview')&quot;</span><span class="enscript-keyword">&gt;</span>
<span class="enscript-keyword">&lt;textarea py:match=</span><span class="enscript-string">&quot;textarea[@id='field-description' and @class='wikitext']&quot;</span><span class="enscript-keyword">
  py:attrs=</span><span class="enscript-string">&quot;select('@*')&quot;</span><span class="enscript-keyword">&gt;</span>
Your custom description goes here.
<span class="enscript-keyword">&lt;/textarea&gt;</span>
<span class="enscript-keyword">&lt;/span&gt;</span>
<span class="enscript-keyword">&lt;/html&gt;</span></code>
</p>
<p>I hope this is useful for someone. <img src='http://www.nextthing.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2008/05/02/adding-default-descriptions-to-trac-tickets/feed</wfw:commentRss>
		</item>
		<item>
		<title>On Regret Minimization, Leaving Apple, and Playing Pinball</title>
		<link>http://www.nextthing.org/archives/2008/04/30/leaving-apple</link>
		<comments>http://www.nextthing.org/archives/2008/04/30/leaving-apple#comments</comments>
		<pubDate>Thu, 01 May 2008 02:37:33 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2008/04/30/leaving-apple</guid>
		<description><![CDATA[It&#8217;s been a month now since I left Apple to start a company. I&#8217;d been working on Time Machine (an interesting and challenging project) as a software engineer, with a fantastic group of people, and was in a situation that was really pretty great. So, why did I decide to leave and go do my [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a month now since I left Apple to start a company. I&#8217;d been working on Time Machine (an interesting and challenging project) as a software engineer, with a fantastic group of people, and was in a situation that was really pretty great. So, why did I decide to leave and go do my own thing?<span id="more-35"></span></p>
<p>The answer is complicated and, in between bouts of programming, I&#8217;ve been trying to put it into words for a few weeks now without much success. However, there are a couple of quotes I picked up over the years that I think encapsulate my main reason for leaving and the main thing I want to do.</p>
<p>The first has to do with regret, and comes from Jeff Bezos, on leaving his stable, great job to start a startup:</p>
<blockquote><p>So, it really was a decision that I had to make for myself, and the framework I found which made the decision incredibly easy was what I called &#8212; which only a nerd would call &#8212; a &#8220;regret minimization framework.&#8221; So, I wanted to project myself forward to age 80 and say, &#8220;Okay, now I&#8217;m looking back on my life. I want to have minimized the number of regrets I have.&#8221; I knew that when I was 80 I was not going to regret having tried this. I was not going to regret trying to participate in this thing called the Internet that I thought was going to be a really big deal. I knew that if I failed I wouldn&#8217;t regret that, but I knew the one thing I might regret is not ever having tried. I knew that that would haunt me every day, and so, when I thought about it that way it was an incredibly easy decision.</p></blockquote>
<p>- <cite><a href="http://www.achievement.org/autodoc/page/bez0int-3" title="Interview with Jeff Bezos">Jeff Bezos Interview</a>, Academy of Achievement</cite></p>
<p>I&#8217;ve been thinking about starting a company since high school, and maybe even a bit before that. Certainly by the time I hopped on the Internet for the first time, it had become one of my goals. Over the intervening years, I&#8217;ve had a few opportunities to start a company, but somehow have never just gone and done it. I&#8217;d always just kept thinking it was something I was going to do &#8220;someday&#8221;, but that, for the moment, there was something interesting to do at the place I currently was. Apple in particular is a pretty difficult place to leave, in that there are a huge number of interesting things to work on, a huge number of great people to learn from and work with, and is just really a very special place to be, especially over the past few years (Apple&#8217;s <a href="http://buzz.vox.com/library/post/leaving-apple.html" title="Buzz's much more interesting and well-written account of leaving Apple">Silver Age</a>).</p>
<p>However, I was increasingly feeling like the &#8220;someday&#8221; was going to need to become less abstract for me, or it would never happen. If it was hard for me to leave Apple to start a company in my 20s, with no wife, kids, or mortgage, it was only going to get harder from there on out. That knowledge, coupled with knowing that if I never actually started a company I&#8217;d regret it my entire life, was a strong impetus for me to gear up and give it a go.</p>
<p>Given that I&#8217;ve been thinking about starting a company for a long time, I&#8217;ve given what I enjoy doing and what I want to do with my time a lot of thought over the years, and found that what I really enjoy is playing pinball:</p>
<blockquote><p>
They didn&#8217;t have to name the bigger game. Everyone who had been on the team for a while knew what it was called. It didn&#8217;t involve stock options. Rasala and Alsing and many of the team had long since decided that they would never see more than token rewards of a material sort. The bigger game was &#8220;pinball.&#8221; West had coined the term; all the old hands used it. &#8220;You win one game, you get to play another. You win with this machine, you get to build the next.&#8221; Pinball was what counted. It was the tacit promise that lay behind signing up, at least for some. Holberger felt that way. &#8220;I said, &#8216;I will do this, I want to do it. I recognize from the beginning it&#8217;s gonna be a tough job. I&#8217;ll have to work hard, and if we do a good job, we get to do it again.&#8217;&#8221;
</p></blockquote>
<p>- <cite>Soul of a New Machine, Tracy Kidder, p. 228</cite></p>
<p>This quote comes from <a href="http://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine" title="Soul of a New Machine">a book about the creation of a new computer</a> by a small team at Data General. As the team eventually found out, Data General was a big company, and big companies don&#8217;t necessarily understand pinball. Success on a project likely means being kept on for continued maintenance of the project, not necessarily being drafted for the next big thing. Happily, however, some of them <a href="http://en.wikipedia.org/wiki/Convex_Computer" title="Convex Computer">discovered later</a> that the startup was a great way to play pinball. </p>
<p>Given that what I enjoy doing is building new things, I intend to do as much of that as possible. Essentially, my plan is to build a lot of small projects in succession, and see which ones take off. Certainly a big part of my inspiration in this approach comes from <a href="http://david.weekly.org/" title="Founder of SuperHappyDevHouse, too">David Weekly</a>, an acquaintance and Silicon Valley entrepreneur. David quit his job a few years ago, and dedicated his considerable talent and a huge amount of time to building a service that, ultimately, not many people used. Rather, <a href="http://pbwiki.com/" title="pbwiki">the project</a> that did take off for him was, literally, an overnight hack. </p>
<p>So, the lesson for me from all this is, as an individual entrepreneur, that my best bet for being able to play pinball is to build a lot of smaller, but still useful projects. Each project will either come at the right time and be the right idea, or it won&#8217;t be, but hopefully having more of them will ensure that the probability of eventual success will be higher. Or, at least, my probability of utter failure will be lower, and I&#8217;ll have a bunch of cool stuff to show for my time (and some &#8220;valuable operational experience&#8221;, as one of my friends describes failures).</p>
<p>So, that&#8217;s what I&#8217;m endeavoring to do, and so far I&#8217;m having a blast. I&#8217;ve eliminated a big potential regret from my life, and I&#8217;m getting to work on some new and interesting things. So, by those metrics, my little crash course in entrepreneurship is going very well. Anyway, enough rambling, I&#8217;ve got to get back to work!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2008/04/30/leaving-apple/feed</wfw:commentRss>
		</item>
		<item>
		<title>Happy Leopard Day!</title>
		<link>http://www.nextthing.org/archives/2007/10/26/happy-leopard-day</link>
		<comments>http://www.nextthing.org/archives/2007/10/26/happy-leopard-day#comments</comments>
		<pubDate>Fri, 26 Oct 2007 23:43:23 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/10/26/happy-leopard-day</guid>
		<description><![CDATA[In January, I started working as a software engineer on Leopard. I was lucky enough to get to work on two of the top ten features for this release of OS X:
 
For the past few months I worked seven days a week pretty much non-stop on making the back end of Time Machine faster [...]]]></description>
			<content:encoded><![CDATA[<p>In January, I started working as a software engineer on Leopard. I was lucky enough to get to work on two of the top ten features for this release of OS X:</p>
<p><a href="http://www.apple.com/macosx/features/timemachine.html" title="Time Machine"><img src="/blog/images/timemachine_icon.png" alt="Time Machine" /></a> <a href="http://www.apple.com/macosx/features/parentalcontrols.html" title="Parental Controls"><img src="/blog/images/parentalcontrols_icon.gif" alt="Parental Controls" /></a></p>
<p>For the past few months I worked seven days a week pretty much non-stop on making the back end of Time Machine faster and more reliable. It was a lot of work, but overall a very rewarding experience, and I&#8217;m happy that I got to work on such a kick-ass release of OS X. Enjoy!</p>
<p>Now, I&#8217;m off to a beer bash for some much needed relaxation. <img src='http://www.nextthing.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/10/26/happy-leopard-day/feed</wfw:commentRss>
		</item>
		<item>
		<title>UI Patterns: Wet Lazy Susan</title>
		<link>http://www.nextthing.org/archives/2007/06/03/ui-patterns-wet-lazy-susan</link>
		<comments>http://www.nextthing.org/archives/2007/06/03/ui-patterns-wet-lazy-susan#comments</comments>
		<pubDate>Mon, 04 Jun 2007 03:52:35 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/06/03/ui-patterns-wet-lazy-susan</guid>
		<description><![CDATA[I ran across a couple of variations on the &#8220;wet floor&#8221; effect today which both introduce a rotating set of images that can be moused over for more information. For lack of a better term, I&#8217;ll call this the &#8220;Wet Lazy Susan&#8221; effect.
First up, Amazon.com has the following under the &#8220;Recommended Based on Your Browsing [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across a couple of variations on the &#8220;wet floor&#8221; effect today which both introduce a rotating set of images that can be moused over for more information. For lack of a better term, I&#8217;ll call this the &#8220;Wet Lazy Susan&#8221; effect.<span id="more-32"></span></p>
<p>First up, <a href="http://www.amazon.com/">Amazon.com</a> has the following under the &#8220;Recommended Based on Your Browsing History&#8221; heading on their homepage:<br />
<embed src="http://www.nextthing.org/blog/videos/amazon-lazy-susan.mov" width="527" height="195" autoplay="true"></embed></p>
<p>I like the controls for scrolling through the circle of products. The tooltip-like popups on mouse over are nice too.</p>
<p>Then there&#8217;s the following, found on <a href="http://www.nissanusa.com/">Nissan USA</a>, shown here at half size:<br />
<embed src="http://www.nextthing.org/blog/videos/nissan-lazy-susan.mov" width="481" height="194" autoplay="true"></embed></p>
<p>Here the shadows that fade in when an item is highlighted are a nice touch, as is the text being in the same position for each item.</p>
<p>Has anyone else noticed any variations on this pattern floating around out there?</p>
<p><b>Update:</b> Yeah, I probably should&#8217;ve remembered that Front Row has the same effect for its main menu. Doh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/06/03/ui-patterns-wet-lazy-susan/feed</wfw:commentRss>
<enclosure url="http://www.nextthing.org/blog/videos/amazon-lazy-susan.mov" length="12984647" type="video/quicktime" />
<enclosure url="http://www.nextthing.org/blog/videos/nissan-lazy-susan.mov" length="13259463" type="video/quicktime" />
		</item>
		<item>
		<title>Microsoft Web</title>
		<link>http://www.nextthing.org/archives/2007/03/31/microsoft-web</link>
		<comments>http://www.nextthing.org/archives/2007/03/31/microsoft-web#comments</comments>
		<pubDate>Sat, 31 Mar 2007 20:07:43 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/03/31/microsoft-and-the-web</guid>
		<description><![CDATA[Here&#8217;s a snippet from Microsoft&#8217;s current corporate home page:

&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD HTML 4.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/html4/loose.dtd&#34;&#62;
&#60;html lang=&#34;en&#34; dir=&#34;ltr&#34;&#62;
  &#60;head&#62;
  &#60;META http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-16&#34;&#62;
  &#60;title&#62;Microsoft Corporation&#60;/title&#62;
  &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34;&#62;
  &#60;meta name=&#34;SearchTitle&#34; content=&#34;Microsoft.com&#34;&#62;
  &#60;meta name=&#34;SearchDescription&#34; content=&#34;Microsoft.com Homepage&#34;&#62;
Download this code: /code/microsoft.txt
Can you spot the problem?
Update: James Booker is the first in [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a snippet from Microsoft&#8217;s <a href="http://www.microsoft.com/en/us/default.aspx">current corporate home page</a>:</p>
<p><code class="source">
<span class="enscript-keyword">&lt;!DOCTYPE html PUBLIC </span><span class="enscript-string">&quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;</span><span class="enscript-keyword"> </span><span class="enscript-string">&quot;http://www.w3.org/TR/html4/loose.dtd&quot;</span><span class="enscript-keyword">&gt;</span>
<span class="enscript-keyword">&lt;html lang=</span><span class="enscript-string">&quot;en&quot;</span><span class="enscript-keyword"> dir=</span><span class="enscript-string">&quot;ltr&quot;</span><span class="enscript-keyword">&gt;</span>
  <span class="enscript-keyword">&lt;head&gt;</span>
  <span class="enscript-keyword">&lt;META http-equiv=</span><span class="enscript-string">&quot;Content-Type&quot;</span><span class="enscript-keyword"> content=</span><span class="enscript-string">&quot;text/html; charset=utf-16&quot;</span><span class="enscript-keyword">&gt;</span>
  <span class="enscript-keyword">&lt;title&gt;</span>Microsoft Corporation<span class="enscript-keyword">&lt;/title&gt;</span>
  <span class="enscript-keyword">&lt;meta http-equiv=</span><span class="enscript-string">&quot;Content-Type&quot;</span><span class="enscript-keyword"> content=</span><span class="enscript-string">&quot;text/html; charset=utf-8&quot;</span><span class="enscript-keyword">&gt;</span>
  <span class="enscript-keyword">&lt;meta name=</span><span class="enscript-string">&quot;SearchTitle&quot;</span><span class="enscript-keyword"> content=</span><span class="enscript-string">&quot;Microsoft.com&quot;</span><span class="enscript-keyword">&gt;</span>
  <span class="enscript-keyword">&lt;meta name=</span><span class="enscript-string">&quot;SearchDescription&quot;</span><span class="enscript-keyword"> content=</span><span class="enscript-string">&quot;Microsoft.com Homepage&quot;</span><span class="enscript-keyword">&gt;</span></code>
<span class="source-download">Download this code: <a href="http://www.nextthing.org/blog/code/microsoft.txt" title="Download the above code as a text file.">/code/microsoft.txt</a></span></p>
<p>Can you spot the problem?</p>
<p><b>Update</b>: <a href="http://www.jamesbooker.co.uk/">James Booker</a> is the first in with an answer: there are two Content-Type meta tags above, both of which specify different character sets. </p>
<p>Specifying the content-type in meta tags is a bit of a hack, as the browser has to seek through the first section of the document looking for a content-type declaration, then try reinterpreting the page with the character set the page specifies. Specifying a character set of &#8220;utf-16&#8243; doesn&#8217;t make any sense in this scenario, as the browser is going to try the sniffing by interpreting the HTML as ASCII. If the page were <i>actually</i> UTF-16, this wouldn&#8217;t work, as the representation for the string &#8220;Content-type&#8221; in UTF-16 isn&#8217;t identical to its representation in UTF-8, as we can see in a Python shell:<br />
<code class="source">

&gt;&gt;&gt; <span class="enscript-string">&quot;Content-type&quot;</span>.encode(<span class="enscript-string">&quot;utf-16&quot;</span>)
<span class="enscript-string">'\xfe\xff\x00C\x00o\x00n\x00t\x00e\x00n\x00t\x00-\x00t\x00y\x00p\x00e'</span>
&gt;&gt;&gt; <span class="enscript-string">&quot;Content-type&quot;</span>.encode(<span class="enscript-string">&quot;utf-8&quot;</span>)
<span class="enscript-string">'Content-type'</span>
</code>
</p>
<p>Thankfully, the <a href="http://www.w3.org/TR/html4/charset.html#h-5.2.2">HTML spec</a> foresaw this problem:</p>
<blockquote><p>
The META declaration must only be used when the character encoding is organized such that ASCII-valued bytes stand for ASCII characters (at least until the META element is parsed). META declarations should appear as early as possible in the HEAD element.
</p></blockquote>
<p>So, there are actually three problems with the above HTML. There are two content-type declarations in meta tags, one of them is bogus, and the correct one isn&#8217;t as early as is possible in the head element. These problems, thankfully, are mitigated by the presence of an HTTP header that specifies the correct character set, and by the incredible amount of effort browser vendors have put into making their code accepting of mistakes such as these.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/03/31/microsoft-web/feed</wfw:commentRss>
		</item>
		<item>
		<title>robots.txt Adventure</title>
		<link>http://www.nextthing.org/archives/2007/03/12/robotstxt-adventure</link>
		<comments>http://www.nextthing.org/archives/2007/03/12/robotstxt-adventure#comments</comments>
		<pubDate>Tue, 13 Mar 2007 06:58:19 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/03/12/robotstxt-adventure</guid>
		<description><![CDATA[Introduction.txt
Last October I got bored and set my spider loose on the robots.txt files of the world. Having had a good deal of positive feedback on my HTTP Headers survey, I had decided to poke around in robots.txt files and see what sorts of interesting things I could find. 
Since then, I&#8217;ve taken 6 weeks [...]]]></description>
			<content:encoded><![CDATA[<h3>Introduction.txt</h3>
<p>Last October I got bored and set my spider loose on the robots.txt files of the world. Having had a good deal of positive feedback on my <a href="http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers">HTTP Headers survey</a>, I had decided to poke around in robots.txt files and see what sorts of interesting things I could find. </p>
<p>Since then, I&#8217;ve taken <a href="http://www.nextthing.org/archives/2007/02/09/new-zealand-trip-2006">6 weeks of vacation</a> and gotten to be very busy at <a href="http://www.apple.com/macosx/leopard/">work</a>, so I&#8217;m just now getting around to analyzing all the data I gathered. These are some of the results of that analysis.<span id="more-30"></span></p>
<h3>Robots?</h3>
<p>To those of you completely unaware of what this post is about, here&#8217;s a brief primer. Google is a search engine. You probably use it. If not, odds are you use one of MSN Search (now called &#8220;Live Search&#8221;), Ask Jeeves (now Ask.com), or Yahoo! Search. How do those search engines grab web pages to search? Well, they use robots, also called spiders. Now, these aren&#8217;t the giant metal machines you see <a href="http://www.youtube.com/watch?v=ffLt1z7pBNw">chasing tweaked out English factory workers</a> through the streets of London, nor are they the giant eight-legged creatures you find <a href="http://www.urbandictionary.com/define.php?term=Clock+Spider">lurking behind clocks</a>. Rather, they&#8217;re pieces of software that surf around the web grabbing web pages. Since they&#8217;re software, they can surf the web much faster than humans, as well as find things most humans might overlook. As such, there arose a need for a standard for advising robots on what they should and shouldn&#8217;t look at.</p>
<h3>The Un-Standard</h3>
<p>The Robots Exclusion Protocol arose in June 1994 by consensus among a number of web spider developers. The <a href="http://www.robotstxt.org/wc/norobots.html">original protocol description</a> from 1994 describes the basic syntax of a robots.txt file to be placed at the root of a web site. So, for example, Google would place their robots.txt file at:</p>
<pre>
http://www.google.com/robots.txt
</pre>
<p>The basic format goes something like this. First, the file specifies a User-agent (the name of the robot) that is to follow the subsequent rules (until the next User-agent line):</p>
<pre>
User-agent: SuperHappyRobot
</pre>
<p>This line tells &#8220;SuperHappyRobot&#8221; that it needs to pay attention to the next few lines. Any other robot will ignore these rules. The next line might look something like:</p>
<pre>
Disallow: /tmp/
</pre>
<p>Which would mean SuperHappyRobot shouldn&#8217;t download any pages that start with the path &#8220;/tmp/&#8221; from this server. Variations on these lines are that * will match any robot name (in other words, &#8220;User-agent: *&#8221; should tell all the robots to pay attention), and blank Disallow statements mean anything goes. So, Apple&#8217;s robots.txt file of:</p>
<pre>
# robots.txt for http://www.apple.com/
User-agent: *
Disallow:
</pre>
<p>means, essentially, that any robot is free to grab any page it can get its hands on, at least for the &#8220;www.apple.com&#8221; website.</p>
<p>So, that was all well and good, but around 1996 there was a push to try to get robots.txt standardized, and an IETF draft (http://www.robotstxt.org/wc/norobots-rfc.html) was produced that clarified and added to the robots.txt syntax. The primary addition was a new &#8220;Allow&#8221; rule, which allowed a little more fine-grained control over which pages could be retrieved. For example, with the following set of rules:</p>
<pre>
User-agent: *
Disallow: /apache/
Allow: /apache/02/03/11/2228242.shtml
</pre>
<p>All documents except &#8220;/apache/02/03/11/2228242.shtml&#8221; in the &#8220;/apache/&#8221; path would be excluded from spidering. There was also a provision for &#8220;extensions&#8221; to the protocol, such that a rule line like &#8220;Crawl-delay: 10&#8243; could be added. Spiders that didn&#8217;t support that extension would ignore it, while spiders that did might delay 10 seconds between page fetches.</p>
<p>Around the same time the IETF draft was being discussed, Sean &#8220;Captain Napalm&#8221; Conner proposed <a href="http://www.conman.org/people/spc/robots2.html">his own extension</a> to the Robots Exclusion Protocol, which included Allow rules as well as regular expression syntax for rules, and new Robot-version, Visit-time, Request-rate, and Comment rules. Less than 100 of the sites I visited use rules unique to this spec.</p>
<p>Since none of these three documents have ever been ratified or adopted by a standards body, there has been a bit of persistent confusion over what constitutes a valid robots.txt document. The most definitive document is certainly the original 1994 document. Most commercial robots today, however, attempt to conform to the IETF draft document. And, given the large number of Allow rules around, it would be remiss of a robot not to try.</p>
<h3>A Touch of Controversy</h3>
<p>This de-facto standard has had its share of controversy over the years. Many webmasters object to having to opt-out of spiders crawling their site. Given that I found 47,738 sites that disallow spidering the root of their site with the wildcard (*) user-agent match, it appears that that viewpoint still has many adherents, and many just want to be left alone by the bulk of spiders. See the comments in <a href="http://www.threadwatch.org/node/10055">this thread</a> for some examples of this opinion from some relatively tech-savvy webmasters. Among them is the well-known <a href="http://incredibill.blogspot.com/">IncrediBILL</a>:</p>
<blockquote><p>
Lack of a robots.txt file should mean just that, they don&#8217;t know about robots so robots should STAY THE HELL OUT!
</p></blockquote>
<p>I&#8217;ll come back to this later.</p>
<p>Others have objected to the idea of putting up a roadmap to secret pages on their sites. Bertrand Meyer, the designer of Eiffel (the programming language, not the Tower) and a Very Smart Person even holds this viewpoint. To <a href="http://archive.eiffel.com/private/meyer/robots.html">quote</a>:</p>
<blockquote><p>
If you are just a bit absent-minded, isn&#8217;t it natural<br />
to use this mechanism to exclude stuff from being indexed and hence believe<br />
no one will find it? &#8220;Stupid&#8221;, maybe &#8212; but not unlikely.
</p></blockquote>
<p>Indeed, scanning through the robots.txt files I pulled down, I find disallow rules for 3,000+ &#8220;phpMyAdmin&#8221; paths, 40,000+ &#8220;stats&#8221; paths, 31,000+ &#8220;log&#8221; paths, 400+ &#8220;secret&#8221; paths, 100,000+ &#8220;admin&#8221; paths, and a host of other interesting looking entries. Even if the vast majority of these are properly secured with authentication, the chances of a few people being absent-minded, as Bertrand might say, are pretty good.</p>
<p>On the flip side of these opinions, there are those who have always viewed, and want to continue to view, robots.txt as a merely advisory standard. As courts and legislative bodies have begun to apply the force of law to this loose consensus protocol, some have <a href="http://www.eweek.com/article2/0,1759,1248105,00.asp">spoken out</a> in favor of information transparency and the essential openness of the Internet, including Marijn Koster, the creator of the protocol:</p>
<blockquote><p>
&#8220;I don&#8217;t think that&#8217;s in the spirit of free information exchange,&#8221; Koster says. Some robots may have legitimate reasons to ignore robot exclusion directives. For example, he says, a company might use robots to hunt for copyright infringing content.
</p></blockquote>
<h3>Methodology</h3>
<p>Having written a spider for my <a href="http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers">HTTP headers survey</a> and run it against all of the domains in the <a href="http://www.dmoz.org/">Open Directory</a>, I already had a large collection of web sites, and a decent spider. I further added to my list of domains by extracting links from the pages I&#8217;d downloaded for that project. Then, I ran my spider (written in Python, using PycURL) against this expanded list of domains, attempting to retrieve the robots.txt file at each. The HTTP headers and full body of the response were stored in a MySQL database. This database was then dumped via a custom &#8220;Big File&#8221; implementation, which amounted to a bit more than 12GB on disk. Then, I wrote an analyzer which could run through this logical file, processing the records, recording interesting statistics about the entries and reporting the results. This analyzer takes about half an hour to run on the dataset. In total, I received responses from about 4.6 million unique domains.</p>
<h3>Status Codes</h3>
<p>HTTP status codes (aka response codes) tell web browsers and robots both what kind of response they&#8217;re getting when they download a page. For example, &#8220;200&#8243; means everything is okay and &#8220;404&#8243; means the web server couldn&#8217;t find the file the browser requested. The IETF robots.txt spec says that a 404 response for robots.txt means the site is unrestricted for robots, and a 2XX response means the robot must respect the returned robots.txt content. Other status codes have recommended behaviors, but they&#8217;re not required.</p>
<p>Status codes are interesting primarily because they give a quick count of how many sites have a robots.txt file. I got responses from 4.6 million sites, so by tallying the response codes of different types, I can tell who has a robots.txt file and who doesn&#8217;t:</p>
<table>
<tr>
<th>Status Code</th>
<th>Count</th>
</tr>
<tr>
<td>404</td>
<td>3,008,767</td>
</tr>
<tr>
<td>200</td>
<td>1,217,303</td>
</tr>
<tr>
<td>302</td>
<td>276,106</td>
</tr>
<tr>
<td>301</td>
<td>72,674</td>
</tr>
<tr>
<td>403</td>
<td>15,675</td>
</tr>
<tr>
<td>400</td>
<td>5,570</td>
</tr>
<tr>
<td>401</td>
<td>3,856</td>
</tr>
<tr>
<td>500</td>
<td>2,841</td>
</tr>
<tr>
<td>410</td>
<td>1,450</td>
</tr>
<tr>
<td>303</td>
<td>1,319</td>
</tr>
<tr>
<td>503</td>
<td>890</td>
</tr>
<tr>
<td>304</td>
<td>529</td>
</tr>
<tr>
<td>501</td>
<td>280</td>
</tr>
<tr>
<td>502</td>
<td>227</td>
</tr>
<tr>
<td>307</td>
<td>218</td>
</tr>
<tr>
<td>204</td>
<td>215</td>
</tr>
<tr>
<td>300</td>
<td>100</td>
</tr>
<tr>
<td>504</td>
<td>60</td>
</tr>
<tr>
<td>406</td>
<td>58</td>
</tr>
<tr>
<td>419</td>
<td>45</td>
</tr>
<tr>
<td>550</td>
<td>36</td>
</tr>
<tr>
<td>202</td>
<td>34</td>
</tr>
<tr>
<td>999</td>
<td>17</td>
</tr>
<tr>
<td>100</td>
<td>12</td>
</tr>
<tr>
<td>418</td>
<td>10</td>
</tr>
<tr>
<td>201</td>
<td>7</td>
</tr>
<tr>
<td>405</td>
<td>6</td>
</tr>
<tr>
<td>423</td>
<td>6</td>
</tr>
<tr>
<td>666</td>
<td>3</td>
</tr>
<tr>
<td>402</td>
<td>3</td>
</tr>
<tr>
<td>415</td>
<td>3</td>
</tr>
<tr>
<td>407</td>
<td>2</td>
</tr>
<tr>
<td>510</td>
<td>2</td>
</tr>
<tr>
<td>490</td>
<td>1</td>
</tr>
<tr>
<td>505</td>
<td>1</td>
</tr>
<tr>
<td>509</td>
<td>1</td>
</tr>
<tr>
<td>900</td>
<td>1</td>
</tr>
<tr>
<td>409</td>
<td>1</td>
</tr>
<tr>
<td>408</td>
<td>1</td>
</tr>
<tr>
<th>Total:</th>
<td>4,608,330</td>
</tr>
</table>
<p>Broken down by class, we get:</p>
<table>
<tr>
<th>Class</th>
<th>Count</th>
<th>% of Total</th>
</tr>
<tr>
<td>5xx</td>
<td>4,338</td>
<td>0.09</td>
</tr>
<tr>
<td>4xx</td>
<td>3,035,454</td>
<td>65.86</td>
</tr>
<tr>
<td>3xx</td>
<td>350,946</td>
<td>7.61</td>
</tr>
<tr>
<td>2xx</td>
<td>1,217,559</td>
<td>26.42</td>
</tr>
<tr>
<td>1xx</td>
<td>12</td>
<td>0.00</td>
</tr>
<tr>
<td>invalid</td>
<td>21</td>
<td>0.00</td>
</tr>
</table>
<p>As we can see above, around 65% of sites return a 4XX status code, indicating they don&#8217;t have a robots.txt file. Another 7.6% redirect to a different URL, usually either the home page or an error page. This means, essentially, that about 26% of sites are attempting to serve up a valid robots.txt file. Of course, some sites may improperly return an error page with a 2xx status code, so this is only useful as a quick estimate.</p>
<h3>MIME Types</h3>
<p>MIME types (aka content types) are returned in the headers of HTTP responses by web servers to tell clients what the document&#8217;s type is. They consist of a type (text, image, etc), a subtype (like html or jpeg) and some other optional parameters (like the character encoding). So, for example, an HTML file usually has a MIME type like &#8220;text/html&#8221; and a text file a type like &#8220;text/plain&#8221;. An image file might have a MIME type like &#8220;image/gif&#8221; or &#8220;image/jpeg&#8221;. The IANA keeps an official list of registered MIME types at <a href="http://www.iana.org/assignments/media-types/">http://www.iana.org/assignments/media-types/</a>. </p>
<p>The only MIME type that should be returned for a valid robots.txt file is text. True, the specs don&#8217;t specifically mention MIME types, but sites like Google <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35237">follow the general HTTP rule</a> of &#8220;if it&#8217;s not text/*, it&#8217;s not really plain text&#8221;. Of the robots.txt files I got back, 109,780 of them had MIME types other than text/plain. So, it should be no surprise that the big 3 search engines (Yahoo!, Google, and MSN) all will attempt to parse any text robots.txt file they get back from the server. For example, <a href="http://www.digg.com/robots.txt">Digg.com serves up</a> their robots.txt file as &#8220;text/html; charset=UTF-8&#8243;. Google, MSN, and Yahoo! all obey the rules in the file.</p>
<p>Besides for text/html and text/plain, some of the more common MIME types I got back were application/octet-stream, application/x-httpd-php, text/x-perl (mostly error pages), video/x-ms-asf, application/x-httpd-cgi, image/gif, and image/jpeg.</p>
<p>Even among files ostensibly marked as text, there were a wide variety of questionable MIME types:</p>
<table>
<tr>
<th>Count</th>
<th>Content Type</th>
</tr>
<tr>
<td>2</td>
<td>application/txt</td>
</tr>
<tr>
<td>5</td>
<td>application/x-txt</td>
</tr>
<tr>
<td>2</td>
<td>file/txt</td>
</tr>
<tr>
<td>1</td>
<td>internal-gopher-text</td>
</tr>
<tr>
<td>30</td>
<td>plain/text</td>
</tr>
<tr>
<td>12</td>
<td>text</td>
</tr>
<tr>
<td>13</td>
<td>text/R*ch</td>
</tr>
<tr>
<td>2</td>
<td>text/aleph_save</td>
</tr>
<tr>
<td>2</td>
<td>text/ascii</td>
</tr>
<tr>
<td>6</td>
<td>text/asp</td>
</tr>
<tr>
<td>36</td>
<td>text/css</td>
</tr>
<tr>
<td>2</td>
<td>text/dhtml</td>
</tr>
<tr>
<td>73</td>
<td>text/enriched</td>
</tr>
<tr>
<td>1</td>
<td>text/htm</td>
</tr>
<tr>
<td>1</td>
<td>text/illegal</td>
</tr>
<tr>
<td>1</td>
<td>text/javascript</td>
</tr>
<tr>
<td>2</td>
<td>text/octet-stream</td>
</tr>
<tr>
<td>1</td>
<td>text/plane</td>
</tr>
<tr>
<td>4</td>
<td>text/rtf</td>
</tr>
<tr>
<td>1</td>
<td>text/ssi html</td>
</tr>
<tr>
<td>3</td>
<td>text/svg</td>
</tr>
<tr>
<td>3</td>
<td>text/text</td>
</tr>
<tr>
<td>9</td>
<td>text/txt</td>
</tr>
<tr>
<td>20</td>
<td>text/vnd.wap.wml</td>
</tr>
<tr>
<td>5</td>
<td>text/x-component</td>
</tr>
<tr>
<td>87</td>
<td>text/x-invalid</td>
</tr>
<tr>
<td>1</td>
<td>text/x-log</td>
</tr>
<tr>
<td>386</td>
<td>text/x-perl</td>
</tr>
<tr>
<td>2</td>
<td>text/x-python</td>
</tr>
<tr>
<td>40</td>
<td>text/x-server-parsed-html</td>
</tr>
<tr>
<td>23</td>
<td>text/xml</td>
</tr>
<tr>
<td>11</td>
<td>txt</td>
</tr>
</table>
<h3>No, Really, Robots Dot TEXT</h3>
<p>An error similar to using the wrong content type is uploading a robots.txt file in a format other than plain text. Popular mistakes here include Word documents (examples: <a href="http://www.purpleandfinelinen.co.uk/robots.txt">1</a>, <a href="http://www.toskana-ligurien.de/robots.txt">2</a>, <a href="http://www.friesmed.ch/robots.txt">3</a>), RTF documents (examples: <a href="http://www.tierheilpraxis-domingos-home.de/robots.txt">1</a>, <a href="http://www.magnum.com.tw/robots.txt">2</a>, <a href="http://www.byweis.de/robots.txt">3</a>), and HTML. I even found LaTeX and KOffice documents.</p>
<p>One piece of server software (called Cougar, which looks, as near as I can tell, to be either Microsoft Small Business Server or IIS), even spits out ASF streaming video files when asked for a robots.txt file (examples: <a href="http://msmedia.dot.ca.gov/robots.txt">1</a>, <a href="http://vista.streamguys.com/robots.txt">2</a>). Fun.</p>
<h3>Invalid Encodings</h3>
<p><a href="http://en.wikipedia.org/wiki/Character_encoding">Character encodings</a> specify what letters and other characters correspond to which specific bits. Sites specify what character set a response is in within the Content-type header. Some sites serve up robots.txt files in little-used encodings, such as UTF-16. UTF-16 is tricky for a number of reasons, not the least of which are the different endian encodings. Of the 463 UTF-16 files I found, approximately 10% were not valid UTF-16, even though they included a UTF16 BOM.</p>
<p>Otherwise, I saw close to 300 unique character sets claimed by servers, even discarding obviously incorrect ones and making them all lower case. These included some ones I hadn&#8217;t seen before, like &#8220;nf_z_62-010&#8243;, &#8220;ibm-939&#8243;, and  &#8220;fi_fi.iso-8859-15@euro&#8221;. </p>
<h3>Comments</h3>
<p>robots.txt have one and only one proper way to comment, which is to put comments after a hash mark (#). However, I found HTML comments (<!-- -->), C++ style comments (//), and a variety of others, including simple in line comments.</p>
<h3>Totally Confused</h3>
<p>Some people seem rather befuddled as to what constitutes a robots.txt file. For example, the most common confusion I&#8217;ve found is people using the raw text dump of the <a href="http://www.robotstxt.org/wc/active.html">Web Robots Database</a> as their robots.txt file. I&#8217;m not just talking about a couple of sites, either. Approximately 1 in every 1000 websites I looked at do this. It&#8217;s really quite bizarre. This seems to be part of a more general mistake wherein people copy instructions on how to set up a robots.txt file into the contents of robots.txt files. For example, here are a few: <a href="http://www.cooljobscanada.com/robots.txt">www.cooljobscanada.com</a>, <a href="http://www.numis.co.uk/robots.txt">www.numis.co.uk</a>, <a href="http://www.volubilis2000.com/robots.txt">www.volubilis2000.com</a>, <a href="http://www.kickapoo-orchard.com/robots.txt">www.kickapoo-orchard.com</a>, <a href="http://www.aplussupply.com/robots.txt">www.aplussupply.com</a>.</p>
<p>Then there are just the random things you find. <a href="http://www.crowndiamond.org/robots.txt">Religious</a> <a href="http://www.rjatropical.com/robots.txt">texts</a> and <a href="http://www.gracefree.org/robots.txt">descriptions</a> of <a href="http://www.the-good-news.org/robots.txt">churches</a>. A <a href="http://www.handsonus.com/robots.txt">catalog for MIDI tracks</a>. </p>
<p>ASCII art, both <a href="/blog/cache/incharge.org.robots.txt">pornography</a> <a href="http://lemondrop.freeradiosaic.org/robots.txt">and</a> <a href="http://www.philippinefiesta.com/robots.txt">otherwise</a>. </p>
<p>A <a href="http://www.shugashack.com/robots.txt">list of videogames</a>. <a href="http://perfectillusions.com/robots.txt">Several</a> <a href="http://www.le-pics.de/robots.txt">.htaccess</a> <a href="http://vanderwoning.com/robots.txt">files</a>. Access <a href="http://www.nowasol.com.pl/robots.txt">logs</a>. Lists of <a href="http://www.catallix.com/robots.txt">keywords</a> <a href="http://www.tcvirtual.com/robots.txt">and</a> <a href="http://www.kreisky.org/robots.txt">website</a> <a href="http://www.businesscareers.com/robots.txt">descriptions</a>, including an actual <a href="http://www.wasser.adv.br/robots.txt" rel="nofollow">keyword stuffing example</a>. Bash scripts, PHP pages, and everything in between. </p>
<p>I even found <a href="http://mylogo.incruit.com/robots.txt">image files</a> being served for robots.txt. Not to mention <a href="http://www.jimhendersonrealty.com/robots.txt">e-mail messages</a> and <a href="http://www.orbikron.com/robots.txt">newsgroup postings</a>.</p>
<p>There&#8217;s even a description of a swimming pool. <a href="http://www.allgaeu-bad.de/robots.txt">In German</a>.</p>
<p>And, of course, plenty of human-readable <a href="/blog/cache/lije.commissions.leg.state.mn.us.robots.txt">instructions</a> to robots which can&#8217;t read them: <a href="http://www.corsicamania.com/robots.txt">http://www.corsicamania.com/robots.txt</a>.</p>
<h3>info.txt</h3>
<p><a href="http://www.aota.net/forums/archive/index.php/t-18373.html">Apparently</a> there&#8217;s <a href="http://www.varisearch.com/Webmasters/PromotingYourSite/TipSheets/Alexa.htm">another protocol</a>, similar to robots.txt, for advertising the contact information for a site. A file called info.txt is supposed to be placed in the root of the site, which sites like Alexa will look for when trying to find out who owns the domain. I found a <a href="http://www.melodilerim.com/robots.txt">lot</a> of these <a href="http://ramast.divagaciones.com/robots.txt">records</a> in the robots.txt files.</p>
<p>Someday I&#8217;ll have to see how many of these there are in the wild.</p>
<h3>Wildcards</h3>
<p>There are no wildcards (also known as pattern matching) in the official robots.txt specs, but various search engines have added extensions to support this.</p>
<p>For example, <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=40367&#038;topic=8846">Google</a>, <a href="http://search.msn.com.sg/docs/siteowner.aspx?t=SEARCH_WEBMASTER_REF_RestrictAccessToSite.htm">MSN Search</a>, and <a href="http://help.yahoo.com/help/us/ysearch/slurp/slurp-02.html">Yahoo!</a> allow an asterisk (*) to match any sequence of characters, and a dollar sign ($) to match the end of the URL. So, to block spiders from downloading any JPEG image files, one might use:</p>
<pre>
User-agent: *
Disallow: /*.jpg$
</pre>
<p>Indeed, blocking spidering of certain file types is the most popular use for wildcards. Most people who are using wildcards for anything else are doing so entirely unnecessarily. For example, a lot of sites have the following rule:</p>
<pre>
Disallow: /RealEstateTips/*
</pre>
<p>The use of the non-standard wildcard above is useless, as this rule is equivalent to:</p>
<pre>
Disallow: /RealEstateTips/
</pre>
<p>This is because rules are by default partial paths, and will match any path beginning with that string. It&#8217;s also worth noting that of all the sites which have the above rule with the wildcard, none of them have the rule without the wildcard. So, a spider which didn&#8217;t support pattern matching would be free to download urls that start with &#8220;/RealEstateTips/&#8221;, so long as they didn&#8217;t have an asterisk after the second slash.</p>
<h3>Common Syntax Errors</h3>
<p>So, besides for the above, what are some of the common errors? The spec says that records are separated by blank lines, and the most common errors center around that. First most is putting a blank line between a User-agent line and the rules that should apply to it, with 74,043 files doing this. Next up is the placement of a Disallow or Allow rule with no User-agent or Disallow/Allow rule immediately before it, with 64,921 files making this mistake. The next is placing a User-agent line immediately after a Disallow/Allow line, with no space in between. 32,656 files did this. Finally, lines which were neither comments, nor blank, nor rules showed up in 22,269 files.</p>
<h3>Crawl-delay</h3>
<p>The IETF robots.txt draft spec includes a provision for extensions to the robots.txt format. Basically, along with &#8220;Allow&#8221; and &#8220;Disallow&#8221; lines, spiders can optionally support extensions for enhanced control over the robot&#8217;s behavior. The most widely-deployed of these is the Crawl-delay extension.</p>
<p>MSN Search, <a href="http://help.yahoo.com/help/us/ysearch/slurp/slurp-03.html">Yahoo!</a>, and Ask all support Crawl-delay, which is used to insert a delay between successive accesses of a web server. A typical Crawl-delay might look something like this:</p>
<pre>
User-agent: *
Crawl-delay: 5
</pre>
<p>Which spiders that support Crawl-delay would interpret as meaning they should wait 5 seconds between requests to the site. I found tens of thousands of these entries.</p>
<h3>Typos!</h3>
<p>I found a LOT of typos in these files. You wouldn&#8217;t think it would be very hard to spell the limited vocabulary of &#8220;User-agent&#8221; and &#8220;Disallow&#8221; correctly, but you&#8217;d be wrong. For example, I found <a href="/blog/cache/disallow.txt">69 typos of Disallow</a>. 69! That&#8217;s not even counting the ones I found with weird characters in the middle of the word.</p>
<h3>Fingerprinting Using robots.txt</h3>
<p>Sometimes, we can use robots.txt file contents for fingerprinting the sites that serve them up. For example, we can fingerprint the sites designed by <a href="http://www.moriah.com/">Moriah.com</a> by looking for robots.txt files with the contents:</p>
<pre>
this file placed here so you don't fill up my error log looking for it <img src='http://www.nextthing.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
</pre>
<p>Examples: <a href="http://www.lighthouselodging.com/">1</a>, <a href="http://www.riversedge-bb.com/">2</a>, <a href="http://www.applecountryinnbb.com/">3</a>, <a href="http://www.eastviewcountry.com/">4</a>, <a href="http://www.thefarmbnb.com/">5</a>.</p>
<p>Similarly, we can find the more than 7,000 real estate sites designed by <a href="http://www.advancedaccess.com">Advanced Access</a> by looking for the rule:</p>
<pre>
Disallow: /RealEstateTips/*
</pre>
<p>More usefully, we can identify one Korean domain squatter by looking for robots.txt files that contain only a meta tag like:</p>
<pre>
meta http-equiv=refresh content='0;url=http://www.hiplayer.com'
</pre>
<p>(brackets excluded because of a bug in WordPress).</p>
<p>At the time I spidered, we could identify another domain squatter by looking for a robots.txt file like:</p>
<pre>
User-agent: *
Disallow: /pixel/
Disallow: /library/
Disallow: /results_monitor.asp
</pre>
<p>They&#8217;ve since switched to a more generic, but still easily-identifiable robots.txt file.</p>
<p>Using similar methods, it&#8217;s easy to find a lot more domain squatters, mass-hosted websites, etc. A search engine could potentially maintain a list of such signatures and, based solely on the robots.txt file, not bother indexing the page. Or, more generally, it could increase or decrease the relevance and ranking of the site in its search results.</p>
<h3>Conclusions</h3>
<p>Okay, so what conclusions can we draw from this mess of data? The primary conclusion, I think, is that the Robots Exclusion Protocol is more complicated than it actually seems. As a spider, in order to properly parse the variety of robots.txt files you&#8217;ll find in the wild you&#8217;ll need to write an extremely lenient parser (following the <a href="http://en.wikipedia.org/wiki/Robustness_Principle">Robustness Principle</a>), mostly ignore content types, handle a variety of character encodings (and in many cases ignore those returned by the server), detect HTML and other content returned in the guise of robots.txt files, and potentially implement multiple extensions to the accepted standard.</p>
<p>How about the position, discussed above, that spiders shouldn&#8217;t spider or download content without the explicit permission of the webmaster? Belgium has certainly <a href="http://www.out-law.com/page-7759">come down</a> on the side of requiring explicit permission. However, the evidence shows that <a href="http://www.threadwatch.org/node/10055">Google is in the right</a> on this one:</p>
<blockquote><p>
&#8220;Given the vast size of the Internet, it is impossible for a search engine to contact personally each owner of a web page to determine whether the owner desires its web page to be searched, indexed or cached&#8230; If such advanced permission was required, the internet would promplty grind to a halt,&#8221; Google&#8217;s senior counsel and head of public policy Andrew McLaughlin told the Senate Legal and Constitutional Affairs Committee.
</p></blockquote>
<p>As seen in the status codes section, if this were to happen, nearly three quarters of domains on the web would go &#8220;dark&#8221; for search engines. If these sites went dark for search engines, they would essentially be offline for the majority of web users. Such an action would be in nobody&#8217;s best interest; not the site owner&#8217;s and certainly not in those of the web-using public at large.</p>
<p>On a less serious note, it&#8217;s always interesting to see just how vast the Internet really is. Few things drive that home for me as much as seeing how varied the content people generate on the web can be.</p>
<p>So, until next time, I leave you with a quote from one of the robots.txt files I came across:</p>
<blockquote><p>
are you searching something??? <img src='http://www.nextthing.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p></blockquote>
<p>Yes. Yes I am. And so far, every time I look, I find it.</p>
<p><b>More resources:</b></p>
<ul>
<li><a href="http://www.alexa.com/site/devcorner/samples?page=rdt">Alexa robots.txt Search example</a></li>
<li><a href="http://www.google.com/webmasters/">Google Webmaster Tools</a> - Includes a robots.txt validator.</li>
<li><a href="http://www.sun.com/robots.txt">Sun&#8217;s amusing robots.txt file</a></li>
<li>Google Blog on the Robots Exclusion Protocol: <a href="http://googleblog.blogspot.com/2007/01/controlling-how-search-engines-access.html">First Post</a>, <a href="http://googleblog.blogspot.com/2007/02/robots-exclusion-protocol.html">Second</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/03/12/robotstxt-adventure/feed</wfw:commentRss>
		</item>
		<item>
		<title>New Zealand Trip 2006</title>
		<link>http://www.nextthing.org/archives/2007/02/09/new-zealand-trip-2006</link>
		<comments>http://www.nextthing.org/archives/2007/02/09/new-zealand-trip-2006#comments</comments>
		<pubDate>Fri, 09 Feb 2007 07:00:24 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/02/09/new-zealand-trip-2006</guid>
		<description><![CDATA[In mid-2006, I decided that I wanted to use up some of my long-accrued vacation, and started planning a 5 week trip to New Zealand. This is a writeup of that trip.]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>In mid-2006, I decided that I wanted to use up some of my long-accrued vacation, and started planning a 5 week trip to New Zealand. I&#8217;d wanted to go to New Zealand for a couple of years, after having seen photos of the country from my friend <a href="http://members.cox.net/josh_daniel/">Josh&#8217;s &#8217;round the world trip</a>. </p>
<p>Typically, for me, planning a trip involves booking transportation, getting a rough idea of what I want to do, and figuring things out when I get there, a tendency which annoys some of those close to me to no end. I didn&#8217;t want New Zealand to be any different, so I booked airfare and investigated my in-country transportation options pretty carefully. I finally settled on renting a <a href="http://www.fetchcampervanhirenewzealand.co.nz/index.php">campervan</a>, so that I&#8217;d be able to set my own pace for exploring the country. That settled, I booked the only activity I really had to book in advance, a hut ticket for the <a href="http://en.wikipedia.org/wiki/Milford_Track">Milford Track</a>, which is reputed to be the &#8220;finest walk in the world.&#8221; That settled, I geared up for the trip, buying lots of photography and hiking gear, and prepared myself for my first vacation outside of North America.<span id="more-28"></span></p>
<h3>Outward Bound</h3>
<p>On November 15th, I boarded an Air New Zealand flight bound for New Zealand. It&#8217;s a long flight, so I&#8217;ll spare you the details, but after what seemed like an eternity (I don&#8217;t sleep very well on airplanes) I arrived in NZ, at 5am on the 17th. Losing a day threw me off a bit. </p>
<p>As I groggily made my way through customs, I noticed that New Zealand seems to care a great deal about &#8220;biosecurity&#8221;, aiming to preserve the local wildlife and native biology through preventing intrusive species from coming into the country. My hiking boots had to be declared, and were given a good looking at. I felt sorry for a forlorn looking cowboy in the X-ray line by himself, his saddle and tack up on the conveyor belt and boots off for inspection. He looked like he&#8217;d been there before and expected to be there for awhile.</p>
<p>After catching a taxi to the Auckland Hyatt, I hoped to do a super-really-early check-in, but had to wait until past 10am for my room to free up. I was glad I&#8217;d booked a few nights there, as I was totally exhausted, and, as is par for the course for me on flights, I&#8217;d come down with a cold. However, having five hours to kill, I wandered around downtown Auckland taking pictures, which was fun, although not quite as much fun as going to sleep would have been.</p>
<div class="lthumb"><a href="/blog/images/nz/IMG_2657.jpg"><img src="/blog/images/nz/IMG_2657_t.jpg" alt="" /><br />Santa in Auckland</a></div>
<p>Auckland is an easy city to navigate on foot, and being a pedestrian for a couple of days was a good way for me to get used to cars driving in the left-hand lane from a perspective other than that of behind a steering wheel. It&#8217;s also a tidy city, with people who speak in a strongly British-influenced accent, with a strong showing of Asians reminding me that I was on the Pacific Rim. In those ways, it reminded me of Vancouver. In others, the feel of the city is much like San Francisco, with quirky little shops, big company headquarters, a smattering of tech startups, and a wide selection of good places to eat. It&#8217;s also a city on the ocean, which helps with the San Francisco vibe, and so it didn&#8217;t take me long to start feeling comfortable.</p>
<p>After catching up on my sleep that night, I set out to explore a bit. First, I caught a bus to the Parnell area and walked over to the <a href="http://www.aucklandmuseum.com/">Auckland Museum</a>. The Museum&#8217;s collection runs the gamut from natural history, to artworks and furniture, to Maori artifacts and WW2 warplanes. The most interesting thing, for me, was the collection of stuffed native birds, including reproductions and skeletons of Moa. Moa were giant flightless birds native to New Zealand that grew to up to 13 feet in height, and standing next to one made me appreciate how terrifying they must&#8217;ve been for the Maori who hunted them.</p>
<p>Another highlight of Auckland was <a href="http://en.wikipedia.org/wiki/Kelly_Tarlton's_Underwater_World">Kelly Tarlton&#8217;s Antarctic Encounter and Underwater World</a>. As the name would suggest, it&#8217;s a cross between an aquarium and an antarctic exhibit. This was the only place in NZ where I saw penguins, and was by far the best aquarium I went to, with the 110m long underwater tunnel and the giant squid on display being real highlights. Here I also learned that an adult octopi can fit through a hole the size of a dime. Apparently, Kelly Tarlton&#8217;s used to have a problem wherein crayfish (giant NZ lobsters) would be found eaten when they opened the aquarium in the mornings. It turns out that an octopus had been squeezing out a tiny hole at the top of its tank every night, crawling across the floor to the crayfish tank, eating a crayfish, and crawling back before morning. Neat.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_2702.jpg"><img src="/blog/images/nz/IMG_2702_t.jpg" alt="" /><br />Moa</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_2755.jpg"><img src="/blog/images/nz/IMG_2755_t.jpg" alt="" /><br />Penguins at Kelly Tarlton&#8217;s</a></div>
<p><br class="clearboth" /></p>
<p>Also in Auckland, I picked up my transportation: a Toyota Hiace campervan from <a href="http://www.ezy.co.nz/">Ezy</a> rentals. The Hiace is a popular, cheap, and incredibly wimpy van, which in my case had been professionally converted to have seats in the back that convert to a bed, plus a stove, sink, refrigerator, and microwave. Mine was also fitted with a giant fiberglass top, which served both to increase headroom and, as I discovered later, act as a huge sail in the wind, whipping me all over the road. Fun.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_2730.jpg"><img src="/blog/images/nz/IMG_2730_t.jpg" alt="" /><br />Freedom! And right hand drive!</a></div>
<p><br class="clearboth" /></p>
<p>Nevertheless, I quickly got up to speed on driving. As I&#8217;d given myself a few days as a pedestrian to observe traffic from the sidelines, it wasn&#8217;t that hard to adjust to driving on the left hand side of the road. It helps that Kiwis (as New Zealanders call themselves) are incredibly polite, even while driving, and the speed limits are pretty low compared to the US. I quickly grew to appreciate the consistent use of roundabouts, which make traffic move much faster than stop signs would allow. </p>
<h3>From Auckland to Rotorua</h3>
<p>On the 20th of November I set out from Auckland to Rotorua. The drive was most uneventful, taking me through lots of green grassy areas, and past plenty of sheep. After wandering around the town getting my bearings, I visited a fancy old spa built in the 18th century. There I learned that long ago they used radium-infused water to &#8220;treat&#8221; people. Aahhhh! Afterwards, I ate dinner in town and drove to my first campervan site for the night. </p>
<p>Campervan parks (also called holiday parks) are basically the equivalent of RV parks in the US, offering laundry and shower facilities, along with electric hookups for campervans. The site in Rotorua was pretty nice, set along side a small stream, with well-maintained facilities and even wireless Internet access (for a fee).</p>
<p>The next day, after some drama involving not being able to open the safe in my campervan to retrieve my camera gear, I headed out to see some of the sights. Rotorua is famous for its thermal formations, so I went to the nearest one, known as Hell&#8217;s Gate. George Bernard Shaw once said of this place, &#8220;I wish I had never seen the place, it reminds me too vividly of the fate theologians have promised me.&#8221; Indeed, George&#8217;s description is apt, and the Maori tribe which owns the site has a taken the theme and run with it, giving names to the various formations such as Devil&#8217;s Cauldron, Sodom and Gomorrah, Devil&#8217;s Bath, and Map of Australia (Kiwis have a friendly rivalry with their Western neighbors). While there, I also had my first chance to look at New Zealand tree ferns up close. These ferns grow to be quite large (20&#8242; tall or more) and are quite sturdy. They also look like something dinosaurs would have eaten. After touring around the park for a bit, I exited past the spa, where you can bathe in the hot spring water or take a hot mud treatment. Personally, it smelled too bad for that to sound very enticing. And, as it was a hot day (I got my first sunburn of the trip here), the thermal bath seemed doubly unenticing. </p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_2843.jpg"><img src="/blog/images/nz/IMG_2843_t.jpg" alt="" /><br />Rotorua Bath House</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_2926.jpg"><img src="/blog/images/nz/IMG_2926_t.jpg" alt="" /><br />Thermal Formations at Hell&#8217;s Gate</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_2929.jpg"><img src="/blog/images/nz/IMG_2929_t.jpg" alt="" /><br />Tree Ferns at Hell&#8217;s Gate</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_2957.jpg"><img src="/blog/images/nz/IMG_2957_t.jpg" alt="" /><br />Enjoying the Sun</a></div>
<p><br class="clearboth" /></p>
<p>Have I mentioned how bright the sun is in NZ? It&#8217;s bright. Extremely bright. Everyone seems to wear sunscreen, and I was warned constantly to do so by Kiwis. I saw several people in their 50&#8217;s and 60&#8217;s walking around who quite obviously had had a bout with skin cancer, so I took the sunscreen warnings to heart, applying sunscreen constantly.</p>
<p>After Hell&#8217;s Gate, I headed to Wai-o-tapu Thermal Wonderland. This place is incredible. The thermal pools are gigantic, and most are very colorful. My favorite by far is the Champagne Pool, which is a 65m diameter pool of bright blue water, with a brilliant orange ledge around the rim, just under the waterline. Sadly , it&#8217;s rather difficult to photograph, as there&#8217;s a tremendous amount of steam rising off the water at any given time, as the surface temperature is about 165 degrees farenheit. Nonetheless, I took a bunch of pictures, although they didn&#8217;t turn out as well as I&#8217;d like, mostly due to camera operator error (for the curious, I shot at ISO 1600 by accident all day). After leaving, I stopped by some mud pools just outside the park, having fun just staring at a giant boiling mud puddle, trying to guess when the next large air bubble would rise and cause mud to gush into the air.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_3201.jpg"><img src="/blog/images/nz/IMG_3201_t.jpg" alt="" /><br />The Champagne Pool</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_3285.jpg"><img src="/blog/images/nz/IMG_3285_t.jpg" alt="" /><br />Hut at the Buried Village</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I headed down to the Buried Village of Te Wairoa, which was a Maori and colonial village buried in a volcanic eruption in 1886. The guided tour was excellent, and conducted by the descendant of a famous Maori guide who lived in the village at the time of the eruption. Here I got to see the construction of Maori dwellings up close, including the usage of the tree fern trunks for walls and roofs, and the inclusion of secret escape doors (in case of attack from other Maori). Around the back of the excavated village was a trout stream, where the guide said there were &#8220;very large&#8221; trout, holding his arms out to show 2 feet or so of length. I thought he was exaggerrating, but if anything, he was understating how enormous the trout in the stream are. Also, there was a short hike past a beautiful waterfall, going down a steep set of steps to its base. The Buried Village was a definite highlight of my trip thus far.</p>
<div class="rthumb"><a href="/blog/images/nz/IMG_3345.jpg"><img src="/blog/images/nz/IMG_3345_t.jpg" alt="" /><br />Art Deco in Napier</a></div>
<p>At the village, I decided to check and see when I had to be in Fiordland for my one scheduled activity of the trip, hiking the Milford Track. It turned out that I had booked it for the 29th of November, which meant that I had only 7 days to get to the other end of New Zealand. Realizing this, I jumped in my van and started driving. First heading up to Rotorua to fill up with diesel, I then headed south. I considered stopping in Taupo, a major tourist town on the edge of a beautiful lake, but instead kept driving all the way to Napier. </p>
<p>Napier is a small city (50,000 people) on the Eastern seabord of New Zealand. Much of Napier was destroyed in 1931 by an earthquake (followed by a fire), and so much of the downtown area was rebuilt around that time in an Art Deco style. I spent some time walking around the city center (or centre, as they spell it in NZ) enjoying the cool looking buildings, many of which wouldn&#8217;t look out of place in California. Then, I had a seafood dinner at a cafe fronting the bay, and headed to another carpark. This carpark had a pleasant surprise in store for me: the fastest wireless Internet access I found in New Zealand. It was great. I even got to video chat over iChat with some of my friends back home, all while sitting in the back of my campervan. I also took this opportunity to upload a bunch of the photos I&#8217;d taken.</p>
<h3>Thanksgiving</h3>
<p>The next day, Thanksgiving, I booked passage on the Interislander Ferry from Wellington to Picton for the next morning and started driving to Wellington. The drive took me through some very beautiful country; country populated, mainly, by sheep. There were also a few vineyards and field crops thrown in for good measure, but still&#8230; Sheep. Lots of them. The other memorable part of this drive was the extreme wind. This had the unfortunate effect of making my campervan much harder to control than it should have been. At one point, I was considerably worried that my van was going to be toppled by a gust of wind, so I drove very, very slowly. </p>
<p>Fortunately, I made it to Wellington without any wind-related mishaps. As it was Thanksgiving, I decided to try and find something suitable to eat in Wellington proper. The best I could do was a steak dinner with guacamole and chips at a restaurant purporting to be Texan. Sadly, they didn&#8217;t know how to make chips, guacamole, or steak particularly well. All the same, I was thankful that I could have a meal at least resembling something American, and thankful that I was on such a great vacation. Being alone on Thanksgiving also made me that much more aware of how thankful I am for all of the people in my life, who I missed very much.</p>
<h3>To the South Island</h3>
<p>I got up early the next morning in anticipation of my ride on the Interislander. Heading into the ferry terminal an hour ahead of my departure, I noted that it was still windy in Wellington. In fact, as I waited in line behind the other campervans, I noticed them all rocking gently back and forth in the wind.</p>
<p>Once I had parked my car in the ferry, I headed upstairs to watch our departure from the viewing platform. It was a windy but mostly clear day, and I had a decent view of the Bay and of downtown Wellington as the ferry pulled out into the sea.</p>
<h3>On the Road to Te Anau</h3>
<p>After arriving in Picton, on the South Island, I immediately started to head south. The drive took me along the eastern coast of the South Island, through country that reminded me much of California. There were browning rolling hills that looked like the area around King City, as well as a few row crops and a lot of grape farming to round out the similarities. Of course, rather than cattle dotting the fields and hillsides, there were sheep.</p>
<div class="lthumb"><a href="/blog/images/nz/IMG_3440.jpg"><img src="/blog/images/nz/IMG_3440_t.jpg" alt="" /><br />Christchurch</a></div>
<p>The drive took me down the coast, through areas that reminded me of Big Sur, with a narrow highway winding a path between shrub covered rock on one side and the sea on the other. Around 7pm I finally arrived in Christchurch and checked into a carpark. After that, I wandered around town for a bit, saw that the city center is indeed dominated by a giant church, and got to see a bit of the soapbox rantings the city center is so famous for. After wandering up and down the streets looking for a place to eat, I settled on sushi at a restaurant called Sala Sala. I had a crayfish combo, which consisted of half a crayfish sashimi style (raw), and the other half grilled, with a salad, crayfish miso soup, some assorted snacks, and a small dessert. The crayfish was excellent! By the time I got back to the carpark, however, it was 11:30, and I realized that the extended daylight hours of the low southern hemisphere were really throwing my schedule off. All the same, I appreciated them, as I was able to do and see a lot, every day, all day, with mostly full sunlight until mid-evening.</p>
<p>The next day, rather than doing any more sightseeing in Christchurch, I spent some time booking transport to and from the Milford Track, something I had forgotten to do earlier. Luckily, the Department of Conservation and Real Journeys web sites together enabled me to get booked up easily, and I was back on my way. So, I set out for Dunedin, which is much further down the coast from Christchurch. It was a long, mostly uneventful drive. I will say, however, that this particular drive made me miss the US Interstate Highway System. The speed limit in NZ is about 62mph, and the roads go through every little town along the way, in each of which you have to slow down to 31mph or less. At home, the drive would&#8217;ve only taken 3.5 hours, but in NZ it took over 6. The tradeoff, however, is that in NZ there are loads of vibrant and healthy small businesses along the highways, with real communities rather than suburban sprawl, whereas in the US such towns are much less healthy.</p>
<div class="rthumb"><a href="/blog/images/nz/IMG_3472.jpg"><img src="/blog/images/nz/IMG_3472_t.jpg" alt="" /><br />Dunedin Train Station</a></div>
<p>Dunedin, it turns out, is an interesting town. It&#8217;s built in a bit of a hilly seashore area, and as such there are a lot of hillside houses with nice views of the ocean. There is also a lot of stone architecture in the town center, with the rail station being a prime example. It also seems like the churches all tried to outdo each other in their gothic stone grandeur. </p>
<p>The next day&#8217;s driving took me through a whole bunch of quirky small towns, including Gore, which bills itself both as the Brown Trout Fishing Capital of the World and the Country and Western Music Capital of New Zealand.</p>
<h3>Gateway to Fiordland</h3>
<p>On arriving in Te Anau (the &#8220;Gateway to Fiordland&#8221;), I got settled in yet another campervan park, and walked into Te Anau proper. The town is fairly small (population 1,900) and is mostly centered around tourism in the Fiordland region. There are tour operators for everything from fishing boats, to seaplanes, luxury tour boats, sightseeing buses, and everything in between, all jockeying for the attention of travelers seeking the spectacular outdoor scenery of the fiords. The town itself offers some impressive scenery, sitting on the edge of Lake Te Anau (the largest lake on the South Island), with snow-capped mountains lining the horizon.</p>
<p>On recommendation of the carpark staff, I headed over to the cinema to watch a 30 minute film about the Fiordlands. The film, <a href="http://www.fiordlandcinema.co.nz/aw/aw.htm">Shadowland</a>, was a kind of cinematic tour of the park, with no audio track except some mood setting music. It has a lot of really spectacular shots taken from a helicopter, and really conveys how spectacular the area is. I was so impressed with the scenery and camera work that I decided to purchase the DVD, and ever since have been showing it to whichever of my friends will watch.</p>
<p>The next day, I took a guided tour through the Te Anau glowworm caves. This involved a ferry trip across the lake, where we were led into a small limestone cave and back past waterfalls and a raging underground stream to board a small boat. This boat was pulled via a cable by our guide through a pitch black cavern in which we were able to view the glowworms all over the walls and ceiling. It was like staring at oddly close and vibrant green stars. It was a bit of a surreal experience, and one I&#8217;d recommend.</p>
<p>The next couple of days were spent doing some last-minute shopping for camping gear and food supplies, picking up tickets, and arranging for secure storage of my computer and campervan. The Department of Conservation staff were helpful, but also scared me with talk of water up to my hips on sections of the Milford Track, all-pervasive rain, and snow and wind to boot.</p>
<h3>The Milford Track</h3>
<p>Bus pickup from Te Anau on the 29th was at 9:45am at the Department of Conservation (DoC) center. After a short ride to Te Anau Downs, we took a ferry to Glade Wharf, the start of the track. The walk started in beech forest, with lots of mossy ground cover, and also lots of rain. In fact, it rained continuously all day. I was able to take my camera out for a bit, shielding it with my umbrella, and snap a few photos along the walk. The rain-obstructed views were of forested, snow-topped mountains rising straight up from fast-running streams and rivers, swollen with the day&#8217;s rain. </p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_3714.jpg"><img src="/blog/images/nz/IMG_3714_t.jpg" alt="" /><br />Clinton Hut</a></div>
<p>At one point, there was a 4 minute side walk to a &#8220;wetland&#8221; area; really a bit of a bog. It was interesting, however, as the track led to a small viewing platform in a boggy clearing, which afforded views of the surrounding mountains. Back on the main track, there were standing puddles several inches deep on the track.  After a little over an hour we reached Clinton Hut, our first stop. I was surprised to find that Clinton Hut is both larger and more well-appointed than I had imagined. There are two bunk rooms, each with 20 bunks, plus a restroom outdoors (with sinks and flush toilets!), as well as another hut with gas cookers, benches, sinks, and a wood-fired stove. A ranger cabin sits nearby, with a friendly fellow staffing it full time. Out back is a walkway to a helicopter pad which also serves as a good viewing platform for some waterfalls (from which the Hut draws its water) and mountains.</p>
<p>As we arrived early in the afternoon, we built a fire and waited for the complement of our party to arrive. Later that day they started to trickle in, significantly wetter than ourselves. Apparently, the puddles had gotten quite a bit deeper since we&#8217;d arrived, and they&#8217;d had to walk through water that went past their boot tops. Around 7:30, the ranger dropped in to give a brief speech and collect our hut passes. He had walked up to the next hut and back to check trail conditions, and reported that the water was up to the middle of his thigh! So, I expected to get thoroughly wet the next day.</p>
<p>The second day&#8217;s walk was a gentle climb through a long valley. Most of the walk was through beech forest, while sections had only grass and low brush. The steep sides of the valley were dusted with snow part way up, giving them a rather striking appearance. These mountains rose straight up out of this narrow valley, and the rain and snow runoff gave rise to thousands of small and large waterfalls cascading off the sides and onto the valley floor. It was amazing, and by far the most awesome part of my trip thus far.</p>
<p>I stopped for lunch at a guided walk shelter. The guided walkers, who pay significantly more than us unguided (or &#8220;freedom&#8221;) walkers, have luxury lodgings (read showers), with meals prepared for them at stopping points along the walk. Thankfully, they let us use their huts for shelter when we ate lunch, so I was able to take my pack off and eat without getting soaked. Soon after I stopped, a kea showed up at the shelter. The kea is the world&#8217;s only alpine parrot. I&#8217;d heard about this &#8220;clown of the mountains&#8221; from my friend JD, but was not expecting them to be as large as this one was! it hopped around as I unpacked my food and ate lunch, peering at me in hopes of an opening in which to rummage through my pack for food and transportable objects. As I ate, other campers arrived, and rather than scaring the bird away, the increased attention only seemed to embolden it. Eventually, I started getting cold, so I packed everything back up and started back on the long walk to the Mintaro Hut. Along the way was a side walk to a small lake. There I was able to snap some shots of Paradise Ducks and of a rather nice waterfall falling directly from the cliffs into the lake on the valley floor. </p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_3741.jpg"><img src="/blog/images/nz/IMG_3741_t.jpg" alt="" /><br />Second Day of the Hike</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_3760.jpg"><img src="/blog/images/nz/IMG_3760_t.jpg" alt="" /><br />Cheeky Kea</a></div>
<p><br class="clearboth" /></p>
<p>After what seemed like an interminable walk, I finally made it to Mintaro Hut. My hips had been hurting me for the last couple of miles of my walk, and I was glad to finally be able to dump my pack off. Outside the hut was another kea, even more aggresive than the first. It actually hopped up to one of the hikers and started nibbling on his jacket! </p>
<div class="rthumb"><a href="/blog/images/nz/IMG_3789.jpg"><img src="/blog/images/nz/IMG_3789_t.jpg" alt="" /><br />Mossy Trees</a></div>
<p>All that day, a helicopter had been making passes up and down the valley. During the hut talk that evening, the ranger (a woman in her 20&#8217;s) told us she&#8217;d been up repairing the trail after it had washed out during the rain. That night, after talking with my fellow trampers (as they call hikers in NZ) for a bit and eating a rather nondescript meal reconstituted from a freeze-dried packet, I went to bed early, feeling tired and sore.</p>
<p>On the third day of my hike, I got up and set about readjusting my pack so it would ride a little higher on my hips. That done, I set out late, having lost a lot of time reorganizing my pack. The initial walk was easy, but I quickly came to the ascent up to MacKinnon Pass. The ascent was difficult, but soon I was rewarded with awesome views back down the Clinton Valley, up which I had walked the previous two days. Eventually, I got to the pass, and saw some of the most incredible views I&#8217;d ever seen. At the top, there is a monument to Quinton MacKinnon, who discovered the pass in 1888. Resting at the monument were some guided Japanese tourists, who were having fun photographing the playful keas, and I had one of them take my picture next to the 12 Second Drop. Then, I hiked over to the rest hut, changing into warmer clothes along the way, as it was both very cold and very windy along the top of the pass.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_3919.jpg"><img src="/blog/images/nz/IMG_3919_t.jpg" alt="" /><br />Starting the Third Day</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_3956.jpg"><img src="/blog/images/nz/IMG_3956_t.jpg" alt="" /><br />On the Ascent</a></div>
<p><br class="clearboth" /></p>
<p>At the shelter, I had lunch with some of my fellow hikers and went out to take a look from the &#8220;loo with a view&#8221;, a toilet perched at the edge of a cliff looking out over the valley. One of the hikers there said that a guide told her he&#8217;d once seen a kea grab someone&#8217;s jacket, fly over the edge of the 12 Second Drop, and drop the jacket in the valley. Apparently they also like to steal boots because they offer good protection from the rain.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_4005.jpg"><img src="/blog/images/nz/IMG_4005_t.jpg" alt="" /><br />Me by 12 Second Drop</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_4038.jpg"><img src="/blog/images/nz/IMG_4038_t.jpg" alt="" /><br />View from the Pass Shelter</a></div>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_4325.jpg"><img src="/blog/images/nz/IMG_4325_t.jpg" alt="" /><br />Sutherland Falls</a></div>
<p>After lunch, I started down the mountain. The climb down was much harder than the climb up, and took me much longer. The climate also changed quickly from very cold to very warm partway down, so I had to change clothes again. Eventually, I got down to the independent walker shelter, which was next to the hut the guided walkers would stay at that night. I set down my pack and started towards Sutherland Falls which was a short side hike away. I trekked to the falls with my camera and tripod, but wasn&#8217;t able to get many shots because the wind was blowing water everywhere around the base and I was immediately soaked in freezing water. On the way back, I tried to find some blue ducks in the river that a guide had directed me to, but was unsuccessful. After retrieving my pack from the shelter, I moved on, stopping further down the river to take some photos of the falls from a distance. A ranger stopped to talk to me, and he told me about some more spots to find blue ducks (I wasn&#8217;t able to find them there, either). Later, some people doing the Milford Run ran by, saying &#8220;beautiful view&#8221; as they passed. The Milford Run is a one day run of the Milford Track. Basically, people who don&#8217;t book hut passes can&#8217;t camp on the track, so these runners will run the entire track in one day, as a sort of endurance challenge, and presumably to make some sort of point.</p>
<p>Eventually, I got to the hut, just as the ranger&#8217;s talk for that night ended. As I ate dinner, I and some others chatted with the ranger, who was a really interesting guy. It turns out that he has ranger friends all over the world, and has a huge collection of park ranger hats and clothes from places he&#8217;s visited. After eating, I went to bed as soon as I could, knowing I&#8217;d have a long day ahead of me.</p>
<p>On the fourth day on the track, my hiking caught up to me. My feet hurt, badly, but I took some ibuprofin and after a quick breakfast I was on my way again. After passing the Boat House, an avalanche site, and a neat suspension bridge over a still river, I arrived at Bell Rock and Mackay Falls. Bell Rock is essentially a large rock shaped like a bell, having been hollowed out by running water and then flipped upside down. I knelt inside the rock, and took a few shots of the falls, but then had to move on. Later on that day, I stopped and ate lunch near Giant Gate falls with some of my fellow trampers.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_4424.jpg"><img src="/blog/images/nz/IMG_4424_t.jpg" alt="" /><br />Morning on the Fourth Day</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_4455.jpg"><img src="/blog/images/nz/IMG_4455_t.jpg" alt="" /><br />Mackay Falls</a></div>
<p><br class="clearboth" /></p>
<p>Finally, as my body was about to give out, I reached Sandfly Point, our pickup point for the ferry to Milford Sound. After the brief ferry ride, during which I exchanged contact information with some of my fellow trampers, we reached Milford Sound. While the others went for a cruise around the fiord, myself and a couple of others went to the cafe for some Cokes, beer, and chocolate, three things I&#8217;d missed on the track. After that, we caught the TrackNet bus back to Te Anau, where I settled into a hotel room I&#8217;d booked, knowing I&#8217;d want to sleep in a real bed for a change.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_4730.jpg"><img src="/blog/images/nz/IMG_4730_t.jpg" alt="" /><br />Milford Trampers</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_4766.jpg"><img src="/blog/images/nz/IMG_4766_t.jpg" alt="" /><br />On the Ferry</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I drove back to Milford Sound and went on a cruise around the fiord. I also paid to stop off at the <a href="http://www.milforddeep.co.nz/">Milford Deep Underwater Observatory</a> for a bit. The Deep Underwater Observatory is a viewing platform about 10 meters under the surface of the water. There&#8217;s a layer of dark fresh water covering the salt water from the ocean, which allows all sorts of ocean life that is usually only found at deep depths to thrive in the unusually dark water near the surface. My impression was that it was like being surrounded by a giant aquarium (that, or being in one). After getting back from my cruise, I walked along a path to a tidal flat and spent a good 40 minutes just taking photos of the awesome scenery.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_4929.jpg"><img src="/blog/images/nz/IMG_4929_t.jpg" alt="" /><br />Milford Sound</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_5026.jpg"><img src="/blog/images/nz/IMG_5026_t.jpg" alt="" /><br />Falls Up Close</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_5080.jpg"><img src="/blog/images/nz/IMG_5080_t.jpg" alt="" /><br />Fish at the Observatory</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_5243.jpg"><img src="/blog/images/nz/IMG_5243_t.jpg" alt="" /><br />Path to the Tidal Flat</a></div>
<p><br class="clearboth" /></p>
<h3>Queenstown</h3>
<p>The next day, I drove to Queenstown, world renowned as the extreme sports capital of New Zealand. I wandered around town for a bit, familiarizing myself with the downtown area, and browsing through the hundreds of brochures for touristy activities in the area, deciding what I wanted to do over the next couple of days. My first activity, the next day, was to go on the <a href="http://www.shotoverjet.co.nz/">Shotover Jet Boat</a>. This is a jet boat that zips up and down a narrow river canyon, skirting mere feet past sheer rock walls, and going over sections with just a few inches of water. It was exhilarating, and by the time I got off the boat I was literally shaking from the adrenaline rush.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_5613.jpg"><img src="/blog/images/nz/IMG_5613_t.jpg" alt="" /><br />Queenstown From Above</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_5748.jpg"><img src="/blog/images/nz/IMG_5748_t.jpg" alt="" /><br />Riverboat Jet</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I went on the jet boat again (half price for the second ride), and in the afternoon I went on the <a href="http://www.canyonswing.co.nz/index.php">Shotover Canyon Swing</a>. This is billed as &#8220;the world&#8217;s highest swing&#8221;. After being strapped into a chest harness, I jumped off the edge of a platform extended out over a river canyon, free-falling 60m before the swing went taut and I swung through a 200m arc at 93mph. Wow. As people jumped off the edge, white water rafters in the river below would cheer at the people plummeting towards them and swinging over their heads.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_5846.jpg"><img src="/blog/images/nz/IMG_5846_t.jpg" alt="" /><br />Shotover Canyon Swing</a></div>
<p><br class="clearboth" /></p>
<h3>Glacier Country</h3>
<p>On the 7th of December, I drove from Queenstown to the West Coast. Along the way I stopped at <a href="http://www.puzzlingworld.co.nz/">Stuart Landsborough&#8217;s Puzzling World</a> in Wanaka, where I wandered around a giant maze for awhile and gawked at an impressive collection of optical illusion rooms and puzzles. Then, I drove over the pass to Haast, stopping at the Blue Pools along the way. The Blue Pools are a bunch of deep pools along a river which are a bright shade of blue, and really quite striking. After a lengthy drive, and a bit of hiking in the hopes of seeing Fiordland penguins on a beach (hopes which went unfulfilled), I got to the town of Frans Joseph around 9:30, which was just after dark.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_5948.jpg"><img src="/blog/images/nz/IMG_5948_t.jpg" alt="" /><br />Roman Toilets</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_5994.jpg"><img src="/blog/images/nz/IMG_5994_t.jpg" alt="" /><br />Blue Pools</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I went climbing on Frans Joseph glacier for a half day hike. It was a terrific amount of fun! The guiding company I went with took me and probably 10 others up to the glacier, along with our guides. At the base of the glacier, we strapped crampons (spikes) onto our hiking boots, and climbed up the ice stairs the guides carved out with their mining picks. There were probably 5 guides working all day to maintain a very narrow trail of ice steps and bridges up the glacier. We hiked about a kilometer up the glacier, to a point where we stopped and took photos looking back down the valley from which we&#8217;d come. I got the distinct impression from the guides that the glacier was extremely dangerous, as they put a lot of effort into making sure the path was clear and the bridges tied down properly. The glacier moves quite a bit in a day, and the paths the guides carve out have to change on a daily basis due to the shifting and melting ice. I took a lot of photos, got extremely wet (it rained), and couldn&#8217;t wait to get warm again. All the same, it was an amazing experience. </p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_6087.jpg"><img src="/blog/images/nz/IMG_6087_t.jpg" alt="" /><br />View from a Glacier</a></div>
<p><br class="clearboth" /></p>
<h3>Up the West Coast</h3>
<p>The West Coast of New Zealand is a thin strip of very wet country between the Tasman Sea and the Southern Alps. The drive up this coast reminded me much of Monterey, California, with tall gangly trees, fog, and dense forest along with the requisite rugged shoreline. In the east rise the Southern Alps, snow capped peaks rising out of lush forest. It&#8217;s a spectacular drive, and one in which towns on the map are as likely to have 2 people as 200, there being only 30,000 people living on the several hundred mile stretch of the West Coast.</p>
<p>Along my drive up the coast, I stopped at Hokitika to buy some jade carvings. Jade (known as greenstone in NZ) was a treasured good among the Maori for its toughness and beauty, and NZ carvers do a healthy business carving traditional jade necklaces, statues, and other items, with Hokitika being the center of that activity. I also stopped by the Pancake Rocks and Blowholes at Punakaiki. These are rock formations of layered sandstone which look roughly like stacks of giant pancakes. When the tide is up, blowholes in the rocks send sea spraying up into the air in giant jets. I didn&#8217;t get to see the blowholes in their full glory (the tide was low), but the weather was bright and sunny, which I was told was quite unusual.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_6242.jpg"><img src="/blog/images/nz/IMG_6242_t.jpg" alt="" /><br />Pancake Rocks</a></div>
<p><br class="clearboth" /></p>
<h3>Back to the North Island</h3>
<p>On the way back to Picton to catch the Interislander, I passed through some country which looked a lot like the wine country in Sonoma or Monterey counties. There were golden hills, miles of vineyards, and even California poppies, which triggered a bout of homesickness. Back in Picton, I visited the Edwin Fox museum, where the last East Indiaman is on display. Then, I caught the Interislander to Wellington.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_6438.jpg"><img src="/blog/images/nz/IMG_6438_t.jpg" alt="" /><br />Looks Like Home</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_6493.jpg"><img src="/blog/images/nz/IMG_6493_t.jpg" alt="" /><br />Skeleton of Edwin Fox</a></div>
<p><br class="clearboth" /></p>
<p>In Wellington, I spent a day just wandering around the city, taking photos and visiting Te Papa, the national museum. Te Papa is fairly large, and has some great exhibits on Maori culture, the cultural history of New Zealand, and New Zealand art. I also took the time to see the latest James Bond Movie, Casino Royale, at the Embassy Theatre. There I got to sit in the leather seats the cast of the Lord of the Rings movies sat in for the premiere, and to watch a movie on the largest screen in the southern hemisphere.</p>
<p>My next stop was New Plymouth, where I did a short day hike up the slope of Mount Egmont. Mount Egmont is a giant volcano which bears a striking resemblance to Mount Fuji, and which affords excellent views of the surrounding countryside. Afterwards, I drove across an extremely hilly area of New Zealand to get to Turangi.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_6747.jpg"><img src="/blog/images/nz/IMG_6747_t.jpg" alt="" /><br />Mount Egmont</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I got up at 5:30 and took a bus to the Tongariro Crossing. This is a one day hike that takes about 6 hours, and goes up over a high pass of volcanic terrain. It passes several craters, a volcano, and some clear blue lakes. One of the volcanoes it passes is a forbidding looking cone that is familiar to many as &#8220;Mount Doom&#8221; in the Lord of the Rings movies.</p>
<p>The other major activity in the Turangi area is trout fishing. The rivers in the area are stocked with rainbow trout, and fishing them is a favorite NZ activity. I looked into fishing while I was in the area, but would have needed a guide to find the good fishing spots, and given how much guides cost, it wouldn&#8217;t have made sense to go fishing for just one day. I did, however, visit the National Trout Center, which had some great displays on trout fishing, a hatchery, a trout stream/pond, and a nice viewing area where I could look at some large trout through a glass window into a stream.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_6846.jpg"><img src="/blog/images/nz/IMG_6846_t.jpg" alt="" /><br />Red Crater</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_6953.jpg"><img src="/blog/images/nz/IMG_6953_t.jpg" alt="" /><br />Rainbow Trout</a></div>
<p><br class="clearboth" /></p>
<p>After visiting the Trout Center, I drove north to Rotorua, and after much deliberation I went wet zorbing. Zorbing involves getting in an inflated plastic ball with a bucket&#8217;s worth of water, and being pushed down a hill. It was loads of fun, and I ended up going down the hill twice. There&#8217;s also a &#8220;challenge&#8221; where you try to run the length of the hill inside the zorb, and I noticed that my Kung Fu teacher from Pomona was one of the few people to complete the challenge. What a small world!</p>
<p>On the 17th, I went &#8220;black water rafting&#8221; in the Waitomo glow worm caves. We were fitted out with wetsuits, wet boots, and hard hats with lights. Then, we hopped in a van for a drive to the caves and picked out inflated inner tubes for floating through the cave system, which is filled with water. The caves were a bit claustrophobic at first, but I quickly got over that and got into the experience of jumping off waterfalls, clambering around low caverns, and floating on my tube through pitch dark sections chock full of glow worms. I saw a whole lot more glow worms on this trip than I did in Te Anau, and overall it was one of my favorite activities in New Zealand.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/DSC_0030.jpg"><img src="/blog/images/nz/DSC_0030_t.jpg" alt="" /><br />Zorbing!</a></div>
<div class="lthumb"><a href="/blog/images/nz/BWR1_172.jpg"><img src="/blog/images/nz/BWR1_172_t.jpg" alt="" /><br />In a Cave</a></div>
<p><br class="clearboth" /></p>
<h3>Bay of Islands</h3>
<p>After the caving trek, I drove north to the Bay of Islands, which is on the northern end of the North Island. There, I went on a 4 hour cruise, hoping to be able to swim with the dolphins which inhabit the Bay. The group of dolphins we found, however, had their young with them, so we weren&#8217;t able to swim with them for safety reasons (presumably both for the dolphins and the people). All the same, it was fun watching them, whistling at them, and hearing them whistle back. I even saw one leap about 20 feet straight up out of the water, as well as others doing some other acrobatic maneuvers. They were much larger than I anticipated, and really just all-around interesting animals. Later, while wandering around Paihia, I saw some California quail, the same kind we have on the ranch back home. Apparently they were the only upland game bird that did very well in New Zealand&#8217;s climate.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_7038.jpg"><img src="/blog/images/nz/IMG_7038_t.jpg" alt="" /><br />Dolphins</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I drove from the Bay of Islands back down to Auckland by way of the Waipoua Forest. There, I saw the tallest and the biggest trees in New Zealand. These are giant Kauri trees; impressive trunks that rise high up through the forest and terminate in tiny (by comparison) tufts of branches.</p>
<h3>Back in Auckland</h3>
<p>When I got to Auckland, I checked into a carpark site just north of town. In reception, I overheard someone frantically calling around canceling his mobile phone, credit cards, etc, having had his campervan get broken into at the Auckland zoo. I decided not to visit the zoo the next day, and resolved to be very careful parking in Auckland. The next day, I drove into Auckland, parked at a secure carpark, and went shopping for Christmas presents. Afterwards, I went to the maritime museum, which has an impressive collection of boats, South Pacific Islander craft, and related items. Auckland is known as the City of Sails for the large number of boats in its harbors and rich maritime history, and the museum really conveyed how much people there love the sea.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_7111.jpg"><img src="/blog/images/nz/IMG_7111_t.jpg" alt="" /><br />Sky Tower</a></div>
<div class="lthumb"><a href="/blog/images/nz/IMG_7142.jpg"><img src="/blog/images/nz/IMG_7142_t.jpg" alt="" /><br />Small Craft</a></div>
<p><br class="clearboth" /></p>
<p>That night, I took an elevator up Sky Tower to get a view of the Auckland nightscape from up high. The top of Sky Tower has viewing platforms where you can lean against very sturdy glass walls and look down at the city from 220m up. It&#8217;s a very impressive view.</p>
<p><br class="clearboth" /></p>
<div class="lthumb"><a href="/blog/images/nz/IMG_7163.jpg"><img src="/blog/images/nz/IMG_7163_t.jpg" alt="" /><br />Auckland at Night</a></div>
<p><br class="clearboth" /></p>
<p>The next day, I got up and packed, cleaning out the van and throwing out two trash bags full of stuff in the process. Then, I drove over to the rental place and dropped off my car. They were nice enough to watch my bags while I walked up to the Parnell, ate some fish and chips and did some last-minute Christmas shopping. Then, I caught a cab from the rental place to the airport, where I did some last-minute postcard writing and caught my long, long flight back to the US, bidding New Zealand a fond farewell as I watched the country drop away into the sunset from my window seat.</p>
<h3>Also&#8230;</h3>
<p>Check out some photos from my trip: <a href="http://www.flickr.com/photos/awooster/sets/72157594379372739/">New Zealand Photoset on Flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/02/09/new-zealand-trip-2006/feed</wfw:commentRss>
		</item>
		<item>
		<title>A Peek Inside</title>
		<link>http://www.nextthing.org/archives/2007/01/27/a-peek-inside</link>
		<comments>http://www.nextthing.org/archives/2007/01/27/a-peek-inside#comments</comments>
		<pubDate>Sat, 27 Jan 2007 19:59:39 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nextthing.org/archives/2007/01/27/a-peek-inside</guid>
		<description><![CDATA[The Shomstoppers present: Jolly Boots of Doom.
]]></description>
			<content:encoded><![CDATA[<p>The Shomstoppers present: <a href="http://www.cixar.com/~kris.kowal/bdoc/music/garageband/jolly-boots-of-doom.html">Jolly Boots of Doom</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2007/01/27/a-peek-inside/feed</wfw:commentRss>
		</item>
		<item>
		<title>Undergraduate Computer Science Reading List</title>
		<link>http://www.nextthing.org/archives/2006/12/28/undergraduate-computer-science-reading-list</link>
		<comments>http://www.nextthing.org/archives/2006/12/28/undergraduate-computer-science-reading-list#comments</comments>
		<pubDate>Fri, 29 Dec 2006 01:17:16 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

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

		<guid isPermaLink="false">http://www.nextthing.org/archives/2005/07/30/undergraduate-computer-science-canon</guid>
		<description><![CDATA[/blog/images/amazon/]]></description>
			<content:encoded><![CDATA[<p>My friend and coworker Buzz Andersen posited awhile ago that there exists a <a href="http://weblog.scifihifi.com/2005/07/22/on-interviewing/">programming canon</a>, a body of literature with which software developers and computer scientists are expected to be familiar. </p>
<p>Having interviewed a lot of people (and I mean a <em>lot</em>) and been interviewed myself a few times, Buzz&#8217;s point resonated with me. I&#8217;ve noticed that many recent university graduates have not been exposed to material that is considered fundamental to computer science and programming by many in the industry. A lot of schools have sacrificed the teaching of this material in favor of more IT development oriented courses, and really done their students a disservice in the process. </p>
<p>Since I&#8217;d rather see more kick-ass programmers and computer scientists than fewer, here&#8217;s my list of books that I think should be on the bookshelves of all computer science undergraduates. These books are, of course, my own favorites, and they exclude a lot of the books I&#8217;d include in a list of graduate-level books. Feel free to chime in in the comments if you think I&#8217;ve missed something important. <span id="more-23"></span></p>
<p><em>Note:</em> The cover images are all linked to Amazon, all other links point at the homepage of the books on the web (or Wikipedia).</p>
<table id="cs-books">
<tr>
<th colspan="2" scope="colgroup">
<h3>The Fundamentals</h3>
</th>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262032937&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0262032937.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0262032937" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://theory.lcs.mit.edu/~clr/">Introduction to Algorithms</a><br />
      by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein</p>
<p>      This book is a bit dense as an introduction, but serves as an excellent reference. Supplement it with a good algorithms and data structures book, such as Bruno R. Preiss&#8217; excellent and free <a href="http://www.brpreiss.com/books/opus7/">Data Structures and Algorithms with Object-Oriented Design Patterns</a>.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201485419&#038;link_code=as2=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0201485419.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0201485419" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www-cs-faculty.stanford.edu/~knuth/taocp.html">The Art of Computer Programming</a><br />
      by Donald Knuth</p>
<p>      This is a book most people (including myself) have probably browsed through or skimmed, but never read. Nevertheless, it sits in the background in many CS programs, informing the way introductory computer science is taught. Alternatives for introductions to CS vary from school to school, but many use <a href="http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs">SICP</a>. My personal favorite is the text used at Harvey Mudd College, &#8220;Computer Science: Abstraction to Implementation&#8221;, aka &#8220;<a href="http://www.cs.hmc.edu/~keller/cs60book/">Computer Science for Smart People</a>.&#8221;
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0131103628&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0131103628.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0131103628" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://cm.bell-labs.com/cm/cs/cbook/">The C Programming Language (2nd Edition)</a><br />
      by Brian W. Kernighan, Dennis Ritchie, Dennis M. Ritchie</p>
<p>      This is the canonical introduction to C, the <i>lingua franca</i> of systems programming, and a favorite source of interview questions.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0137903952&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0137903952.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0137903952" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://aima.cs.berkeley.edu/">Artificial Intelligence: A Modern Approach</a><br />
      by Stuart Russell and Peter Norvig</p>
<p>      AI is a fascinating field, and this book covers a lot of ground. Incidentally, <a href="http://norvig.com/">Peter Norvig</a> is the Director of Research at Google.</td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0471694665_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0471694665.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0471694665" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://os-book.com/">Operating System Concepts</a> (aka The Dino Book)<br />
      by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne</p>
<p>      I work in an OS group, so OS books are important to me. This is the book my OS class at <a href="http://www.cs.hmc.edu/">Mudd</a> used, and I still refer to it at work.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0130313580&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0130313580.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0130313580" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.cs.vu.nl/~ast/books/mos2/">Modern Operating Systems</a><br />
      by Andrew S. Tanenbaum</p>
<p>      An alternative to the Dino Book.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0130661023&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0130661023.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0130661023" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://authors.phptr.com/tanenbaumcn4/">Computer Networks</a><br />
      by <a href="http://www.cs.vu.nl/~ast/">Andrew S. Tanenbaum</a></p>
<p>      If you can&#8217;t joke about what the &#8220;U&#8221; in UDP stands for, you need to pick up a book on networking. Any good book will do.</td>
</tr>
<tr>
<th colspan="2" scope="colgroup">
<h3>Compilers and Programming Languages</h3>
</th>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201100886&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0201100886.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0201100886" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://en.wikipedia.org/wiki/Compilers:_Principles%2C_Techniques%2C_and_Tools_%282nd_Edition%29">Compilers (aka The Dragon Book)</a><br />
      by Alfred V. Aho </p>
<p>      There&#8217;s a new edition of this book coming out soon. For many years this was the standard in teaching compilers, though recently &#8220;Engineering a Compiler&#8221; has become more popular.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/155860698X&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/155860698X.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=155860698X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.cs.rice.edu/~keith/Errata.html">Engineering a Compiler</a><br />
      by Keith Cooper, Linda Torczon</p>
<p>      Often plugged as the modern alternative to the Dragon Book, this book has proven popular in recent years as the Aho book has grown increasingly out of date.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0262560992&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0262560992.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0262560992" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.ccs.neu.edu/home/matthias/BTLS/">The Little Schemer</a><br />
      by Daniel P. Friedman</p>
<p>      A whimsical introduction to Scheme and functional programming. In my opinion, CS graduates should at least be familiar with one functional programming language.
    </td>
</tr>
<tr>
<th colspan="2" scope="colgroup">
<h3>Software Engineering</h3>
</th>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201835959&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0201835959.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0201835959" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month">The Mythical Man Month</a><br />
      by Frederick P. Brooks</p>
<p>      If you want to understand why throwing more engineers at a project may actually make the project take <em>longer</em>, this is the book to read.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201633612&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0201633612.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0201633612" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://en.wikipedia.org/wiki/Design_Patterns">Design Patterns</a><br />
      by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (aka The Gang of Four)</p>
<p>      Also known as the GoF (Gang of Four) book. There are also a variety of &#8220;Design Patterns in X&#8221; books for various languages, which may help make the various abstractions clearer.
    </td>
</tr>
<tr>
<th colspan="2" scope="colgroup">
<h3>UNIX</h3>
</th>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0201433079&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0201433079.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0201433079" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.apuebook.com/">Advanced Programming in the UNIX Environment</a><br />
      by W. Richard Stevens and Stephen A. Rago</p>
<p>      Recently updated by Rago, the 2nd edition of this book is truly excellent. At the very least this is a required reference if you&#8217;re programming on a UNIX-based system or just want to understand the design of the API&#8217;s.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0131411551&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0131411551.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0131411551" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.kohala.com/start/unpv12e.html">Unix Network Programming, Vol. 1</a><br />
      by W. Richard Stevens</p>
<p>      In much the way APUE is <em>the</em> classic for learning UNIX programming, this is the classic for learning network programming.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0130810819&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0130810819.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0130810819" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www.kohala.com/start/unpv22e/unpv22e.html">Unix Network Programming, Vol. 2</a><br />
      by W. Richard Stevens</p>
<p>      Whereas the first volume teaches you how to get your computer to talk to others on a network, this one teaches you about interprocess communication (or how to have programs on a local computer communicate).
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0132017997&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0132017997.01._AA_SCMZZZZZZZ_.gif.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0132017997" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      Design of the UNIX Operating System<br />
      by Maurice J. Bach</p>
<p>      Contains great descriptions of many of the parts of the old AT&#038;T Unix System V. Given the increasing complexity of Unix systems, this a good introduction to the design of an actual operating system from when such things were much simpler.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/1573980137&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/1573980137.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=1573980137" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://en.wikipedia.org/wiki/Lions'_Commentary_on_UNIX_6th_Edition,_with_Source_Code">Lions&#8217; Commentary on Unix</a><br />
      by John Lions</p>
<p>      SCO is not entirely evil, having given permission for the republication of this book in 1996. This book contains the source code for the 6th Edition UNIX kernel with excellent commentary on the code and a description of the PDP-11 architecture on which it ran.
    </td>
</tr>
<tr>
<th colspan="2" scope="colgroup">
<h3>Theory</h3>
</th>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/gp/product/0534950973?ie=UTF8&#038;tag=andrewwooster-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0534950973"><img border="0" src="/blog/images/amazon/0534950973.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0534950973" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      <a href="http://www-math.mit.edu/~sipser/book.html">Introduction to the Theory of Computation</a><br />
      by Michael Sipser</p>
<p>      The theory of computation is all about computability and complexity. In other words, it asks what can be computed, and at what cost? This comes up in programming surprisingly often, as tasks that are deceptively simple for people (like finding the shortest route between several stops on a map) can be quite complex for computers to perform. This book serves as a good introduction to the field.
    </td>
</tr>
<tr>
<td class="cs-book-link"><a href="http://www.amazon.com/exec/obidos/redirect?path=ASIN/0716710455&#038;link_code=as2&#038;camp=1789&#038;tag=andrewwooster-20&#038;creative=9325"><img border="0" src="/blog/images/amazon/0716710455.01._AA_SCMZZZZZZZ_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=andrewwooster-20&#038;l=as2&#038;o=1&#038;a=0716710455" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></td>
<td class="cs-book-description">
      Computers and Intractability : A Guide to the Theory of NP-Completeness<br />
      by M. R. Garey, D. S. Johnson</p>
<p>      Another introduction to the theory of computation, with lists of common hard problems.
    </td>
</tr>
</table>
<p>Other lists of readings in computer science and software development:</p>
<ul>
<li><a href="http://john.regehr.org/reading_list/">A Reading List for Computer Scientists</a></li>
<li><a href="http://en.wikipedia.org/wiki/List_of_important_publications_in_computer_science">Wikipedia: List of important publications in computer science</a></li>
<li><a href="http://www.joelonsoftware.com/articles/FogCreekMBACurriculum.html">Reading List: Fog Creek Software Management Training Program</a></li>
<li><a href="http://www.cs.virginia.edu/~ms6ep/canon.html">A Computer Science Canon</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2006/12/28/undergraduate-computer-science-reading-list/feed</wfw:commentRss>
		</item>
		<item>
		<title>Rolling Garfield Ninja Turtles</title>
		<link>http://www.nextthing.org/archives/2006/10/26/rolling-garfield-ninja-turtles</link>
		<comments>http://www.nextthing.org/archives/2006/10/26/rolling-garfield-ninja-turtles#comments</comments>
		<pubDate>Thu, 26 Oct 2006 09:30:25 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nextthing.org/?p=27</guid>
		<description><![CDATA[So, a friend pointed out today that when you search for &#8220;Rolling Stones&#8221; on Google, you may not get the results you were expecting:

Apparently, to Google, Garfield.com is the canonical source for information on the Rolling Stones. Also, Garfield.com and NinjaTurtles.com are apparently the same site:

Hmm, I wonder what the top result is for &#8220;Ninja [...]]]></description>
			<content:encoded><![CDATA[<p>So, a friend pointed out today that when you search for &#8220;<a href="http://www.google.com/search?hl=en&#038;lr=&#038;safe=off&#038;client=safari&#038;rls=en&#038;q=rolling+stones&#038;btnG=Search">Rolling Stones</a>&#8221; on Google, you may not get the results you were expecting:</p>
<p><a href="/blog/images/rolling_stones_search.png" title="Full Size Screen Shot of Search Results" style="margin: 4px;"><img src="/blog/images/rolling_stones_search_small.png" alt="Search for Rolling Stones on Google" style="padding:2px; border: 1px solid black;" /></a></p>
<p>Apparently, to Google, <a href="http://www.garfield.com/" title="garfield.com">Garfield.com</a> is the canonical source for information on the Rolling Stones. Also, Garfield.com and <a href="http://www.ninjaturtles.com/" title="Mmm, Pizza">NinjaTurtles.com</a> are apparently the same site:</p>
<p><img src="/blog/images/rolling_stones_turtles_search_small.png" alt="TMNT and Garfield, they both like fake Italian food."  style="padding:2px; border: 1px solid black; margin: 4px;" /></p>
<p>Hmm, I wonder what the top result is for &#8220;<a href="http://www.google.com/search?client=safari&#038;rls=en&#038;q=ninja+turtles&#038;ie=UTF-8&#038;oe=UTF-8" title="Search for Ninja Turtles on Goofield">Ninja Turtles</a>&#8220;. Let&#8217;s see:</p>
<p><a href="/blog/images/ninja_turtles_search.png" title="Full Size Screen Shot of Search Results" style="margin: 4px;"><img src="/blog/images/ninja_turtles_search_small.png" alt="Teenage Mutant Ninja Garfield" style="padding:2px; border: 1px solid black;" /></a></p>
<p>Yup, that Garfield cat sure is popular. For completeness&#8217; sake, I&#8217;ll point out now that searches for both &#8220;<a href="http://www.google.com/search?client=safari&#038;rls=en&#038;q=%22Teenage+Mutant+Ninja+Turtles%22&#038;ie=UTF-8&#038;oe=UTF-8" title="Tastes Great in Milk!">Teenage Mutant Ninja Turtles</a>&#8221; and even &#8220;<a href="http://www.google.com/search?client=safari&#038;rls=en&#038;q=Ninja+Stones&#038;ie=UTF-8&#038;oe=UTF-8">Ninja Stones</a>&#8221; also show Garfield.com as the top hit. If you find more, let me know. In the mean time, I&#8217;m really curious as to why this is happening, so let&#8217;s try to figure that out.</p>
<p>So, why does Google think Garfield.com and NinjaTurtles.com are the same site? Well, might they be hosted on the same machine?</p>
<pre style="background-color: black; color: #00ff00; font-face:Monaco; padding: 2px;">
$ host www.ninjaturtles.com
www.ninjaturtles.com has address 216.204.128.19
$ host www.garfield.com
www.garfield.com is an alias for ucomics.com.
ucomics.com has address 198.247.208.81
ucomics.com has address 198.247.208.121
ucomics.com has address 198.247.208.122
ucomics.com has address 198.247.208.123
ucomics.com has address 63.208.55.161
ucomics.com has address 63.208.55.201
ucomics.com has address 63.208.55.202
ucomics.com has address 63.208.55.203
</pre>
<p>Nope. Neither is anything about the Rolling Stones. Okay, just for fun, let&#8217;s look at the <a href="http://www.garfield.com/robots.txt" title="The robots.txt file from Garfield.com">robots.txt</a> file on Garfield.com:</p>
<pre style="margin: 4px; border: 1px solid black; padding: 2px;">
# robots.txt for http://garftest.uclick.com/

User-agent: *
Dissallow: /
</pre>
<p>That&#8217;s weird. First of all, they misspelled disallow as &#8220;dissallow&#8221;. A quick check of <a href="http://www.csbonline.com/robots.txt" rel="nofollow">other</a> <a href="http://www.schucon.org/robots.txt" rel="nofollow">sites</a> with disallow misspelled in their robots.txt files shows that Google ignores the misspelled disallow directive. So, the file should have no affect on indexing.</p>
<p>Maybe Google&#8217;s is using a hash of the domain name to identify identical sites? Trying 16 common hashing algorithms (MD5, RIPEMD-160, Tiger, SHA-1, SHA-256, Adler32, CRC32, etc.) of various permutations of the domain names with and without punctuation, I didn&#8217;t find any collisions. That doesn&#8217;t rule out hash collisions using different (say, homegrown) hashing algorithms, but I&#8217;ll move on for now.</p>
<p>Next, scanning the results returned for Garfield on various search engines, I don&#8217;t see any evidence of Googlebombing the terms &#8220;Garfield&#8221;, &#8220;Rolling Stones&#8221;, or &#8220;Teenage Mutant Ninja Turtles&#8221;.</p>
<p>So, I give up. Maybe Garfield&#8217;s prominence in Google results is an homage to <a href="http://www.garfield.library.upenn.edu/">Eugene Garfield</a>, a citation analysis pioneer cited in Larry and Sergey&#8217;s <a href="http://citeseer.ist.psu.edu/page98pagerank.html">PageRank paper</a> from 1998. </p>
<p>Okay, that&#8217;s a stretch, but I&#8217;m stumped. Anyone else have any ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nextthing.org/archives/2006/10/26/rolling-garfield-ninja-turtles/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.326 seconds -->
<!-- Cached page served by WP-Cache -->
