<?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>Elegant Code &#187; Books</title>
	<atom:link href="http://elegantcode.com/tag/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 04:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Book review: NHibernate in Action</title>
		<link>http://elegantcode.com/2008/06/14/book-review-nhibernate-in-action/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-review-nhibernate-in-action</link>
		<comments>http://elegantcode.com/2008/06/14/book-review-nhibernate-in-action/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 20:42:15 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[NHibernate]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/14/book-review-nhibernate-in-action/</guid>
		<description><![CDATA[Writing this book review feels kind of weird&#160; because it hasn&#8217;t actually hit the shelves yet. It is accessible however through the Manning Early Access Program. This book provides a clear insight of using NHibernate as the data access layer of your applications and beyond. The excessive amount of NHibernate features&#160; isn&#8217;t the only thing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/kuate-cover150.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="235" alt="kuate_cover150" src="http://elegantcode.com/wp-content/uploads/2008/06/kuate-cover150-thumb.jpg" width="195" align="left" border="0"></a> Writing this book review feels kind of weird&nbsp; because it hasn&#8217;t actually hit the shelves yet. It is accessible however through the <a href="http://www.manning.com/kuate/" target="_blank">Manning Early Access Program</a>. This book provides a clear insight of using NHibernate as the data access layer of your applications and beyond. </p>
<p>The excessive amount of NHibernate features&nbsp; isn&#8217;t the only thing that is written down. There is also a good coverage of OO principles and <a href="http://en.wikipedia.org/wiki/Domain-driven_design" target="_blank">Domain-Driven Design</a>, although it isn&#8217;t the primary objective of the book of course. This is especially true for the first and the last three chapters. If you&#8217;ve already read the nominal books <a href="http://en.wikipedia.org/wiki/Domain-driven_design" target="_blank">DDD</a> and you are familiar with Persistence Ignorance, then you can safely skim through these chapters unless you want to see the interpretation of the authors when it comes to these principles. If you are new to these concepts, then these chapters are of great value to wet your appetite.</p>
<p>Although this book covers a lot of ground, I would certainly recommend it when you&#8217;re rather new to NHibernate and ORM&#8217;s in general. I guess this still includes me, although I&#8217;ve been using NHibernate for quite some time now. If you already have some experience with NHibernate, then this book probably doesn&#8217;t teach you that much. Still, it can quickly get you up to speed when you want to use a particular feature that you haven&#8217;t used before. </p>
<p>The only minor thing about this book is that I&#8217;m afraid that it will soon be out-of-date. The book only covers NHibernate 1.2.x and no features from the upcoming 2.0 release, which adds <a href="http://www.ayende.com/Blog/archive/2008/03/31/NHibernate-2.0-Alpha-is-out.aspx" target="_blank">a lot of new and interesting features</a>. It would be nice if the book already covered some of these features as most of them are ported from Hibernate itself, which is the original Java version.</p>
<p>On the other hand, this book provides an in-depth view of the basic features of NHibernate, which aren&#8217;t necessarily going to change that much over time anyway.</p>
<p>Let me round off this post by saying that I&#8217;m really impressed by the list of books that <a href="http://www.manning.com/" target="_blank">Manning</a> is going to release the next couple of months. These are the ones that I&#8217;m particularly interested in:</p>
<ul>
<li><a href="http://www.manning.com/rahien/" target="_blank">Building Domain Specific Languages in Boo</a></li>
<li><a href="http://www.manning.com/palermo/" target="_blank">ASP.NET MVC in Action</a></li>
<li><a href="http://www.manning.com/baley/" target="_blank">Brownfield Application Development in .NET</a></li>
<li><a href="http://www.manning.com/carrero/" target="_blank">IronRuby in Action</a></li>
</ul>
<p>I already bought <a href="http://www.manning.com/marguerie/" target="_blank">LINQ in Action</a> and also read a lot of good things about <a href="http://www.manning.com/skeet/" target="_blank">C# in Depth</a>, which I&#8217;m going to pick up soon.</p>
<p>Take care.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/14/book-review-nhibernate-in-action/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Shelfari</title>
		<link>http://elegantcode.com/2008/06/07/shelfari/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shelfari</link>
		<comments>http://elegantcode.com/2008/06/07/shelfari/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 19:19:19 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/07/shelfari/</guid>
		<description><![CDATA[I just migrated my book shelf on 22 books and wish list to Shelfari. It seems that I&#8217;m way behind on my reading list.]]></description>
			<content:encoded><![CDATA[<p>I just migrated <a href="http://vanryswyckjan.blogspot.com/2008/01/22-books.html" target="_blank">my book shelf on 22 books</a> and <a href="http://vanryswyckjan.blogspot.com/2006/09/my-wishlist.html" target="_blank">wish list</a> to <a href="http://www.shelfari.com/o1518100500/shelf" target="_blank">Shelfari</a>. It seems that I&#8217;m way behind on my reading list.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/07/shelfari/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book review: The Pragmatic Programmer</title>
		<link>http://elegantcode.com/2008/04/16/book-review-the-pragmatic-programmer-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-review-the-pragmatic-programmer-2</link>
		<comments>http://elegantcode.com/2008/04/16/book-review-the-pragmatic-programmer-2/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 13:15:18 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/16/book-review-the-pragmatic-programmer-2/</guid>
		<description><![CDATA[I think I&#8217;m going to be brief about this one. Everything you ever heard or read about this book is true. If you don&#8217;t have this book already, then go get it right now because you are missing out on a lot of essential stuff. Although most of its content has been scattered around in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elegantcode.com/wp-content/uploads/2008/04/pragmaticprogrammer.jpg"><img src="http://elegantcode.com/wp-content/uploads/2008/04/pragmaticprogrammer-thumb.jpg" style="border-width: 0px" alt="PragmaticProgrammer" align="left" border="0" height="240" width="191" /></a> I think I&#8217;m going to be brief about this one. Everything you ever heard or read about this book is true. If you don&#8217;t have this book already, then go get it right now because you are missing out on a lot of essential stuff. Although most of its content has been scattered around in many blog posts over the last couple of years, I learned a lot of new things.</p>
<p>What strikes me the most about this book is the fact that it has been published in 1999 (yes, almost an entire century in IT years). The content is far from outdated and could still be marked as innovative. I definitely know some co-workers and other people who could benefit a tremendous deal by reading this book.</p>
<p>The book is built around 46 short, self-containing sections with 70 different tips that will guide you to become a better programmer. The topics on <a href="http://codebetter.com/blogs/jeremy.miller/archive/2007/01/08/Orthogonal-Code.aspx" target="_blank">orthogonality</a>, <a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/02/10/first-causes-reversibility.aspx" target="_blank">reversibility</a>, the <a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself" target="_blank">DRY principle</a> and the <a href="http://en.wikipedia.org/wiki/Law_of_Demeter" target="_blank">Law of Demeter</a> really struck a nerve.</p>
<p>If you are serious about your profession, then you got to have this book and read it from cover to cover. There are only a few books that I want to reread at least once a year (<a href="http://www.bookpool.com/sm/0321127420" target="_blank">PoEAA</a>, <a href="http://www.bookpool.com/sm/0321125215" target="_blank">DDD</a>, etc. &#8230;). This book has now joined the club.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/16/book-review-the-pragmatic-programmer-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Clean Code : A Handbook of Software Craftsmanship</title>
		<link>http://elegantcode.com/2008/04/08/clean-code-a-handbook-of-software-craftsmanship/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clean-code-a-handbook-of-software-craftsmanship</link>
		<comments>http://elegantcode.com/2008/04/08/clean-code-a-handbook-of-software-craftsmanship/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 18:43:09 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/04/08/clean-code-a-handbook-of-software-craftsmanship/</guid>
		<description><![CDATA[Man, I really want this book! I&#8217;ve added it to my ever-growing book list.]]></description>
			<content:encoded><![CDATA[<p>Man, I really want <a href="http://blog.objectmentor.com/articles/2008/04/08/clean-code-whew" target="_blank">this book</a>! I&#8217;ve added it to my <a href="http://wishlist.confusticate.com/view.php?hash=d6c1eb142a3ddf2a4fd3a4aea2a58416" target="_blank">ever-growing book list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/04/08/clean-code-a-handbook-of-software-craftsmanship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Winning Essay: What is Elegant Code?</title>
		<link>http://elegantcode.com/2008/03/30/elegant-code-essay-contest-winner/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=elegant-code-essay-contest-winner</link>
		<comments>http://elegantcode.com/2008/03/30/elegant-code-essay-contest-winner/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:56:37 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/30/elegant-code-essay-contest-winner/</guid>
		<description><![CDATA[Our unanimous winner is Jan Van Ryswyck of Belgium. Jan can look forward to his copy of Beautiful Code in the mail in the next few weeks as it will be going book rate Sorry, man. Low budget over here. Elegant Code by Jan Van Ryswyck What is elegant code? It might depend on who [...]]]></description>
			<content:encoded><![CDATA[<p>Our unanimous winner is Jan Van Ryswyck of Belgium. Jan can look forward to his copy of Beautiful Code in the mail in the next few weeks as it will be going book rate <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Sorry, man. Low budget over here.</p>
<h2>Elegant Code by Jan Van Ryswyck</h2>
<p>What is elegant code? It might depend on who you ask. It&#8217;s kind of a subjective matter. Depending on the type of programmer, you get all kinds of answers. This short essay is my take on the subject. It&#8217;s a topic that is very close to my heart, although I believe I&#8217;m not able to produce very elegant code (yet).</p>
<p>In my view, elegant code has many characteristics. Here are some of these characteristics that I believe are important.</p>
<p><i>Elegant code</i> adheres to object-oriented principles. We&#8217;ve all seen what a procedural approach does to a code base and its maintainability. Heck, there are even large tool vendors out there today that put out OO languages and preach software design that leans to typical Cobol. Good old plain classes: data and behavior that acts on that data. Code that reflects the <a href="http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign">Principles of Object Oriented Design</a>, like the Single Responsibility Principle (SRP) and Separation of Concerns (SoC) to name two of them.</p>
<p><i>Elegant code</i> reads like a best-selling novel. Remember that last book you&#8217;ve read that you just couldn&#8217;t stop reading? The same goes for elegant code. You start at the beginning of the code base and you can&#8217;t wait to see the rest. Code that invites other members of your team to read and review it. Code that does not have a need for comments, as it documents itself.</p>
<p><i>Elegant code </i>is loosely coupled with a high cohesion. Orthogonal code is a very important topic. When you change one part of a system, it should not affect another part of that system. This can only be achieved through loosely coupled code. You gain productivity, reduce risk and increase maintainability.</p>
<p><i>Elegant code</i> is therefore open to change and easy to extend whenever necessary. It should be very easy to make some fundamental changes to the code base, not only by its creators but by every other member of the team or even another team for that matter. This also involves some aspects like unit tests and continuous integration for example. These practices give any member of the team the ability to give immediate feedback about the condition of the code.</p>
<p><i>Elegant code</i> clearly reflects the concepts of the domain for which it tries to solve problems and make life easier for its users. The model of the code should be understandable to both the developers as the domain experts.</p>
<p><i>Elegant code</i> doesn&#8217;t try to reinvent the wheel. It is developed with the right tools for the right job without falling into the trap of the new technology du jour.</p>
<p>Last but certainly not least, <i>elegant code</i> does what it&#8217;s supposed to do. I&#8217;ve put this last, not because I think it&#8217;s not important. I believe that you automatically get working code when you apply every other characteristic I described earlier.</p>
<p>Notice that I mentioned the word team a lot. I&#8217;m a big believer of self-organizing teams that take matters into their own hands and pick up their responsibility. <i>Elegant code</i> is something that can be created as a team and most likely not as a sole individual. Although there are lots of very smart individuals out there, they are nothing compared to a team of open-minded, disciplined people who are set to meet their goal. </p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/30/elegant-code-essay-contest-winner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Dreaming in Code by Scott Rosenburg</title>
		<link>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=review-dreaming-in-code-by-scott-rosenburg</link>
		<comments>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 03:14:07 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/</guid>
		<description><![CDATA[I recently finished reading Dreaming in Code by Scott Rosenburg; I requested it for Christmas last year because I thought it would be an inspiring story of a successful software project. Heck, I want to learn about the nirvana of what it would be like to live the dream. Who wouldn&#8217;t? At the very real [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finished reading <em><a href="http://www.dreamingincode.com/" target="_blank">Dreaming in Code</a></em> by Scott Rosenburg; I requested it for Christmas last year because I thought it would be an inspiring story of a successful software project. Heck, I want to learn about the nirvana of what it would be like to live the dream. Who wouldn&#8217;t?</p>
<p><img src="http://www.dreamingincode.com/code_cover.jpg" align="left" /></p>
<p>At the very real risk of getting myself blacklisted by the very famous rock star geeks named in this book, <em>Dreaming in Code</em> is anything but a success story. Indeed, the story of this software development effort provides great insight into why so many people hate computers, software, and programmers.</p>
<p>This is a real life story of the ineffectiveness of self driven work teams who can&#8217;t make a decision in the absence of an empowered leader. The team spends months deciding &quot;architectural direction&quot; before delivering anything, millions of dollars to deliver little to no value.</p>
<p><em>Dreaming in Code</em> chronicles the team dynamics surrounding the group of people who built <a href="http://chandlerproject.org/" target="_blank">Chandler</a>, Yet Another Outlook Killer application that, of course, did no such thing. The company established to create Chandler was founded by Mitchell Kapor, of the <a href="http://www.osafoundation.org/" target="_blank">Open Source Application Foundation</a> (OSAF) and original founder of Lotus Development Corp. Apparently this is what bored millionaires do with their fortunes in Silicon Valley rather than taking a vacation or feeding a village. </p>
<p>This team actually didn&#8217;t ship v1.0 for 3 years. They slid every schedule, they argued about the fundamental features of the system for months, they hard coded dependencies everywhere, and in short: They squandered money like only a group of self important, over-privileged , 21st century knowledge workers could.</p>
<p>Guess what? Life as a software developer (or as a user or customer) doesn&#8217;t have to be this way. Find a company lead by a visionary with the sense to hire a group of operators to execute on the vision. If everyone&#8217;s head is in the same cloud, none of them will keep their feet on the ground. Thankfully the team was beginning to use time boxed iterations with a set delivery timeline toward the end of the book. Who knows, maybe someday they&#8217;ll release v1.1.</p>
<p>I highly recommend this book. <em>Dreaming in Code</em> is the best anti-pattern for running a software team/project/company I have ever read.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/22/review-dreaming-in-code-by-scott-rosenburg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elegant Code Essay Contest</title>
		<link>http://elegantcode.com/2008/03/21/elegant-code-essay-contest/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=elegant-code-essay-contest</link>
		<comments>http://elegantcode.com/2008/03/21/elegant-code-essay-contest/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 04:23:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/21/elegant-code-essay-contest/</guid>
		<description><![CDATA[I am announcing the first Elegant Code give away contest. Thanks to Cory, I have an extra copy of Beautiful Code, by Andy Oram and Greg Wilson. I already have a well worn copy of this excellent book, so this new one is up for grabs by our readers. Here&#8217;s the Deal You write an [...]]]></description>
			<content:encoded><![CDATA[<p>I am announcing the first Elegant Code give away contest. </p>
<p>Thanks to <a href="http://blog.coryisakson.com" target="_blank">Cory</a>, I have an extra copy of <a href="http://beautifulcode.oreillynet.com/" target="_blank"><em>Beautiful Code</em></a>, by Andy Oram and Greg Wilson. I already have a well worn copy of this excellent book, so this new one is up for grabs by our readers.</p>
<p><strong>Here&#8217;s the Deal</strong></p>
<p>You write an article for ElegantCode.com, and submit it to: contest at elegantcode dot com. The subject of your essay? If you have listened to <a href="http://elegantcode.com/cast" target="_blank">the podcast</a>, you won&#8217;t be surprised that the subject is &quot;Defining Elegant Code&quot;. You tell us what Elegant Code means to you.</p>
<ol>
<li>You send in your article by midnight on Friday, March 28th.</li>
<li>The Elegant Coders will read it and we will vote on a winner. </li>
<li>I will send you the book (shipping is on me).</li>
<li>We&#8217;ll post your article and attribute it to you as the winner of the contest.</li>
<li>You win fame and glory.</li>
</ol>
<p>If you submit an article and are not chosen as the winner, we reserve the right to publish your entry in part or whole on the blog as well, but we will always ensure you are credited for your work.</p>
<p>Good luck, and we look forward to hearing from you. </p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/21/elegant-code-essay-contest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I admit it, I&#8217;m addicted&#8230;(to books that is)</title>
		<link>http://elegantcode.com/2008/03/16/i-admit-it-im-addictedto-books-that-is/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-admit-it-im-addictedto-books-that-is</link>
		<comments>http://elegantcode.com/2008/03/16/i-admit-it-im-addictedto-books-that-is/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 21:51:12 +0000</pubDate>
		<dc:creator>Scott Schimanski</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/16/i-admit-it-im-addictedto-books-that-is/</guid>
		<description><![CDATA[I am addicted to books. I can freely admit it.  My friends are dumbfounded, my kids look at me funny, my wife mearly tolerates it. It&#8217;s a disease. The only saving grace is that after years of collecting I am getting pickier about the books I get, if only because I am running out of [...]]]></description>
			<content:encoded><![CDATA[<p>I am addicted to books. I can freely admit it.  My friends are dumbfounded, my kids look at me funny, my wife mearly tolerates it. It&#8217;s a disease. The only saving grace is that after years of collecting I am getting pickier about the books I get, if only because I am running out of possible bookshelf space. I try to take a book or magazine everywhere I go, just in case I have a spare minute to catch up on a chapter or article.</p>
<p>I recently moved and in doing so I had to pack up all my books. Wow, there were a lot of boxes, currently well over 900 titles. Most of them have to do with Software engineering, programming, computer science, and business/leadership.</p>
<p>Some books I read just because the authors wrote them. Gerald Weinberg, Steve McConnell, Jeffrey Richter, Charles Petzold , Grady Booch, Bjarne Stroustrup, Johanna Rothman, Alfred Aho, and Cem Kaner are just a few of the many. Gerald Weinberg could write a book on dog washing and I would rush out an buy it. I know there would be wisdom inside on making great software.</p>
<p>I recently overheard someone ask a person knowledgable in a subject &#8220;Can you recommend any books on &lt;insert technical subject&gt;?&#8221; The person responded by saying, &#8220;No, I don&#8217;t really read books&#8221;. Wow, I thought. Please don&#8217;t tell me that Steve Jobs is right??? (<a href="http://digg.com/gadgets/People_don_t_read_books_says_Steve_Jobs">http://digg.com/gadgets/People_don_t_read_books_says_Steve_Jobs</a>). I have heard of strange people out there that don&#8217;t read books, but I always thought it was so beneficial to gain knowledge from those that have been there. Yes, there are lots of lousy books. But if you do a little homework, you can find the good ones.</p>
<p>During interviews, I&#8217;ll ask applicants how they learn. They inverably say &#8220;I look around on the internet&#8221;. Everyone says that. Lots of folks do get great information on the net. But I tend to think that is just the pat answer. I have found the wisdom to noise ratio on the internet to be extremly noise heavy. Sure, there are lots of gold nuggets of information. But you have to slog though a lot of black sand find them. I&#8217;ll also ask programmer and tester interviewees what books they have read in the last year. They usually mumble some fiction book. I just don&#8217;t get it&#8230;</p>
<p><strong>So, what am I currently reading?</p>
<p></strong>Working with Microsoft Visual Studio Team System, Hundhausen</p>
<p>Lessons Learned in Software Testing, Kaner et al</p>
<p>The Ruby Way, Fulton</p>
<p>Mastering Regular Expressions, Friedl</p>
<p><strong>Whats next in the queue?</p>
<p></strong>High Performance Web Sites: Essential Knowledge for Front-End Engineers , Souders</p>
<p>Essential ASP.NET 2.0, Onion</p>
<p>Execution: The Discipline of Getting Things Done, Bossidy et al</p>
<p>Programming Language Pragmatics, Scott</p>
<p><strong>What are you reading?</p>
<p></strong>Scott</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/16/i-admit-it-im-addictedto-books-that-is/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Definitive Agile Reading List</title>
		<link>http://elegantcode.com/2007/08/28/the-definitive-agile-reading-list/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-definitive-agile-reading-list</link>
		<comments>http://elegantcode.com/2007/08/28/the-definitive-agile-reading-list/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 05:16:27 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=640</guid>
		<description><![CDATA[I have been asked several times for reading recommendations for&#160;people looking to implement Agile in their organization. Providing that list is difficult because there are so many different&#160;ideas of what it means to be Agile. The concepts, practices, techniques, and&#160;values of Agile that matter most to individuals depend very much on their role in an [...]]]></description>
			<content:encoded><![CDATA[<p>I have been asked several times for reading recommendations for&nbsp;people looking to implement Agile in their organization. Providing that list is difficult because there are so many different&nbsp;ideas of what it means to be Agile. The concepts, practices, techniques, and&nbsp;values of Agile that matter most to individuals depend very much on their role in an organization.</p>
<p>In that spirit, here&nbsp;are some&nbsp;reading lists targeted to different people. I admit that a few of these books do not have a specific Agile focus, but are so fundamental to professionalism that they can&#8217;t be left out. If I have missed a gem, feel free to let me know. It may well be that I haven&#8217;t read it.</p>
<p>In the full sprit of disclosure, I have not read each of these books cover to cover. I have at least skimmed through each one in a concentrated sitting.</p>
<h2>Developers</h2>
<ul>
<li><a href="http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445/ref=pd_bbs_sr_2/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-2">Agile Software Development, Principles, Patterns, and Practices</a> by Robert C. Martin
<li><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank">Ship it! A Practical Guide to Successful Software Projects</a> by Jared Richardson and Will Gwaltney
<li><a href="http://www.amazon.com/Practices-Agile-Developer-Pragmatic-Programmers/dp/097451408X/ref=pd_bbs_9/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-9">Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers)</a> by Venkat Subramaniam and Andy Hunt
<li><a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-1">Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series)</a> by Alistair Cockburn<br />or<br /><a href="http://www.amazon.com/Agile-Project-Management-Innovative-Development/dp/0321219775/ref=sr_1_15/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-15">Agile Project Management: Creating Innovative Products (The Agile Software Development Series)</a> by Jim Highsmith
<li><a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=pd_bbs_sr_2/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188362538&amp;sr=1-2">The Pragmatic Programmer: From Journeyman to Master</a> by Andrew Hunt and David Thomas
<li><a href="http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188363169&amp;sr=1-1">Code Complete, Second Edition</a> by Steve McConnell
<li><a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-1"></a><a href="http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188360886&amp;sr=1-1">Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series)</a> by Kent Beck and Cynthia Andres
<li><a href="http://www.amazon.com/Integrating-Agile-Development-World-Programming/dp/1584503645/ref=sr_1_17/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361484&amp;sr=1-17">Integrating Agile Development in the Real World (Programming Series) (Programming Series)</a> by Peter Schuh
<li><a href="http://www.pragmaticprogrammer.com/starter_kit/utc/utc1.html">Pragmatic Unit Testing</a>: in C# with NUnit<br />or<br /><a href="http://www.pragmaticprogrammer.com/starter_kit/utj/index.html">Pragmatic Unit Testing</a>: in Java with JUnit</li>
</ul>
<h2>Testers</h2>
<ul>
<li><a href="http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445/ref=pd_bbs_sr_2/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-2">Agile Software Development, Principles, Patterns, and Practices</a> by Robert C. Martin
<li><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank">Ship it! A Practical Guide to Successful Software Projects</a> by Jared Richardson and Will Gwaltney
<li><a href="http://www.amazon.com/Lessons-Learned-Software-Testing-Kaner/dp/0471081124/ref=pd_sim_dbs_b_5/105-5217601-5962830?ie=UTF8&amp;qid=1188358806&amp;sr=8-16">Lessons Learned in Software Testing</a> by Cem Kaner
<li><a href="http://www.amazon.com/Practices-Agile-Developer-Pragmatic-Programmers/dp/097451408X/ref=pd_bbs_9/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-9">Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers)</a> by Venkat Subramaniam and Andy Hunt
<li><a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-1">Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series)</a> by Alistair Cockburn<br />or<br /><a href="http://www.amazon.com/Agile-Project-Management-Innovative-Development/dp/0321219775/ref=sr_1_15/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-15">Agile Project Management: Creating Innovative Products (The Agile Software Development Series)</a> by Jim Highsmith
<li><a href="http://www.amazon.com/Software-Testing-Fundamentals-Methods-Metrics/dp/047143020X/ref=sr_1_7/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361632&amp;sr=1-7">Software Testing Fundamentals: Methods and Metrics</a> by Marnie L. Hutcheson</li>
<p><a href="http://www.pragmaticprogrammer.com/starter_kit/utc/utc1.html">Pragmatic Unit Testing</a>: in C# with NUnit<br />or<br /><a href="http://www.pragmaticprogrammer.com/starter_kit/utj/index.html">Pragmatic Unit Testing</a>: in Java with JUnit</ul>
<h2>Team Managers and Leads</h2>
<ul>
<li><a href="http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445/ref=pd_bbs_sr_2/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-2">Agile Software Development, Principles, Patterns, and Practices</a> by Robert C. Martin
<li><a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-1">Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series)</a> by Alistair Cockburn<br />or<br /><a href="http://www.amazon.com/Agile-Project-Management-Innovative-Development/dp/0321219775/ref=sr_1_15/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-15">Agile Project Management: Creating Innovative Products (The Agile Software Development Series)</a> by Jim Highsmith
<li><a href="http://www.amazon.com/Agile-Iterative-Development-Managers-Guide/dp/0131111558/ref=pd_bbs_sr_7/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-7">Agile and Iterative Development: A Manager&#8217;s Guide</a> by Craig Larman
<li><a href="http://www.pragmaticprogrammer.com/titles/prj/" target="_blank">Ship it! A Practical Guide to Successful Software Projects</a> by Jared Richardson and Will Gwaltney
<li><a href="http://www.amazon.com/Agile-Project-Management-Microsoft-Professional/dp/073561993X/ref=pd_bbs_sr_5/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-5">Agile Project Management with Scrum</a> by Ken Schwaber
<li><a href="http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188360886&amp;sr=1-1">Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series)</a> by Kent Beck and Cynthia Andres
<li><a href="http://www.amazon.com/Lean-Software-Development-Toolkit-Managers/dp/0321150783/ref=pd_sim_b_5/105-5217601-5962830?ie=UTF8&amp;qid=1188358806&amp;sr=8-4">Lean Software Development: An Agile Toolkit for Software Development Managers</a> by Mary Poppendieck
<li><a href="http://www.amazon.com/Managing-Agile-Projects-Kevin-Aguanno/dp/1895186110/ref=sr_1_11/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-11">Managing Agile Projects</a> by Kevin Aguanno
<li><a href="http://www.amazon.com/Behind-Closed-Doors-Management-Programmers/dp/0976694026/ref=pd_bbs_sr_2/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188362352&amp;sr=1-2">Behind Closed Doors: Secrets of Great Management (Pragmatic Programmers)</a> by Johanna Rothman and Esther Derby
<li><a href="http://www.amazon.com/Agile-Estimating-Planning-Robert-Martin/dp/0131479415/ref=pd_bbs_6/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-6">Agile Estimating and Planning (Robert C. Martin Series)</a> by Mike Cohn </li>
</ul>
<h2>Project Managers</h2>
<ul>
<li><a href="http://www.amazon.com/Managing-Agile-Projects-Kevin-Aguanno/dp/1895186110/ref=sr_1_11/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-11">Managing Agile Projects</a> by Kevin Aguanno
<li><a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-1">Agile Software Development: The Cooperative Game (2nd Edition) (The Agile Software Development Series)</a> by Alistair Cockburn<br />or<br /><a href="http://www.amazon.com/Agile-Project-Management-Innovative-Development/dp/0321219775/ref=sr_1_15/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-15">Agile Project Management: Creating Innovative Products (The Agile Software Development Series)</a> by Jim Highsmith
<li><a href="http://www.amazon.com/Agile-Project-Management-Microsoft-Professional/dp/073561993X/ref=pd_bbs_sr_5/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-5">Agile Project Management with Scrum</a> by Ken Schwaber <br />plus<br /><a href="http://www.amazon.com/Enterprise-Scrum-Ken-Schwaber/dp/0735623376/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-1">The Enterprise and Scrum</a> by Ken Schwaber
<li><a href="http://www.amazon.com/Agile-Estimating-Planning-Robert-Martin/dp/0131479415/ref=pd_bbs_6/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188358806&amp;sr=8-6">Agile Estimating and Planning (Robert C. Martin Series)</a> by Mike Cohn
<li><a href="http://www.amazon.com/User-Stories-Applied-Development-Addison-Wesley/dp/0321205685/ref=sr_1_10/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188360485&amp;sr=1-10">User Stories Applied: For Agile Software Development (The Addison-Wesley Signature Series)</a> by Mike Cohn
<li><a href="http://www.amazon.com/Collaboration-Explained-Facilitation-Software-Development/dp/0321268776/ref=sr_1_7/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188360485&amp;sr=1-7">Collaboration Explained: Facilitation Skills for Software Project Leaders (The Agile Software Development Series)</a> by Jean Tabaka
<li><a href="http://www.amazon.com/Agile-Retrospectives-Making-Teams-Great/dp/0977616649/ref=sr_1_4/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-4">Agile Retrospectives: Making Good Teams Great</a> by Esther Derby, Diana Larsen, and Ken Schwaber
<li><a href="http://www.pragmaticprogrammer.com/titles/jrpm/index.html">Manage It!</a> Your Guide to Modern, Pragmatic Project Management by Johanna Rothman</li>
</ul>
<h2>Executives</h2>
<ul>
<li><a href="http://www.amazon.com/Agile-Enterprise-Reinventing-Organization-Demand/dp/0387243739/ref=sr_1_24/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188362006&amp;sr=1-24">The Agile Enterprise: Reinventing your Organization for Success in an On-Demand World</a> by Nirmal Pal and Daniel Pantaleo
<li><a href="http://www.amazon.com/Enterprise-Scrum-Ken-Schwaber/dp/0735623376/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-1">The Enterprise and Scrum</a> by Ken Schwaber
<li><a href="http://www.amazon.com/Accelerating-Process-Improvement-Using-Techniques/dp/0849337968/ref=sr_1_5/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361842&amp;sr=1-5">Accelerating Process Improvement Using Agile Techniques</a> by Deb Jacobs
<li><a href="http://www.amazon.com/Transparent-Building-Blocks-Agile-Enterprise/dp/0976801701/ref=sr_1_8/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361842&amp;sr=1-8">Transparent IT: Building Blocks for an Agile Enterprise</a> by Chip Wilson
<li><a href="http://www.amazon.com/Implementing-Lean-Software-Development-Addison-Wesley/dp/0321437381/ref=pd_bbs_sr_1/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188364027&amp;sr=1-1">Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series)</a> by Mary Poppendieck and Tom Poppendieck
<li><a href="http://www.amazon.com/Managing-Agile-Projects-Kevin-Aguanno/dp/1895186110/ref=sr_1_11/105-5217601-5962830?ie=UTF8&amp;s=books&amp;qid=1188361118&amp;sr=1-11">Managing Agile Projects</a> by Kevin Aguanno</li>
</ul>
<p>&nbsp;</p>
<p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:3061ed46-4562-4520-9232-d3152f87ae3a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Agile" rel="tag">Agile</a>, <a href="http://technorati.com/tags/Books" rel="tag">Books</a>, <a href="http://technorati.com/tags/Scrum" rel="tag">Scrum</a>, <a href="http://technorati.com/tags/XP" rel="tag">XP</a>, <a href="http://technorati.com/tags/Software%20Development" rel="tag">Software Development</a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/08/28/the-definitive-agile-reading-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Ten Laws of Simplicity</title>
		<link>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-ten-laws-of-simplicity</link>
		<comments>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 18:49:40 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/?p=615</guid>
		<description><![CDATA[I am working at home today and listening to Friday&#8217;s Talk of the Nation on NPR, which is the Science Friday edition.&#160; Today&#8217;s guest is John Maeda, author of the Laws of Simplicity, and founder of the Simplicity Consortium at the MIT Media Lab. John has published these 10 laws that are not only worthy [...]]]></description>
			<content:encoded><![CDATA[<p>I am working at home today and listening to Friday&#8217;s <a href="http://www.kqed.org/programs/program-landing.jsp?progID=RD44" target="_blank">Talk of the Nation</a> on <a href="http://npr.org" target="_blank">NPR</a>, which is the <a href="http://www.npr.org/programs/scifri/" target="_blank">Science Friday edition</a>.&nbsp; Today&#8217;s guest is <a href="http://plw.media.mit.edu/people/maeda/" target="_blank">John Maeda</a>, author of the <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&amp;path=ASIN/0262134721&amp;tag=maedastudio&amp;camp=1789&amp;creative=9325" target="_blank">Laws of Simplicity</a>, and founder of the <a href="http://simplicity.media.mit.edu/" target="_blank">Simplicity Consortium</a> at the <a href="http://www.mit.edu/" target="_blank">MIT</a> Media Lab.</p>
<p>John has published <a href="http://lawsofsimplicity.com/category/laws?order=ASC" target="_blank">these 10 laws</a> that are not only worthy of reading, but worthy of groking all the way to your core.&nbsp; Adherence to these principals is why companies like <a href="http://37signals.com/" target="_blank">37 Signals</a> and <a href="http://apple.com" target="_blank">Apple</a> are getting so much good play.</p>
<h2>John Maeda&#8217;s 10 Laws of Simplicity</h2>
<ol>
<li><a href="http://lawsofsimplicity.com/?p=50" target="_blank">Reduce</a></li>
<li><a href="http://lawsofsimplicity.com/?p=51" target="_blank">Organize</a></li>
<li><a href="http://lawsofsimplicity.com/?p=52" target="_blank">Time</a></li>
<li><a href="http://lawsofsimplicity.com/?p=53" target="_blank">Learn</a></li>
<li><a href="http://lawsofsimplicity.com/?p=54" target="_blank">Differences</a></li>
<li><a href="http://lawsofsimplicity.com/?p=55" target="_blank">Context</a></li>
<li><a href="http://lawsofsimplicity.com/?p=56" target="_blank">Emotion</a></li>
<li><a href="http://lawsofsimplicity.com/?p=57" target="_blank">Trust</a></li>
<li><a href="http://lawsofsimplicity.com/?p=58" target="_blank">Failure</a></li>
<li><a href="http://lawsofsimplicity.com/?p=59" target="_blank">The One</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2007/07/13/the-ten-laws-of-simplicity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

