<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Nimble Code: Category Books</title>
  <subtitle type="html">Jacob Harris' Weblog</subtitle>
  <id>tag:nimblecode.com,2005:Typo</id>
  <generator version="4.0" uri="http://typo.leetsoft.com">Typo</generator>
  <link href="http://nimblecode.com/xml/atom10/category/books/feed.xml" rel="self" type="application/xml+atom"/>
  <link href="http://nimblecode.com/articles/category/books" rel="alternate" type="text/html"/>
  <updated>2008-08-27T13:40:06-07:00</updated>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:70f02eb0-511d-4c03-867f-86edca73c938</id>
    <published>2006-12-30T10:43:32-08:00</published>
    <updated>2008-08-27T13:40:06-07:00</updated>
    <title>A Year In Consumption</title>
    <link href="http://nimblecode.com/articles/2006/12/30/a-year-in-consumption" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="music" scheme="http://nimblecode.com/articles/category/books" label="Music"/>
    <category term="miscellaneous" scheme="http://nimblecode.com/articles/category/books" label="Miscellaneous"/>
    <content type="html">&lt;p&gt;This year, as an experiment I started living in public. By this, I don&amp;#8217;t mean I jumped into the &lt;a href="http://www.furiousseasons.com/archives/2006/12/love_american_style_web_20_and_narcissism_1.html"&gt;online exhibitionist extreme&lt;/a&gt; that seems to be required for MySpace users, but I have started tracking my media consumption of books/movies/music online. So, as a short post to tide everyone over until I gird myself to continue the &lt;a href="http://www.nimblecode.com/articles/2006/11/29/all-the-news-thats-fit-to-serve"&gt;never-ending newspapers series&lt;/a&gt;, here&amp;#8217;s a review of my year in media.&lt;/p&gt;


	&lt;p&gt;In the last year, I read &lt;a href="http://www.allconsuming.net/person/harrisj/consumed/book"&gt;approximately 63 books&lt;/a&gt;, of which the most notable were:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The Ghost Map, by Steven Johnson&lt;/li&gt;
		&lt;li&gt;The Echo Maker, by Richard Powers&lt;/li&gt;
		&lt;li&gt;La Perdida, by Jessica Abel&lt;/li&gt;
		&lt;li&gt;Maps of the Imagination, by Peter Turchi&lt;/li&gt;
		&lt;li&gt;Rip It Up And Start Again, by Simon Reynolds&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;This last year I also saw approximately &lt;a href="http://www.allconsuming.net/person/harrisj/consumed/movie"&gt;67 movies and TV shows&lt;/a&gt; (new and rentals), of which the following 5 were the best, in no ranked order:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The New World&lt;/li&gt;
		&lt;li&gt;Little Miss Sunshine&lt;/li&gt;
		&lt;li&gt;Aguirre, The Wrath of God&lt;/li&gt;
		&lt;li&gt;Grizzly Man&lt;/li&gt;
		&lt;li&gt;Veronica Mars, seasons 1&amp;#38;2&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Finally, here were the top 10 bands I listened to last year, courtesy of &lt;a href="http://www.last.fm/user/harrisj/"&gt;last.fm&lt;/a&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Boards of Canada&lt;/li&gt;
		&lt;li&gt;Xela&lt;/li&gt;
		&lt;li&gt;Sigur Rós&lt;/li&gt;
		&lt;li&gt;Yeah Yeah Yeahs&lt;/li&gt;
		&lt;li&gt;Ms. John Soda&lt;/li&gt;
		&lt;li&gt;Thom Yorke&lt;/li&gt;
		&lt;li&gt;The American Analog Set&lt;/li&gt;
		&lt;li&gt;Ulrich Schnauss&lt;/li&gt;
		&lt;li&gt;Aphex Twin&lt;/li&gt;
		&lt;li&gt;Ladytron&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Anyhow, there you have it; my life as a consumer for one year (but am I going to go see movies this weekend? Yes!) Anyhow, happy new year and see you all next year! If you&amp;#8217;ll excuse me, I&amp;#8217;ve got some more books to read.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:eeac1fc5-5f57-49f6-991c-84cf3bdaa139</id>
    <published>2006-08-25T16:02:00-07:00</published>
    <updated>2008-08-21T22:00:11-07:00</updated>
    <title>Rubyisms In Rails DRM Woes?</title>
    <link href="http://nimblecode.com/articles/2006/08/25/rubyisms-in-rails-drm-woes" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="rubyisms" scheme="http://nimblecode.com/articles/tag"/>
    <category term="drm" scheme="http://nimblecode.com/articles/tag"/>
    <content type="html">&lt;p&gt;Sorry for the silence. I was on vacation in Alaska recently, so I&amp;#8217;ve not really been in the blogging mood. But here is a short note and plea for understanding.&lt;/p&gt;


	&lt;p&gt;Early reviews (okay, &lt;em&gt;review&lt;/em&gt; as I&amp;#8217;ve only had one; let me know if you&amp;#8217;ve written one or want to do a review) of the ebook have been &lt;a href="http://ruby.about.com/od/suggestedreading/gr/rubyisms_rails.htm"&gt;encouragingly favorable&lt;/a&gt;, but the biggest complaints I&amp;#8217;ve gotten so far have been about the &lt;span class="caps"&gt;DRM&lt;/span&gt;. I have spoken to my publisher and she&amp;#8217;s informed me this was a mistake that was corrected after the first day, and if you&amp;#8217;ve been stung with a &lt;span class="caps"&gt;DRM&lt;/span&gt;-afflicted version, we will provide you with a &lt;span class="caps"&gt;DRM&lt;/span&gt;-free replacement. Furthermore, &lt;strong&gt;no books in the Ruby Shortcut series will have &lt;span class="caps"&gt;DRM&lt;/span&gt;.&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;The best way to do this would be to &lt;a href="mailto:harrisj@schizopolis.net?subject=Rubyisms DRM Victim Seeks Replacement"&gt;mail me directly&lt;/a&gt; and I will pass along your email address to my publisher to send you a replacement copy. My email address is &lt;strong&gt;harrisj&lt;/strong&gt; @ &lt;strong&gt;schizopolis.net&lt;/strong&gt;. It&amp;#8217;s probably easier to just click that mailto link above though.&lt;/p&gt;


	&lt;p&gt;Sorry for the problems. This is a new direction for them and me, and I guess we still had a few kinks to work out. Thanks for your patience.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:542f8763-96ba-4dad-8185-8ece45adad9e</id>
    <published>2006-08-02T09:46:00-07:00</published>
    <updated>2008-08-27T13:27:39-07:00</updated>
    <title>Rubyisms in Rails Redux</title>
    <link href="http://nimblecode.com/articles/2006/08/02/rubyisms-in-rails-redux" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="web-coding" scheme="http://nimblecode.com/articles/category/books" label="Web Coding"/>
    <category term="programming" scheme="http://nimblecode.com/articles/category/books" label="Programming"/>
    <category term="ruby" scheme="http://nimblecode.com/articles/tag"/>
    <category term="rails" scheme="http://nimblecode.com/articles/tag"/>
    <category term="rubyisms" scheme="http://nimblecode.com/articles/tag"/>
    <content type="html">&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;self&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;promote!&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;I am pleased to announce that the &lt;a href="http://www.informit.com/bookstore/product.asp?isbn=0321474074&amp;#38;rl=1"&gt;digital shortcut &lt;span class="caps"&gt;PDF&lt;/span&gt; version&lt;/a&gt; (to purchase, you have to go to the &lt;a href="http://www.informit.com/shortcuts"&gt;Digital Shortcuts page&lt;/a&gt; or you can buy it from &lt;a href="http://safari.awprofessional.com/0321474074"&gt;Safari&lt;/a&gt; Sorry!) of my &lt;a href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails"&gt;Rubyisms in Rails&lt;/a&gt; presentation is finally available for purchase. At 54 pages in length for the low price of $9.99, I guarantee you&amp;#8217;ll glean at least 18.5 cents of insight from each page (disclaimer: that&amp;#8217;s a mean instructional value; although gorgeous, the title page is not particularly educational in itself).&lt;/p&gt;


	&lt;p&gt;In addition, the book is also now available in &lt;a href="http://safari.awprofessional.com/"&gt;Safari Books Online&lt;/a&gt;, and possibly Amazon or other retailers as well. Also, be sure to check out the list of &lt;a href="http://www.informit.com/shortcuts"&gt;other upcoming Ruby titles&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;So, what&amp;#8217;s in it? If you&amp;#8217;ve read the original presentation, you already have a sense of the scope of material I am covering here, but the shortcut allows me to focus on the material in greater depth. The result is a richer and more thorough examination of the examples presented in the original slides. If you are an intermediate to advanced Rails hacker, you probably know all this stuff already. But if you are a newcomer to Ruby through Rails, or you still find yourself still stuck coding &lt;span class="caps"&gt;PHP&lt;/span&gt; or Java-like Ruby, this ebook might help to align your thinking to the Ruby way.&lt;/p&gt;


	&lt;p&gt;Will I write another ebook? I&amp;#8217;d say yes, but I&amp;#8217;ll have to think up another interesting topic. But if you are ever thinking of creating a technical book, I&amp;#8217;d recommend starting in a smaller dose like this first. As I discovered, even 54 pages can be a lot of work, and it&amp;#8217;s better to test out your time commitments and abilities with something small before you start pitching large references. But that&amp;#8217;s a topic for another blog posting. Make me happy: &lt;a href="http://www.informit.com/shortcuts"&gt;Buy the ebook&lt;/a&gt; or &lt;a href="http://safari.awprofessional.com/0321474074"&gt;read it on Safari&lt;/a&gt; and give me your feedback. Thanks!&lt;/p&gt;


	&lt;h4&gt;Update&lt;/h4&gt;


	&lt;p&gt;Fixed purchase link to be go to Shortcuts page (where you can add to cart).&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:53f29909-2019-4201-b8a8-de6f6ceda53f</id>
    <published>2006-06-20T17:02:00-07:00</published>
    <updated>2008-08-27T06:36:41-07:00</updated>
    <title>Quality Ingredients: Story, Voice, and Metaphor</title>
    <link href="http://nimblecode.com/articles/2006/06/20/quality-ingredients-story-voice-and-metaphor" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="writing" scheme="http://nimblecode.com/articles/tag"/>
    <category term="metaphor" scheme="http://nimblecode.com/articles/tag"/>
    <category term="story" scheme="http://nimblecode.com/articles/tag"/>
    <content type="html">&lt;p&gt;I&amp;#8217;ve been thinking a lot about writing lately. There&amp;#8217;s been a practical reason &amp;#8212; I&amp;#8217;ve written an ebook version of &lt;a href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails"&gt;Rubyisms on Rails&lt;/a&gt;   that I&amp;#8217;ll tell you more about later &amp;#8212; but my motivations are more abstract. I&amp;#8217;ve been reading way too many technical books lately. Many have been good, but as one afternoon browsing the bookshelves will demonstrate, most are terrible. As &lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt; exclaims in exasperation in the forward to the excellent book of software essays &lt;a href="http://www.amazon.com/gp/product/1590595009/104-7362462-8543137?n=283155"&gt;The Best Software Writing 1&lt;/a&gt;:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;The software development world desperately needs better writing. If I have to read another 200-page book about some class library written by 16 &lt;em&gt;separate&lt;/em&gt; people in broken &lt;span class="caps"&gt;ESL&lt;/span&gt;, I&amp;#8217;m going to flip out. If I see another hardback book about object-oriented models written with dense faux-academic pretentiousness, I&amp;#8217;m not going to shelve it any more in the Fog Creek library: it&amp;#8217;s going right in the recycle bin. If I have to read another spirited attack on Microsoft&amp;#8217;s buggy code by an enthusiastic nine-year-old Trekkie on Slashdot, I might just poke my eyes out with a sharpened pencil. Stop it, stop it, stop it!&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;For Spolsky, the most important ingredient missing from dull technical books is &lt;strong&gt;story&lt;/strong&gt;. As he puts it, good tech writing captures your interest by creating a plausible or interesting story. The resulting text may be much more verbose &amp;#8212; in an example, he spins out the insipid truism &amp;#8220;a good team leader provides inspiration by setting a good example&amp;#8221; into an involved 400 word story &amp;#8212; but the story is what makes you want to keep reading more. Looking at some recent purchases, I can see the effectiveness in some notable recent books. In the simplest case, you can go far with a compelling example application you elaborate in each successive chapter like &lt;a href="http://www.pragmaticprogrammer.com/titles/fr_eir/"&gt;Enterprise Integration with Ruby&lt;/a&gt; does.
is built on the solid story of an example integrated in each chapter. It&amp;#8217;s not necessary to have one big story, however. You can also structure your book as a sequence of independent smaller stories, as recent favorites &lt;a href="http://www.pragmaticprogrammer.com/titles/pad/index.html"&gt;Practices of an Agile Developer&lt;/a&gt; and &lt;a href="http://scottberkun.com/books/artofpm/"&gt;The Art of Project Management&lt;/a&gt; did so well.&lt;/p&gt;


	&lt;p&gt;On a contrasting note, &lt;a href="http://www.slash7.com/"&gt;Amy Hoy&lt;/a&gt; in an article disparaging the &lt;a href="http://www.slash7.com/articles/2006/03/03/are-women-better-writers-duh"&gt;suggestion that being a woman is what solely makes her a good writer&lt;/a&gt;, suggests another important ingredient is &lt;del&gt;breasts&lt;/del&gt; &lt;strong&gt;voice&lt;/strong&gt;. The way to make a technical article compelling is to make it personable. This is something that Joel hints at with his dig at &amp;#8220;16 separate writers&amp;#8221; and it is something certainly borne out by the selections in the book &amp;#8212; practically every selection is a blog posting and is thus opionated, direct, and personal by their very nature &amp;#8212; but Joel focuses more on what is being said than how it is said. Voice matters, and nobody has done as good a job asserting the importance of a personal tone than Amy has. But it&amp;#8217;s hard for technical writers to understand. When we are first learning to write essays in elementary school, we&amp;#8217;re taught to prize dispassionate objectivity above a personal voice. This is not to blame teachers; that makes a lot of sense when you&amp;#8217;re teaching writing to fifth graders whose idea of an argument might run along the lines of &amp;#8220;This book is bad because I didn&amp;#8217;t like it,&amp;#8221; and good writers learn eventually to balance their personal opinions and objective fact in essays. Unfortunately, &lt;a href="http://www-tech.mit.edu/V120/N36/feespeech.36n.html"&gt;nerds usually aren&amp;#8217;t good writers&lt;/a&gt;, and I think too many books are written by developers too mortified to express their personalities (even if they could). But if you edit out your personality from your writing, you might as well do your readers a favor and delete the whole book. An example of books that benefit from voice are Martin Fowler&amp;#8217;s classic &lt;a href="http://www.amazon.com/gp/product/0201485672/104-7362462-8543137?n=283155"&gt;Refactoring&lt;/a&gt; and the more recent book &lt;a href="http://www.agiledata.org/essays/databaseRefactoringCatalog.html"&gt;Refactoring Databases&lt;/a&gt;.  Refactoring code is a discussion prone to tedium, but the books succeed because they sparkle with clarity and reflect the single voices of their authors.&lt;/p&gt;


	&lt;p&gt;Before I continue, I should clarify a few points. Joel&amp;#8217;s emphasis on story and Amy&amp;#8217;s on voice are not mutually exclusive: I can explicitly emphasize that &lt;em&gt;something &lt;strong&gt;happened&lt;/strong&gt; to me&lt;/em&gt; or &lt;em&gt;something happened to &lt;strong&gt;me&lt;/strong&gt;&lt;/em&gt;, but both voice and story exist in any compelling technical narrative. The second point is you can only do so much.
There will be always be some dullness that&amp;#8217;s unavoidable in technical literature. It&amp;#8217;s simply impossible to make some content interesting (ever read a truly fun &lt;a href="http://linux.ctyme.com/"&gt;man page&lt;/a&gt; ever?), and if you tried to make it fun, you&amp;#8217;ll actually annoy your readers (&amp;#8220;Hey kids! Let&amp;#8217;s sing the arguments to &lt;span class="caps"&gt;GCC&lt;/span&gt; as a song!&amp;#8221;). But a technical book is more than a listing of compiler options or valid function parameter or working code samples. Like &lt;a href="http://en.wikipedia.org/wiki/Intron"&gt;introns in &lt;span class="caps"&gt;DNA&lt;/span&gt;&lt;/a&gt;, the bulk of any technical work is interstitial material that holds the boring stuff together. And that is where your writing should shine.&lt;/p&gt;


	&lt;p&gt;Which brings me to my point. I want to draw attention to another important ingredient that complements those two yet gets short shrift: &lt;strong&gt;metaphor&lt;/strong&gt;. To see what I mean by metaphor in action, look at my &lt;span class="caps"&gt;DNA&lt;/span&gt; example from the previous paragraph (&lt;em&gt;I know, technically it&amp;#8217;s a simile&lt;/em&gt;). Assuming you knew what an intron is &amp;#8212; in a book I obviously would explain it more explicitly than a blog post &amp;#8212; that aside conjures up a rich web of allusion that clarifies the emphasis of the point (that the bulk of your book might not be technically explicit and yet still be meaningful for the whole). The beauty of metaphors is they evoke all sorts of mental associations in your readers that act like scaffolding (&lt;em&gt;a metaphor&lt;/em&gt;) that helps your readers learn material by building upon concepts they&amp;#8217;re innately familiar with. And they come with an expressive power that allow you to express complicated ideas succinctly through allusion (ie, instead of having to spell out what scaffolding is used for like I just did, you can just describe it as scaffolding and leave the reader&amp;#8217;s brain to fill in the rest).&lt;/p&gt;


	&lt;p&gt;Metaphors are truly useful things, and since this is my soapbox (&lt;em&gt;another metaphor!&lt;/em&gt;), I&amp;#8217;ll declare that metaphors are woefully under-utilized in technical writing. I think one reason for this is technical writers are discouraged from metaphor to be more &lt;em&gt;universal&lt;/em&gt; &amp;#8212; if I make a metaphor specific to New York City, it might fall flat to a reader in Germany or India; not only would I have to explain my technical content, I&amp;#8217;d have to explain my metaphor! You can avoid regionalism pretty easily though, so I think the biggest stumbling block is geeks themselves. Mainly, that same literal geek writer that sticks to the facts and recoils in horror from anything that smacks of &lt;em&gt;poetry&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;This is a dearth made more unfortunate because good metaphors reinforce both story and voice. If you are boring like me and have no personal experiences to relate, you can fabricate your narrative on the back of a metaphor instead. And your use of metaphor breaks your text out of the dry and technical and provides a place for your unique personal voice to be expressed.
To give an example of this in action, I recently had to explain the virtue of iterators in Ruby for the ebook on Rubyisms. I could describe how they work technically easy enough, but I felt that a metaphor was the best way to explain why iterators make more sense (and given the number of programmers still iterating through array elements in Java, this is something most programmers still don&amp;#8217;t understand). So I brought out an unlikely metaphor to anchor why iterators are better: traveling crosscountry on local roads vs. highways.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;I’ve described this book as a drive down local roads, but now it’s time to take to the highways. Highways are fascinating concepts. Although they seem like an inevitable part of the driving infrastructure, highways are actually quite new in the history of roads. As recently as the early 1900s for instance, a drive across the country was essentially the same as driving across town, navigating a dense network of local roads that would get you there eventually but not efficiently. Routes were not clearly demarcated, and road maps as we know them didn’t exist. Each driver would have to figure out their own routes, a challenge when navigation comprised only instructions like “take right at third fork in the road” or “turn left at the willow tree.” Of course, getting lost was inevitable. And accidents and mishaps were all too common on neglected backcountry roads. This might seem a cartoonish depiction of long-distance driving, but it’s that’s largely a reflection on just how fast, safe, predictable, and even boring intercity travel has become due to highways. And that’s because the highway changed the very nature of long-distance trips.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Highways are built not from asphalt and cement, but from limitations. Instead of connecting to every road, a highway runs largely isolated from local roads with only a scant selection of exits where new traffic can enter and leave. Highways never actually intersect directly with other roads except by exits and ramps, meaning traffic control mechanisms like rotaries and stop lights aren’t needed and traffic can move faster. This also has the additional effect of discouraging local traffic from taking the road, leaving the road for the serious long-haul motorists. Most significantly of all, highways simplify navigation. Rather than picking a route over local roads, the highway is a road that limits your route. To enter a highways is to largely surrender navigational choices: there are no turns or forks in the road to decide among; backtracking and U-turns are forbidden; your only option is to drive forward until you reach your exit. You can drive faster because you have less to decide, and you can navigate easier because you have less to consider. And so a trip from New York to Chicago used to be an impossible slog of endless directions. Now, it’s a largely mundane trip of only 3 highway segments (although admittedly, you stay on I-80 for an astonishing 750 miles of the way).&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;I then go on to explain that running through array elements by incrementing an integer index is a lot like driving cross country on local roads, prone to complexity, mishap and error. From there, an Iterator is a lot like a highway, less worrying about navigation, more involvement with the act of driving. I&amp;#8217;m not posting this example to toot my horn in any way (and not as a teaser for the book, although it works that way). It&amp;#8217;s just a nice recent case where I pulled a metaphor out of my writer&amp;#8217;s toolbox. 
From there, I was able to spin out the explicit technical reasons why it&amp;#8217;s better to use iterators, but I feel I can succeed because the reader is able to relate to the scaffolding of highway driving, a metaphor well understood by much of my audience (sorry to readers in deepest Papua-New Guinea). I think you&amp;#8217;ll agree it&amp;#8217;s a lot more vivid to think of access violations as wrong turns and fencepost errors as navigational errors. You can&amp;#8217;t help but learn the material because you already know it in some sense. Metaphors aren&amp;#8217;t poetic navel-gazing, they&amp;#8217;re a necessary ingredient to the book. So, mix them in sometime. I think you&amp;#8217;ll like the taste.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The book is coming out soon. I&amp;#8217;ll post details when I know. Watch for an announcement soon. I promise!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:fbc73f7f-6fa8-4567-b665-a783dee9a3fd</id>
    <published>2006-05-12T16:28:00-07:00</published>
    <updated>2008-08-21T02:49:21-07:00</updated>
    <title>Three Novels For Programmers</title>
    <link href="http://nimblecode.com/articles/2006/05/12/three-novels-for-programmers" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="filler" scheme="http://nimblecode.com/articles/category/books" label="Filler"/>
    <category term="books" scheme="http://nimblecode.com/articles/tag"/>
    <content type="html">&lt;p&gt;A couple weekends ago, I went on a trip up to the People&amp;#8217;s Republic of Cambridge, Massachusetts. While my wife was at a conference, I spent my time writing, thinking, and catching up with a few old friends from &lt;a href="http://www.mit.edu/"&gt;MIT&lt;/a&gt; about all the things that have been going on while I&amp;#8217;ve been here in New York: changes to campus life, &lt;a href="http://web.mit.edu/evolving/buildings/stata/"&gt;hideous new architecture&lt;/a&gt;, &lt;a href="http://hacks.mit.edu/"&gt;notable hacks&lt;/a&gt;, and the fact that my beloved dorm of &lt;a href="http://web.mit.edu/senior-house/www/"&gt;Senior House&lt;/a&gt; still seems to be the same merry land of malcontents and eccentrics. We talked about many other things, but I recall most clearly the talk about books.&lt;/p&gt;


	&lt;p&gt;The common stereotype of computer nerds is that we spend all of our non-technical reading time with noses deep in cheap mass-market science fiction paperbacks featuring lizard men, busty women, and spaceships pointing phallicly towards a planet. But this seems more of a cheap joke than a deep truth; the geeks I know love novels. And so, in an attempt to convince the world that computer people have a special depth, I&amp;#8217;m starting my own version of a &lt;a href="http://nielsenhayden.com/makinglight/archives/006389.html"&gt;book meme&lt;/a&gt; and naming three notable books along a theme and why I like them. I know this is of course what is known as &lt;em&gt;filler&lt;/em&gt; in blog land, but it might be fun anyway. So, first up in my listing is &lt;strong&gt;three excellent novels for computer scientists that aren&amp;#8217;t science fiction&lt;/strong&gt;:&lt;/p&gt;


	&lt;p&gt;&lt;span style="float: left; display: block; float; padding: 5px;;"&gt;&lt;img src="http://images.amazon.com/images/P/0312423136.01._SCTHUMBZZZ_.jpg" alt="" /&gt;&lt;/span&gt; &lt;strong&gt;Galatea 2.2&lt;/strong&gt; by Richard Powers is a wistful and intriguing book about a writer named &amp;#8220;Richard Powers&amp;#8221; who returns from a failed life in Holland for a directionless sabbatical at a Midwestern university. While there, he becomes involved with a project in the university&amp;#8217;s large Computer Science department to teach an Artificial Intelligence named Helen about art, literature and beauty. The result is an exploration of identity, consciousness and the emotional connections we feel with machines, made the more interesting by the intermingling of the author&amp;#8217;s real and fictional personas in the book.&lt;/p&gt;


	&lt;p&gt;&lt;span style="float: right; display: block; float; padding: 5px;;"&gt;&lt;img src="http://images.amazon.com/images/P/1567920977.01._SCTHUMBZZZ_.gif" alt="" /&gt;&lt;/span&gt; &lt;strong&gt;Mefisto&lt;/strong&gt; by John Banville is a hypnotic retelling of the Faust story from Ireland&amp;#8217;s best contemporary writer. The book comprise two symmetric episodes of the life of a main character gifted in mathematics who falls into the orbit of a seductively mysterious man. Equivalences, symbols and symmetry (it&amp;#8217;s no coincidence the book begins and ends with the word &amp;#8220;chance&amp;#8221;) make for some interesting connections without the gimmicky annoyances of more experimental textual structure. Those of the scientific bent may also prefer Banville&amp;#8217;s books &lt;em&gt;Kepler&lt;/em&gt; and &lt;em&gt;Copernicus&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;span style="float: left; display: block; float; padding: 5px;;"&gt;&lt;img src="http://ec1.images-amazon.com/images/P/0140188592.01._SCTHUMBZZZ_.jpg" alt="" /&gt;&lt;/span&gt; &lt;strong&gt;Gravity&amp;#8217;s Rainbow&lt;/strong&gt; by Thomas Pynchon is a mess of a book. Ostensibly dealing with a mystery about the V-2 rockets at the end of World War II, it becomes a grand descent into some disparate subjects as chemicals, sado-masochism, conditioning, identity, race, and an immortal lightbulb. It might not make complete sense the first time through (or even subsequent times), but it definitely is a dense exercise in style unmatched by any. Besides, any novel that can inspire &lt;a href="http://www.themodernword.com/pynchon/zak_smith/title.htm"&gt;cool art&lt;/a&gt; like this can&amp;#8217;t be bad.&lt;/p&gt;


	&lt;p&gt;What&amp;#8217;s the next &lt;strong&gt;Three&lt;/strong&gt;? I don&amp;#8217;t know. Maybe poetry for pretentious people or weird books that mix text and pictures.  Feel free to do your own or make a suggestion below.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:e9f9f9ecc525c79f84871968b2cd0e50</id>
    <published>2005-09-30T01:55:00-07:00</published>
    <updated>2008-08-21T03:08:13-07:00</updated>
    <title>My Job Went To India</title>
    <link href="http://nimblecode.com/articles/2005/09/30/my-job-went-to-india" rel="alternate" type="text/html"/>
    <category term="books" scheme="http://nimblecode.com/articles/category/books" label="Books"/>
    <category term="career" scheme="http://nimblecode.com/articles/tag"/>
    <category term="marketing" scheme="http://nimblecode.com/articles/tag"/>
    <category term="business" scheme="http://nimblecode.com/articles/tag"/>
    <content type="html">&lt;p&gt;A pleasant surprise was waiting for me when I got home today. A copy of Chad Fowler&amp;#8217;s excellent book &lt;a href="http://www.pragmaticprogrammer.com/titles/mjwti/index.html"&gt;My Job Went To India&lt;/a&gt; was waiting for me in the mail. I&amp;#8217;m not sure that I can give an objective review (for reasons I&amp;#8217;ll go into here), but if you are serious about making a career in programming, you should buy this book.&lt;/p&gt;


	&lt;p&gt;What Mr. Fowler does here is to take a fair and interesting look at how outsourcing has affected the field of software development. If you want a breathy ode to a flat world where we&amp;#8217;re all information works or a hysterical screed against them foreigners taking jobs, this is not a book for you. But if you&amp;#8217;re a programmer like me who likes to develop, but also wants to know how to control his career, this book has the pragmatic information you need.&lt;/p&gt;


	&lt;p&gt;The problem is, most software devlopers really don&amp;#8217;t deserve their jobs more than a given developer in India or somewhere else (don&amp;#8217;t fault them for their zeal and definitely do not underestimate their smarts). We usually fail in several ways:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;&lt;strong&gt;Skills.&lt;/strong&gt; Have you learned any new technologies in the last year? How much do you control how you design and implement things, or do you just mindlessly code specs given from on high?&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Business.&lt;/strong&gt; Any developer can see the technical dimensions of a problem, but very few are able to grasp the business side of their jobs. Do you know your business domain? Do you understand how the bottom line at your company works?&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Communication.&lt;/strong&gt; The stereotype of the developer as a lone wolf working strange hours and sitting sullenly in a dark office is often all too true. This needs to change. If the &lt;span class="caps"&gt;CEO&lt;/span&gt; of your company doesn&amp;#8217;t understand what you do, why exactly would he think it couldn&amp;#8217;t be done better in India?&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Marketing.&lt;/strong&gt; There is a world outside of your company. Should you lose your job, what sort of network do you have to draw on? And what exactly would convince an employer to hire you?&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Passion.&lt;/strong&gt; Finally, are you sure you even want to be a developer in the first place? Is this a career you fell into, or one you want to fight for?&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;As I was noting earlier, &lt;a href="/articles/2005/09/20/web2-0-gets-pragmatic"&gt;self promotion&lt;/a&gt; is one of biggest failings of geeks these days. I realized this was my biggest problem last year, but I&amp;#8217;m glad to see such an authoritative and well-crafted examination of the problem in Chad&amp;#8217;s book.&lt;/p&gt;


	&lt;p&gt;Which brings me to why I must concede I can&amp;#8217;t give an entirely objective review to this book. Around six months ago, I decided to get more involved in the online community. I started blogging, and I started reading blogs of alpha geeks whose judgements I respected. This included people in the Ruby on Rails community, and &lt;a href="http://www.chadfowler.com/"&gt;Chad&amp;#8217;s blog&lt;/a&gt; was one of them. A short time later, Chad asked for test readers for his draft manuscript, and I offered to help. He accepted me as a test editor, and i enjoyed the experience immensely. It was a great way to test the strength of his book and correct weaknesses, and I have to commend Chad for it. And I&amp;#8217;m proud I could help out and become more involved with my career in the process. It&amp;#8217;s a good book. Buy it. It&amp;#8217;s worth it.&lt;/p&gt;</content>
  </entry>
</feed>
