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

<channel>
	<title>Firebones &#187; debugging</title>
	<atom:link href="http://blog.firebones.com/tag/debugging/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.firebones.com</link>
	<description>Code.  Money.  Literature.</description>
	<lastBuildDate>Sat, 11 Jul 2009 06:17:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Soul of a New Machine: Review</title>
		<link>http://blog.firebones.com/2008/02/02/the-soul-of-a-new-machine-review/</link>
		<comments>http://blog.firebones.com/2008/02/02/the-soul-of-a-new-machine-review/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 07:41:07 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[review]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[tsoanm]]></category>

		<guid isPermaLink="false">http://blog.firebones.com/2008/02/02/the-soul-of-a-new-machine-review/</guid>
		<description><![CDATA[Can literature influence a career?
Tracey Kidder&#8217;s The Soul Of A New Machine, published in 1983, follows the engineers who designed and built the Data General Eagle, a 32-bit minicomputer competing not only with the DEC VAX for market share, but with Data General&#8217;s own Eclipse project  for internal resources and mindshare.
Kidder&#8217;s book won the [...]]]></description>
			<content:encoded><![CDATA[<h3>Can literature influence a career?</h3>
<p>Tracey Kidder&#8217;s <a href="http://www.amazon.com/gp/product/0316491977?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0316491977">The Soul Of A New Machine</a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0316491977" width="1" height="1" border="0" alt="" style="0px !important;" />, published in 1983, follows the engineers who designed and built the Data General Eagle, a 32-bit minicomputer competing not only with the DEC VAX for market share, but with Data General&#8217;s own Eclipse project  for internal resources and mindshare.</p>
<p>Kidder&#8217;s book won the 1982 Pulitzer Prize for general non-fiction.  I first read it sometime around 1985 or 1986, trying to figure out what I wanted to be when I grew up.  This past winter, I picked it up again, rediscovering all the reasons I loved the book. Back in the mid-80s, I hadn&#8217;t programmed much&mdash;a few class projects, some home projects, a summer spent mucking around with <a href='http://wikipedia.org/wiki/65C02'>65C02</a> assembly language writing a simple graphical game. What the book captures so well&mdash;and what makes software development such a stimulating pursuit&mdash;is the satisfaction of making something from nothing, and the engrossing challenge of debugging your creation.</p>
<div style='right'>
<a href="http://www.amazon.com/gp/product/0316491977?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0316491977"><img border="0" src='http://blog.firebones.com/wp-content/uploads/2008/02/21hhxx77ayl_aa_sl160_.jpg' /></a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0316491977" width="1" height="1" border="0" alt="" style="0px !important;" />
</div>
<p>The story follows two groups&mdash;the Hardy Boys, Tom West&#8217;s hardware engineers who designed and built the Eagle&mdash;and the Microkids, Carl Alsing&#8217;s software developers charged with writing the 75-bit microcode implementing the Eagle&#8217;s instruction set.  In one of the chapters, Kidder sits through a marathon debugging session where the microkids and Hardy Boys try to discover the source of flakiness causing the automated tests to fail.  Speculation rages as to whether it is a problem with the Instruction Processor (the IP) or the System Cache; a case can be made for either.  Step by step they hypothesize, experiment and evaluate results to track down the ultimate source&#8211;the need to insert a NAND gate delay the arrival of a signal thrown by the Sys Cache that was causing the timing issue.</p>
<blockquote><p>
Some problems are easy to find and hard to fix; some are hard to find and easy to fix; some go both ways.  They have seen and will continue to encounter permutations of all three.  This one was hard to find.  It happens to be easy, almost trivial, to repair.  Now Holberger and Veres know where the failure occurs.  They move fast.  Seen working at such a moment, they might remind you of a couple of airline pilots, in the cockpit of their big jet, preparing for takeoff&mdash;heroes of technique, flicking switches with both hands, reading dials, and talking to the tower all at once.
</p></blockquote>
<p>Still undecided on a major a year or two later, I found myself writing microcode for Doug Jones&#8217; Computer Architecture class and the deal was sealed&mdash;I would finish up my computer science degree and try to find a job in the field of software.</p>
<p>The Soul of a New Machine is one of two literary books&mdash;<a href="http://www.amazon.com/gp/product/0060589469?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0060589469">Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values</a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0060589469" width="1" height="1" border="0" alt="" style="0px !important;" /> is the other&mdash;that are essential reading for a developer wanting to get the right mindset for development, debugging and pursuing quality.  It&#8217;s not that there aren&#8217;t great books out there that are just as essential covering the technical side of development or providing a specific methodology for software development.  It&#8217;s that these two books focus specifically on the mindset, motivations and philosophy necessary to solve problems and find harmony with work.  In these books lie the important values associated with valuable work.  Soul, zen, values&mdash;these are the kinds of spiritual and philosophical terms you rarely find in technical books.</p>
<blockquote><p>
The truth knocks on the door and we say &#8220;Go away, I&#8217;m looking for the truth&#8221; and so it goes away.  Puzzling.<br />
&mdash;Robert Pirsig, <i>Zen and the Art of Motorcycle Maintenance</i>
</p></blockquote>
<p>You come away from TSOANM with the essence of the computer and software business at its best: the deep satisfaction of creation and the challenge of solving puzzles.  These same attributes are found in novel writing, when you track and integrate complexity arising from multiple <a href='http://blog.firebones.com/2008/01/29/em-forster-and-agile-programming/'>aspects</a> operating at different levels: character , plot, theme, motif, language, pace.  The most <a href="http://www.amazon.com/gp/product/0596510047?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596510047">beautiful code</a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0596510047" width="1" height="1" border="0" alt="" style="0px !important;" /> in the world, the most elegant solution to a complex problem&mdash;neither are far afield from James Joyce&#8217;s <a href="http://www.amazon.com/gp/product/0679722769?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0679722769">Ulysses</a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0679722769" width="1" height="1" border="0" alt="" style="0px !important;" />?</p>
<h3>The Nature of Gothic</h3>
<p>As the book winds down and the Eagle nears completion, Kidder finally gets to the heart of the matter&mdash;what it is that motivates these guys.</p>
<blockquote><p>
&#8220;In <a href="http://www.amazon.com/gp/product/0548123012?ie=UTF8&amp;tag=firebones-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0548123012">The Nature Of Gothic</a><img src="http://www.assoc-amazon.com/e/ir?t=firebones-20&amp;l=as2&amp;o=1&amp;a=0548123012" width="1" height="1" border="0" alt="" style="0px !important;" />, <a href='http://wikipedia.org/wiki/John_Ruskin'>John Ruskin</a> decries the tendency of the industrial age to fragment work into tasks so trivial that they are fit to be performed only by the equivalent of slave labor. Writing in the nineteenth century, Ruskin was one of the first, with Marx, to have raised this now-familiar complaint. In the Gothic cathedrals of Europe, Ruskin believed, you can see the glorious fruits of free labor, given freely. What is usually meant by the term craftsmanship is the production of things of high quality; Ruskin makes the crucial point that a thing may also be judged according to the conditions in which it was built.&#8221;
</p></blockquote>
<p>This expository paragraph springs jarringly from Kidder&#8217;s narrative, and he elaborates on the specific culture of Data General&mdash;an environment where management guides the craftsmen to success at the same time it allows them the freedom to invent.  While you can&#8217;t coerce the creation of a cathedral without attracting people willing to work for a higher purpose, you can affect the quality and the values in the work by giving the craftsmen the latitude to pursue their craft.  Both purpose and latitude are necessary to create something great, and from the result alone can you judge whether these conditions existed during the work&#8217;s creation.  In the result of the labor, the soul can be found.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.firebones.com/2008/02/02/the-soul-of-a-new-machine-review/feed/</wfw:commentRss>
		<slash:comments>-1</slash:comments>
		</item>
	</channel>
</rss>
