<?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>The Inquisitive Coder - Davy Brion&#039;s Blog &#187; Books</title>
	<atom:link href="http://davybrion.com/blog/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 29 Jul 2010 20:51:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Evolving Reading Interests</title>
		<link>http://davybrion.com/blog/2010/05/evolving-reading-interests/</link>
		<comments>http://davybrion.com/blog/2010/05/evolving-reading-interests/#comments</comments>
		<pubDate>Wed, 05 May 2010 19:15:55 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2299</guid>
		<description><![CDATA[For the past few months, i&#8217;ve kinda lost my interest in reading technical books and have been focusing on reading other books instead. I still can&#8217;t bring myself to read fiction, so i&#8217;ve focused more on stuff that you can actually learn from. I suppose it started last year when a friend of mine recommended [...]]]></description>
			<content:encoded><![CDATA[<p>For the past few months, i&#8217;ve kinda lost my interest in reading technical books and have been focusing on reading other books instead.  I still can&#8217;t bring myself to read fiction, so i&#8217;ve focused more on stuff that you can actually learn from.   I suppose it started last year when a friend of mine recommended Philip Zimbardo&#8217;s <a href="http://www.amazon.com/Lucifer-Effect-Good-People-Turn/dp/1846041031/ref=sr_1_4?ie=UTF8&#038;s=books&#038;qid=1273085655&#038;sr=8-4">The Lucifer Effect</a>.  That book is pretty heavy, but i really enjoyed reading it and learned a lot about how people think and react to certain situations.  </p>
<p>Then about 2 months ago someone recommended Robert Greene&#8217;s <a href="http://www.amazon.com/48-Laws-Power-Robert-Greene/dp/0140280197/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1273085595&#038;sr=8-1">The 48 Laws Of Power</a>.  If you&#8217;ve got certain goals in your life but are not quite sure how to achieve them, then i would certainly recommend it.  Hell, i&#8217;d recommend it to anyone because it&#8217;s just that good and valuable.  If i had read that book back when i was stuck in Enterprise Hell, i would&#8217;ve gotten through that period with a lot less friction and a lot more results.  And for the record, that book isn&#8217;t necessarily about how you should use the power that you have, or how to put yourself in a position of power, but it&#8217;s a good guide on how to protect yourself against people who have power or are trying to gain power at your (or other people&#8217;s) expense.</p>
<p>That book lead me to <a href="http://www.amazon.com/50th-Law-50-Cent/dp/006177460X/ref=sr_1_3?ie=UTF8&#038;s=books&#038;qid=1273085595&#038;sr=8-3">The 50th Law</a> which is a collaborative effort between Robert Greene and 50 Cent.  Now, if you&#8217;re closed minded and don&#8217;t want to read a book that has a gangsta rapper associated with it, be my guest, but rest assured that you&#8217;re missing out on some very interesting and valuable stuff.</p>
<p>Next up on my reading list is <a href="http://www.amazon.com/Prince-Niccol%C3%B2-Machiavelli/dp/1452817138/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1273086213&#038;sr=1-2">The Prince</a> and <a href="http://www.amazon.com/Art-War-Niccol%C3%B2-Machiavelli/dp/030681076X/ref=ntt_at_ep_dpi_4">The Art Of War</a> by Niccolò Machiavelli.  </p>
<p>Now you might be wondering why i&#8217;m reading these kinds of books.  Basically, because they really teach you a lot about how plenty of people think and react to things.  That doesn&#8217;t mean that you have to follow the advice or the guidelines in those books, but it does certainly help you put certain things in perspective and understand certain situations better.  And after all, if we are about self-improvement on a technical level, then we certainly should be open-minded enough to read books that could help us improve our understanding of other things in life as well.  And i can guarantee you that the stuff you read in those books can help you in your professional life as well.</p>
<p>I&#8217;d definitely be interested in any other kind of non-technical, non-fictional book that you can recommend for whatever reasons <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2010/05/evolving-reading-interests/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Highly Recommended Book: Debug It!</title>
		<link>http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/</link>
		<comments>http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 06:03:57 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2223</guid>
		<description><![CDATA[I’m not the best debugger out there, but i usually manage to get to the bottom of things and sometimes i even enjoy chasing down a weird bug.&#160; And while i actively try to avoid bugs as much as possible, i’m also always looking to learn more techniques or practices to efficiently find and fix [...]]]></description>
			<content:encoded><![CDATA[<p>I’m not the best debugger out there, but i usually manage to get to the bottom of things and sometimes i even enjoy chasing down a weird bug.&#160; And while i actively try to avoid bugs as much as possible, i’m also always looking to learn more techniques or practices to efficiently find and fix bugs when they do occur.&#160; So when i first heard about Paul Butcher’s <a href="http://www.amazon.com/Debug-Repair-Prevent-Pragmatic-Programmers/dp/193435628X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1264250644&amp;sr=8-1" target="_blank">Debug It</a>, i immediately preordered it.&#160; And now that i’ve read it, i’m very glad i did.</p>
<p>The book is divided in 3 parts.&#160; The chapters of the first part explain in depth what kind of debugging strategy you’ll need.&#160; Discussed topics include:</p>
<ul>
<li>figuring out what you’re really looking for </li>
<li>tips and tricks to come up with a reliable reproduction of the bug and the value of having that reproduction </li>
<li>diagnosing the <em>actual</em> problem </li>
<li>coming up with a <em>true</em> fix </li>
<li>reflecting on why the bug ever got into the software</li>
<li>making sure that the bug can’t come back and that we learn from the mistake</li>
</ul>
<p>For some of you, most of this stuff will just be common sense.&#160; For a lot of developers though, this part alone should be considered required reading.&#160; It’s a complete process of how to deal with bugs efficiently in less than 80 pages!&#160; Think about that for a second: 80 pages that <em>will</em> improve your efficiency at your job and will reduce the amount of time you spend doing something you probably don’t like doing.&#160; How could you resist?</p>
<p>The second part is pretty short (only 2 chapters) but pretty interesting as well.&#160; It mostly deals with organizational patterns and practices that a development shop should take into account.&#160; It covers things such as:</p>
<ul>
<li>
<div align="left">the importance of bug tracking</div>
</li>
<li>
<div align="left">what makes a good bug report</div>
</li>
<li>
<div align="left">effective communication with users and support staff</div>
</li>
<li>
<div align="left">giving priority to bugs as soon as they’re discovered</div>
</li>
<li>
<div align="left">the importance of pragmatic zero-tolerance for bugs</div>
</li>
<li>
<div align="left">ways to get out of a Quality Hole</div>
</li>
</ul>
<p align="left">Not all developers will like the second part, but it definitely contains some valuable information for technical managers, or for developers who need to convince their technical managers <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p align="left">The third part of the book deals with a lot of various strategies for a variety of specific situations.&#160; While not everyone will get something out of every topic discussed in this part, odds are that quite a few of them will indeed be interesting for you.&#160; You’ll find specific advice for quite a few special cases (performance, concurrency, backwards compatibility, third-party bugs, etc…).&#160; You’ll also find the obligatory chapter on creating an ideal debugging environment with automated tests, a build system and continuous integration.&#160; If you’re reading this blog, you’re hopefully already convinced of the values of such things so you might want to skip this chapter.&#160; The final 2 chapters are again very interesting… They’ll show you how you can write software that will debug itself.&#160; While not everyone will actually go out and do this, some ideas of that chapter should definitely be kept in mind by most of us.&#160; The final chapter deals with some common (mostly organizational) anti-patterns for dealing with bugs.</p>
<p align="left">All in all, there is just a lot of tremendously valuable information in this book.&#160; And it’s only about 190 pages so it definitely won’t take you a long time to read it.&#160; I’ve frequently been amazed at the inability of developers to efficiently debug issues when they occur.&#160; And i’m not just talking about bad developers.&#160; I’ve seen plenty of good or even great developers having trouble with debugging efficiently.&#160; This book would definitely get them on the right track, with just a little bit effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Recommended Book: 97 Things Every Project Manager Should Know</title>
		<link>http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/</link>
		<comments>http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 16:58:26 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2132</guid>
		<description><![CDATA[As i mentioned in my (short) review of &#8217;97 Things Every Software Architect Should Know&#8217;, i love the format of these &#8220;97 Things&#8221; books. I already pre-ordered the upcoming &#8217;97 Things Every Programmer Should Know&#8217; and was curious about the other book in the series: 97 Things Every Project Manager Should Know. Now, i&#8217;m not [...]]]></description>
			<content:encoded><![CDATA[<p>As i mentioned in my (short) review of <a href="http://davybrion.com/blog/2009/03/book-review-97-things-every-software-architect-should-know/">&#8217;97 Things Every Software Architect Should Know&#8217;</a>, i love the format of these &#8220;97 Things&#8221; books.  I already pre-ordered the upcoming &#8217;97 Things Every Programmer Should Know&#8217; and was curious about the other book in the series: <a href="http://www.amazon.com/Things-Every-Project-Manager-Should/dp/0596804164/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1262105794&#038;sr=8-2">97 Things Every Project Manager Should Know</a>.</p>
<p>Now, i&#8217;m not a project manager and have no intentions of becoming one in the future.  But as a software developer, i do think it&#8217;s important to have an understanding of what good (and bad) project management entails so i&#8217;d recommend this book to project managers as well as developers.  As usual with books in this series, it&#8217;s full of useful, real-world advice and common sense contributed by experienced and established project managers.  Each piece of advice is again only 2 small pages, and no topic is ever discussed too in-depth.  While not everyone will get something out of every bit of advice, there surely will be quite a few that&#8217;ll make you think about improvements that can be made in your company.  </p>
<p>While there is no structure in the order of the tips, the book does list each tip by topic in the beginning.  Topics that are covered are agile methods, general software development, managing people and teams, dealing with distributed teams, improving communication, managing stakeholders, project processes, dealing with requirements, dealing with end-users and self-management.  The book claims to be useful to project managers in general and not just for software projects, though i think non-software project managers will probably not get a lot of valuable information out of this book since the large majority of the tips are rather specific to software development.</p>
<p>Definitely worth reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I Buy Too Many Books</title>
		<link>http://davybrion.com/blog/2009/12/i-buy-too-many-books/</link>
		<comments>http://davybrion.com/blog/2009/12/i-buy-too-many-books/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 21:13:43 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2063</guid>
		<description><![CDATA[I&#8217;ve developed this bad habit of reading about a book (usually in blog posts), thinking &#8220;hmm, that should be interesting&#8221;, going to Amazon, ordering it and then forgetting all about it. The whole process takes less than 2 minutes. I have recently bought the following books, all of which i still have to finish: 97 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve developed this bad habit of reading about a book (usually in blog posts), thinking &#8220;hmm, that should be interesting&#8221;, going to Amazon, ordering it and then forgetting all about it.  The whole process takes less than 2 minutes.  I have recently bought the following books, all of which i still have to finish:</p>
<ul>
<li><a href="http://www.amazon.com/Things-Every-Project-Manager-Should/dp/0596804164/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260910510&#038;sr=8-1">97 Things Every Project Manager Should Know</a>: i love the 97 Things series, and i think it&#8217;s important to figure out how project managers think (just as it&#8217;s important for men to figure out how women think) so i had to pick this one up.  I am about halfway through at the moment.</li>
<li><a href="http://www.amazon.com/Debug-Repair-Prevent-Pragmatic-Programmers/dp/193435628X/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260910600&#038;sr=8-1">Debug It!</a>: Too many developers have trouble figuring out where to look when something goes wrong.  I&#8217;m proud not to be a part of that group (on most days), though i keep my eyes and ears open for any kind of debugging tips so i just had to pick this one up.</li>
<li><a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260910825&#038;sr=1-1">Growing Object-Oriented Sofware, Guided By Tests</a>: i never knew about this book, but i happened to glance over it in a list of recommended books based on another book that i was buying at the time.  Once i spotted the &#8220;Kent Beck Signature Book&#8221;-series logo i clicked the &#8220;Add to shopping cart&#8221; button.  That&#8217;s right, i&#8217;m that big of a Kent Beck fanboy.</li>
<li><a href="http://www.amazon.com/Advanced-NET-Debugging-Mario-Hewardt/dp/0321578899/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260910962&#038;sr=1-1">Advanced .NET Debugging</a>: This is the book i got suckered into buying today&#8230; why? because <a href="http://blogs.msdn.com/tess/">Tess Ferrandez</a> recommended it.  Yup, i&#8217;m <em>that</em> easy.  Seriously though, how could it be bad?</li>
<li><a href="http://www.amazon.com/Writing-Secure-Second-Michael-Howard/dp/0735617228/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260911104&#038;sr=1-1">Writing Secure Code: 2nd Edition</a>: I started reading this about 2 months ago.  I&#8217;m currently at page 154.  It&#8217;s <em>that</em> boring.</li>
<li><a href="http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1260911188&#038;sr=1-1">Enterprise Integration Patterns</a>: As cool as i suspect this book to be, i still haven&#8217;t made it past the first chapter.  Which i started about 3 months ago.  It&#8217;s not that it&#8217;s boring, i actually think that messaging is very cool&#8230; but for some reason i can&#8217;t get myself to read this thoroughly when there are other things to do that are more relevant to what i need at work.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/12/i-buy-too-many-books/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Recommended Books: Ship It!</title>
		<link>http://davybrion.com/blog/2009/09/recommended-books-ship-it/</link>
		<comments>http://davybrion.com/blog/2009/09/recommended-books-ship-it/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:05:38 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1629</guid>
		<description><![CDATA[The subtitle of Ship It is &#8220;A Practical Guide To Successful Software Projects&#8221;, which it most certainly is. While it doesn&#8217;t cover nearly as much ground as The Art Of Agile Development, it does contain enough valuable information that will improve the way you attempt to deliver working software. That is, unless you&#8217;re already doing [...]]]></description>
			<content:encoded><![CDATA[<p>The subtitle of <a href="http://www.amazon.com/Practical-Guide-Successful-Software-Projects/dp/0974514047/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1252258619&#038;sr=8-1">Ship It</a> is &#8220;A Practical Guide To Successful Software Projects&#8221;, which it most certainly is.  While it doesn&#8217;t cover nearly as much ground as <a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1252258668&#038;sr=8-1">The Art Of Agile Development</a>, it does contain enough valuable information that will improve the way you attempt to deliver working software.</p>
<p>That is, unless you&#8217;re already doing things like Continuous Integration, automated testing and code reviews.  While these topics certainly aren&#8217;t the only practices that are discussed in the book, they are pretty much the practices &#8216;building blocks&#8217; that this book depends on.  If you&#8217;re already using these practices in your projects, then odds are that you won&#8217;t really learn anything new from this book.  However, if you&#8217;re not doing this, or your projects are just a mess and you really have problems delivering software, then this book will definitely help you to improve your situation.</p>
<p>The book first covers a couple of tools and the necessary infrastructure that you&#8217;ll need to successfully develop software.  Things that some of us will take for granted (source control, CI server, change notification, issue tracker, etc&#8230;) but that not everyone is using (apparently).  After that, some solid practices are covered, such as the importance of having a technical lead and the responsibilities that come with this job, communication and coordination between all team members, and extensive code review practices (this part was especially good IMO).  </p>
<p>The book then also covers &#8216;Tracer Bullet Development&#8217; which is an approach that the authors recommend for all projects.  It basically comes down to using a layered architecture that is loosely coupled and nicely encapsulated along with some good advice in general on how to get working functionality into your system quickly, yet sustainable.  Finally, the book closes with (usually) solid advice for a list of typical problems that many teams are suffering from.</p>
<p>Again, if you&#8217;re already using the practices that i mentioned in this review then you most likely will not really benefit from this book, and you&#8217;d be better off reading the Art Of Agile Development instead to improve what you&#8217;re already doing.   But if you&#8217;re not using any of these practices yet, this book should help you improve your working environment very quickly and rather easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/09/recommended-books-ship-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: NHibernate In Action</title>
		<link>http://davybrion.com/blog/2009/03/book-review-nhibernate-in-action/</link>
		<comments>http://davybrion.com/blog/2009/03/book-review-nhibernate-in-action/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 17:39:34 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[NHibernate]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1127</guid>
		<description><![CDATA[As far as Object Relational Mapping (ORM) in the .NET world goes, NHibernate is one of the more mature, powerful and popular options available. But learning how to use it properly can take some time. NHibernate In Action aims to lower that learning curve significantly. The first 2 chapters offer a general introduction to ORM, [...]]]></description>
			<content:encoded><![CDATA[<p>As far as Object Relational Mapping (ORM) in the .NET world goes, NHibernate is one of the more mature, powerful and popular options available.  But learning how to use it properly can take some time.  <a href="http://www.amazon.com/NHibernate-Action-Pierre-Henri-Kuat%C3%A9/dp/1932394923/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1237130779&#038;sr=8-1">NHibernate In Action</a> aims to lower that learning curve significantly.</p>
<p>The first 2 chapters offer a general introduction to ORM, some reasons why NHibernate is the authors&#8217; preferred ORM, and a step-by-step guide to creating your first NHibernate application.  Topics such as NHibernate&#8217;s (high-level) architecture and configuration are also covered here.</p>
<p>The book then proceeds to cover some important NHibernate concepts in depth.  First up, writing and mapping classes.  This particular chapter doesn&#8217;t cover really advanced mapping scenarios (a later chapter takes care of that), but it does cover most of your options very thoroughly.  This isn&#8217;t just basic mapping though.  You&#8217;ll already learn about various types of associations you can have and the three available strategies for inheritance mapping.</p>
<p>Once you&#8217;ve learned how you can map your objects, you can start working with them, which is what chapter 4 covers.  You&#8217;ll learn about the persistence lifecycle, working with transient/persistent/detached objects, dealing with object identity depending on the current state of your objects, transitive persistence (cascading options), and you are introduced to some of the possibilities for object retrieval.</p>
<p>Chapter 5 teaches you how to deal with transactions, the various options to deal with concurrency and it also covers NHibernate&#8217;s caching features very thoroughly.  All 3 of those topics should be very clear to you after this chapter <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After that, the authors revisit the subject of object mapping again in Chapter 6, this time covering some more advanced options.  The stuff you&#8217;ll learn about in this chapter is very interesting, but in most cases you won&#8217;t need these features.  But it&#8217;s good to know that they are there in case you need to handle more exotic mapping situations <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Chapter 7 is probably one of the most important chapters of the book, as it deals with various ways and methods to retrieve objects efficiently.  You&#8217;ll get great coverage of HQL in this chapter, and you&#8217;d be surprised how powerful it is.  In most cases, you&#8217;ll see the equivalent of the HQL statements using the Criteria API of NHibernate, but (and this is one the few gripes i have with this book) for some of the advanced concepts (namely projections and grouping) they completely ignore the Criteria API and focus solely on HQL.  I&#8217;m a pretty big fan of the Criteria API so i obviously find that a little bit disappointing.  It does cover pretty much everything else you want to know about querying with NHibernate though.  </p>
<p>The final 3 chapters deal with using NHibernate in the real world.  These chapters might be of use to people with little experience in (proper) software development, but i don&#8217;t really think most people will really get a lot of value out of these last 3 chapters.  Topics covered here: layered architecture, common design goals you should aim to achieve, some options with regard to generating code/mappings/database, dealing with legacy database structures and more.  Again, this might be interesting to some, but definitely not to all.</p>
<p>Overall, i would say that everyone working with NHibernate would benefit greatly from reading this book.  If you&#8217;re just getting started with NHibernate, it will indeed lower your learning curve significantly.  If you already have experience with NHibernate, you will most likely learn some tricks that you didn&#8217;t know about yet.  It&#8217;s a good book to read cover to cover, but at the same time it will be of great service to you as a reference book.  Chapter 3 through 7 especially are chapters you&#8217;ll probably revisit frequently while you are working with NHibernate.</p>
<p>There is one thing to keep in mind though&#8230; this book targets version 1.2 of NHibernate, which is a bit of an old release.  This is rather unfortunate since NHibernate 2.0 and 2.1 introduced a lot of great new features.  Obviously, these great new features aren&#8217;t covered here, but the most important things of working with NHibernate are all covered thoroughly so don&#8217;t let the 1.2 version number make you think that this book isn&#8217;t relevant to the current versions.  This book is by far the best source of information on how to get the most out of NHibernate. </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/book-review-nhibernate-in-action/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Book Review: 97 Things Every Software Architect Should Know</title>
		<link>http://davybrion.com/blog/2009/03/book-review-97-things-every-software-architect-should-know/</link>
		<comments>http://davybrion.com/blog/2009/03/book-review-97-things-every-software-architect-should-know/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 14:37:15 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1057</guid>
		<description><![CDATA[97 Things Every Software Architect Should Know isn&#8217;t really a book&#8230; it&#8217;s pretty much a collection of bits of wisdom and advice from a bunch of leading software architects. There are no chapters, there is no unifying theme, there is no structure whatsoever. There is just a lot of great content. Around 50 software architects [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/059652269X/ref=s9_sdps_c1_s3_p14_i1?pf_rd_m=ATVPDKIKX0DER&#038;pf_rd_s=center-1&#038;pf_rd_r=0B07DNCVC87D13V957YA&#038;pf_rd_t=101&#038;pf_rd_p=470938131&#038;pf_rd_i=507846">97 Things Every Software Architect Should Know</a> isn&#8217;t really a book&#8230; it&#8217;s pretty much a collection of bits of wisdom and advice from a bunch of leading software architects.  There are no chapters, there is no unifying theme, there is no structure whatsoever.  There is just a lot of great content.  Around 50 software architects contributed 97 pieces to the book, each one filling up about 2 (small) pages.  In a way, reading these pieces feels like reading great blog posts, though without the usual blogodrama.  It&#8217;s great stuff for when you want to spend an hour reading, or for when you have a couple of minutes to spare.  There&#8217;s even a <a href="http://97-things.near-time.net/wiki">website</a> which contains all of the original, unedited contributions so the cheapskates among you can read it all as well <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/book-review-97-things-every-software-architect-should-know/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Updated Reading List</title>
		<link>http://davybrion.com/blog/2009/03/updated-reading-list/</link>
		<comments>http://davybrion.com/blog/2009/03/updated-reading-list/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 21:56:50 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1035</guid>
		<description><![CDATA[As i mentioned recently, i&#8217;m taking advantage of the low value of the British Pound by ordering quite a few books through amazon.co.uk. I&#8217;ve recently ordered even more books, so i now have the following books lying around, waiting to be read: 97 Things Every Software Architect Should Know: this is one is pretty cool [...]]]></description>
			<content:encoded><![CDATA[<p>As i mentioned <a href="http://davybrion.com/blog/2009/02/books-on-my-reading-list/">recently</a>, i&#8217;m taking advantage of the low value of the British Pound by ordering quite a few books through <a href="http://amazon.co.uk">amazon.co.uk</a>.  I&#8217;ve recently ordered even more books, so i now have the following books lying around, waiting to be read:</p>
<ol>
<li><a href="http://www.amazon.com/Things-Every-Software-Architect-Should/dp/059652269X/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1235944059&#038;sr=8-1">97 Things Every Software Architect Should Know</a>: this is one is pretty cool so far&#8230; lot&#8217;s of great, short tips which makes it ideal to read while you&#8217;re taking a dump (Borrower Beware!)</li>
<li><a href="http://www.amazon.com/NHibernate-Action-Pierre-Henri-Kuat%C3%A9/dp/1932394923/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1235944084&#038;sr=1-1">NHibernate In Action</a>: This looks like it will be the definitive resource for using NHibernate properly.</li>
<li><a href="http://www.amazon.com/Data-Driven-Services-Silverlight-John-Papa/dp/0596523092/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1235944107&#038;sr=1-1">Data-Driven Services With Silverlight 2</a>: gotta increase that Silverlight knowledge.</li>
<li><a href="http://www.amazon.co.uk/Framework-Design-Guidelines-Conventions-Development/dp/0321545613/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233405779&#038;sr=8-1">Framework Design Guidelines, Second Edition</a>: this one was also on the previous list</li>
<li><a href="http://www.amazon.co.uk/Ship-Practical-Successful-Pragmatic-Programmers/dp/0974514047/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233406198&#038;sr=1-1">Ship It</a>: this one was also on the previous list</li>
<li><a href="http://www.amazon.co.uk/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233405970&#038;sr=1-1">Enterprise Integration Patterns</a>: this one was also on the previous list</li>
<li><a href="http://www.amazon.co.uk/Writing-Secure-Second-Michael-LeBlanc/dp/0735617228/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233406110&#038;sr=1-1">Writing Secure Code</a>: this one was also on the previous list</li>
</ol>
<p>I plan to read them in that order (unless you can convince to me change the order)</p>
<p>I also have a copy of <a href="http://www.amazon.com/Refactoring-Patterns-Addison-Wesley-Signature-Kerievsky/dp/0321213351/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1235944169&#038;sr=1-1">Refactoring To Patterns</a> lying around, which i borrowed from work&#8230; no idea when i&#8217;ll actually get to it though.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/updated-reading-list/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Book Review: Silverlight 2 In Action</title>
		<link>http://davybrion.com/blog/2009/03/book-review-silverlight-2-in-action/</link>
		<comments>http://davybrion.com/blog/2009/03/book-review-silverlight-2-in-action/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 21:28:48 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1022</guid>
		<description><![CDATA[I recently started working on a Silverlight project, and since i had no Silverlight experience at all, i ordered a copy of Chad Campbell and John Stockton&#8217;s Silverlight 2 In Action so i could quickly brush up on the subject. This book is a great resource for those who are new to Silverlight, as the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started working on a Silverlight project, and since i had no Silverlight experience at all, i ordered a copy of Chad Campbell and John Stockton&#8217;s <a href="http://www.amazon.com/Silverlight-2-Action-Chad-Campbell/dp/1933988428/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1235848699&#038;sr=8-1">Silverlight 2 In Action</a> so i could quickly brush up on the subject.  This book is a great resource for those who are new to Silverlight, as the authors gradually build up your understanding of Silverlight&#8217;s features and capabilities.  </p>
<p>While it probably doesn&#8217;t cover everything there is to know about Silverlight, it definitely covers most of the things you&#8217;ll be dealing with when developing with Silverlight.  However, it doesn&#8217;t really teach you how to build real-world applications with it.  There is very little focus on application architecture, so if you&#8217;re already familiar with Silverlight and want to learn how to properly build your applications with it, then this book is probably not for you.  But if you are new to Silveright or have little experience with it, then i would definitely recommend it to get to know what Silverlight can do for you, and for what you can do with Silverlight.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/book-review-silverlight-2-in-action/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Book Review: Building Domain Specific Languages in Boo</title>
		<link>http://davybrion.com/blog/2009/02/book-review-building-domain-specific-languages-in-boo/</link>
		<comments>http://davybrion.com/blog/2009/02/book-review-building-domain-specific-languages-in-boo/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 06:06:41 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=929</guid>
		<description><![CDATA[I always figured writing a Domain Specific Language (DSL) would be such a dauntingly complex task that the chances of me being able to pull it off would be slim to none. With that in mind, i was pretty interested in reading Ayende Rahien&#8217;s Building Domain Specific Languages in Boo to find out just how [...]]]></description>
			<content:encoded><![CDATA[<p>I always figured writing a Domain Specific Language (DSL) would be such a dauntingly complex task that the chances of me being able to pull it off would be slim to none.  With that in mind, i was pretty interested in reading <a href="http://ayende.com/about-me.aspx">Ayende Rahien&#8217;s</a> <a href="http://manning.com/rahien/">Building Domain Specific Languages in Boo</a> to find out just how difficult it would be.</p>
<p>In the first chapter of the book, Ayende mentions his success criteria for the book:</p>
<blockquote><p>
I hope that by the end of this book, you’ll feel that you are able to tackle problems in your<br />
domains and solve them by building Domain Specific Languages to solve those problems in<br />
an elegant manner.
</p></blockquote>
<p>Quite a goal, and i was very interested to see if he would be able to pull it off.  Let&#8217;s hold off with answering that question for now, and let&#8217;s go over the content of the book.</p>
<p>In the first chapter, Ayende basically brings you up to speed on the different kinds of DSL that you can create, covering pro&#8217;s and con&#8217;s of each approach.  Most importantly, he provides some answers as to why you would want to create your own DSL and discusses why he chooses to create DSL&#8217;s on top of the Boo language.</p>
<p>Chapter 2 gives a brief overview of the Boo language.  I didn&#8217;t know Boo yet, so this chapter was very useful and interesting for me.  You learn some basics of the language, and you&#8217;ll also find out why it&#8217;s such a good candidate to build your DSL on top off.  The only downside about this chapter is that i had to refrain myself from running off to go play around with Boo.  Boo seems very interesting and extremely powerful, and it definitely deserves more exposure within the .NET world.  </p>
<p>In the next 2 chapters, Ayende walks us through the implementation of a couple of DSLs (each has a different purpose), while continuously offering a lot of great advice and discussing many of the different decisions you can make while you&#8217;re building your DSL, including how you can integrate your DSL with your actual business domain API.  This is very nicely done, in a manner that makes you feel like you&#8217;re sitting right there with him as he is considering each possible direction to take.  After these 2 chapters, you already have a pretty good idea of what exactly is possible to do in your very own language.  We&#8217;re also introduced to Ayende&#8217;s open source Rhino DSL project, which already does some of the heavy lifting of actually making your DSL executable. </p>
<p>Chapter 5 deals with how you can actually integrate your DSL into your application.  A DSL can be very nice, but if it doesn&#8217;t integrate nicely with your application, it&#8217;s pretty useless isn&#8217;t it? That&#8217;s what this chapter is for.  Topics like storing of the DSL scripts, order of execution, performance implications, security considerations, dealing with errors and administration of scripts in general are all covered pretty nicely here.</p>
<p>Up until this point, most of the stuff in this book has been pretty easy to grasp.  Chapter 6 however might occasionally leave your head spinning.  This is where we get into making sure the compiler behaves the way we want it to.  Think about that.  As developers, we&#8217;re used to making sure that we comply with what the compiler expects from us.  Now we actually get to turn this around.  This chapter is by far the most difficult one in the book, but it is definitely important that you take the time to understand everything this chapter covers.  It&#8217;s basically about extending the capabilities of your language (instructing the Boo compiler on how to compile your DSL, introducing new keywords, or even modifying the behavior of existing language keywords) to provide the best possible experience for the consumers of your DSL.  Again, some parts might leave your head spinning.  Read them again and again until you get them because it&#8217;s not only very important to understand, it really is fascinating stuff.</p>
<p>The next chapter deals with the infrastructure you need to support your DSL, based on Rhino DSL.  You don&#8217;t need to use Rhino DSL, but it certainly makes a lot of the tasks involved easier to handle. </p>
<p>In chapter 8, Ayende covers the importance of testing your DSL, and how you can do it.  It not only covers how to create a testable DSL, it also shows you can extend the xUnit.NET testing framework to make it easier to write unit tests for your DSL scripts. </p>
<p>By now, you already know a lot about how to build a high quality DSL and how to integrate it with your application.  But there is more to it than just creating a fancy DSL and making it work.  You need to make sure that the DSL is maintainable in the long term, and that it is easily accessible and comprehensible for the intended users of the language.  The next 3 chapters deal with all of this.  Topics covered are multiple versioning strategies, properly documenting your DSL, and even creating a professional UI on top of your DSL.  A UI for a DSL you ask? Well, depending on the intended users, you might want to create a nice GUI on top of it, or you might want to create a bit of an IDE experience (complete with syntax highlighting and code completion).  All of these possibilities are also covered nicely in this book.  After that, Ayende covers a bunch of typical DSL implementation patterns that you&#8217;ll probably find very useful when creating your own DSL.</p>
<p>For those of you who are familiar with Ayende&#8217;s blog, you&#8217;ll be happy to know that the writing style is very similar.  It&#8217;s very engaging, it keeps you interested in the topic at hand throughout the book, and he often makes you marble at his ability to come up with simple and elegant solutions to difficult problems.  I used to be skeptical towards the actual value of creating your own DSL, but now i know that it is not only doable, there really are a lot of cases where it makes sense to create a DSL, more than i&#8217;d ever imagined.</p>
<p>I think Ayende achieved his goal.  I do think that i can now create a DSL, and i&#8217;m sure many of you would agree with me after reading this book.  In most cases, it&#8217;s pretty easy with this book by your side.  And for those cases where it gets hard, this book thoroughly covers all of your options.  Do yourself a favor and read this book, you won&#8217;t only learn a lot about DSL&#8217;s, but also about problem solving in general.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/02/book-review-building-domain-specific-languages-in-boo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Books On My Reading List</title>
		<link>http://davybrion.com/blog/2009/02/books-on-my-reading-list/</link>
		<comments>http://davybrion.com/blog/2009/02/books-on-my-reading-list/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 10:26:50 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=913</guid>
		<description><![CDATA[What does any self-respecting European development geek do when the British Pound&#8217;s value is so low? That&#8217;s right, he orders some books from amazon.co.uk to take advantage I now have the following books lying around here, all waiting to be read: Framework Design Guidelines, Second Edition Silverlight 2 In Action (yes that&#8217;s right&#8230; Silverlight&#8230; the [...]]]></description>
			<content:encoded><![CDATA[<p>What does any self-respecting European development geek do when the British Pound&#8217;s value is so low?  That&#8217;s right, he orders some books from <a href="http://amazon.co.uk">amazon.co.uk</a> to take advantage <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I now have the following books lying around here, all waiting to be read:</p>
<ul>
<li><a href="http://www.amazon.co.uk/Framework-Design-Guidelines-Conventions-Development/dp/0321545613/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233405779&#038;sr=8-1">Framework Design Guidelines, Second Edition</a></li>
<li><a href="http://www.amazon.co.uk/Silverlight-2-Action-Chad-Campbell/dp/1933988428/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233405874&#038;sr=1-1">Silverlight 2 In Action</a> (yes that&#8217;s right&#8230; Silverlight&#8230; the &#8216;cool kids&#8217; might not like it, but it really is an interesting platform that&#8217;s only going to get better and better in the next couple of years)</li>
<li><a href="http://www.amazon.co.uk/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233405970&#038;sr=1-1">Enterprise Integration Patterns</a> (i&#8217;ve been getting more and more intrigued with messaging so i figured it was time to spend some time learning more about this)</li>
<li><a href="http://www.amazon.co.uk/Writing-Secure-Second-Michael-LeBlanc/dp/0735617228/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233406110&#038;sr=1-1">Writing Secure Code</a> (i know waaaaay too little about writing secure code so this was also something i&#8217;ve wanted to study for a while now)</li>
<li><a href="http://www.amazon.co.uk/Ship-Practical-Successful-Pragmatic-Programmers/dp/0974514047/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1233406198&#038;sr=1-1">Ship It!</a></li>
</ul>
<p>I can&#8217;t wait to read each one of them, but the book i&#8217;m currently reading is Ayende&#8217;s <a href="http://manning.com/rahien/">Building Domain Specific Languages In Boo</a>.  I&#8217;ve only read the first 4 chapters so far, but it has already been fascinating.</p>
<p>How about you? Which books do you plan/hope to read in the near future?</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/02/books-on-my-reading-list/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Recommended Books: Behind Closed Doors, Secrets Of Great Management</title>
		<link>http://davybrion.com/blog/2009/01/recommended-books-behind-closed-doors-secrets-of-great-management/</link>
		<comments>http://davybrion.com/blog/2009/01/recommended-books-behind-closed-doors-secrets-of-great-management/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 19:17:00 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=833</guid>
		<description><![CDATA[I don&#8217;t really have any interest in management, but i read a great recommendation for this book recently (forgot the link) so i couldn&#8217;t resist ordering it. It consists of two parts. The first 120 pages is a bit of a story about a manager who was just hired to lead one of the departments [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t really have any interest in management, but i read a great recommendation for <a href="http://www.amazon.com/Behind-Closed-Doors-Management-Programmers/dp/0976694026/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1231699931&#038;sr=8-1">this book</a> recently (forgot the link) so i couldn&#8217;t resist ordering it.  It consists of two parts.  The first 120 pages is a bit of a story about a manager who was just hired to lead one of the departments of a software development company.  In between the story (which is an easy and interesting read), you&#8217;ll find lots of great insight into what great management is all about.  The last 40 pages are great descriptions of 13 management techniques.</p>
<p>This book is a must-read for anyone doing any kind of management (even if it&#8217;s just project management), and i&#8217;d even <a href="http://davybrion.com/blog/recommended-books">recommend</a> it to non-managers as well.  It is just filled with great insight, tips and things that everyone should know about, not just managers. </p>
<p>And for those of you who&#8217;re too lazy to read a book (and i know there&#8217;s at least a few of you <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), it&#8217;s only 160 pages so it&#8217;s not like this will eat up a lot of your time.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/01/recommended-books-behind-closed-doors-secrets-of-great-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recommended Books: Working Effectively With Legacy Code</title>
		<link>http://davybrion.com/blog/2008/09/recommended-books-working-effectively-with-legacy-code/</link>
		<comments>http://davybrion.com/blog/2008/09/recommended-books-working-effectively-with-legacy-code/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 14:20:05 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=456</guid>
		<description><![CDATA[Just finished reading Michael Feathers&#8217; Working Effectively With Legacy Code. The book&#8217;s main purpose is to teach you a lot of tricks on how to improve the testability of legacy code. As Feathers himself says, this book will not teach you how to go from bad legacy code to beautiful code in one go. That&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished reading Michael Feathers&#8217; <a href="http://www.amazon.com/Working-Effectively-Legacy-Robert-Martin/dp/0131177052/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1221919487&#038;sr=8-1">Working Effectively With Legacy Code</a>.  The book&#8217;s main purpose is to teach you a lot of tricks on how to improve the testability of legacy code.  As Feathers himself says, this book will not teach you how to go from bad legacy code to beautiful code in one go.  That&#8217;s not even possible anyway, unless you start rewriting the legacy code.  Instead, this book shows how you can take small incremental steps to get your code into a solid test harness which will then allow you to start refactoring to good code more safely.</p>
<p>The book is divided in 3 parts. The first discusses the mechanics of making changes in code. The second part consists of very conveniently titled chapters that discuss common problems when changing legacy code. Chapters with titles like &#8220;<em>I don&#8217;t have much time and i have to change it</em>&#8220;, &#8220;<em>How do I add a feature</em>&#8220;, &#8220;<em>I need to make a change, what methods should I test?</em>&#8220;, &#8220;<em>Dependencies on libraries are killing me</em>&#8220;, etc&#8230; You can quickly look at the table of contents and find the right chapter to help you with the problem you&#8217;re facing at that time.  The third part of the book contains a series of dependency breaking techniques that are referenced throughout the book.</p>
<p>If you are working on a legacy code base, do yourself a favor and get this book.  Put it next to your keyboard, and use it everyday.  You won&#8217;t regret it.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/09/recommended-books-working-effectively-with-legacy-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recommended Books: Clean Code</title>
		<link>http://davybrion.com/blog/2008/08/recommended-books-clean-code/</link>
		<comments>http://davybrion.com/blog/2008/08/recommended-books-clean-code/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 12:12:56 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=368</guid>
		<description><![CDATA[This week i read Robert C. Martin&#8217;s Clean Code book. With so many great books already available about writing good code, the first question i asked myself was: do we really need another one? The answer turns out to be YES! At around 350 pages (depending on which of the appendices you find useful), this [...]]]></description>
			<content:encoded><![CDATA[<p>This week i read Robert C. Martin&#8217;s <a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1220094179&#038;sr=8-1">Clean Code</a> book.  With so many great books already available about writing good code, the first question i asked myself was: do we really need another one? The answer turns out to be YES!</p>
<p>At around 350 pages (depending on which of the appendices you find useful), this book really covers a lot of ground, but in a concise (without being _too_ concise) way.  You&#8217;ll find the typical sound advice on using good names, writing good functions, good vs bad comments, formatting, abstractions, encapsulation, robustness, integrating third-party code, testing, refactoring, class design, system design, enabling emergent design and dealing with concurrency. After all of that, there are a couple of chapters where existing code is improved step by step.  To top it all off, the final chapter contains an extensive list of smells and heuristics.</p>
<p>Some of you are probably thinking that all of this looks rather familiar, especially if you&#8217;ve read books like Code Complete, Refactoring and Implementation Patterns.  And this book really doesn&#8217;t offer anything new that nobody ever wrote about before. It is however the best, and most accessible collection of good advice on good code and design that i&#8217;ve read so far. </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/08/recommended-books-clean-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Software Development Books: Investing In Yourself</title>
		<link>http://davybrion.com/blog/2008/08/software-development-books-investing-in-yourself/</link>
		<comments>http://davybrion.com/blog/2008/08/software-development-books-investing-in-yourself/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 18:32:53 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=354</guid>
		<description><![CDATA[I currently have 20 books in my list of recommended books. I&#8217;ve read all of those books in the past 2 years, which means i&#8217;m averaging about 10 books a year. That&#8217;s probably a bit much, and i have to admit i&#8217;ve been reading a bit less lately than i used to. But i&#8217;ve noticed [...]]]></description>
			<content:encoded><![CDATA[<p>I currently have 20 books in my list of <a href="http://davybrion.com/blog/recommended-books/">recommended books</a>. I&#8217;ve read all of those books in the past 2 years, which means i&#8217;m averaging about 10 books a year.  That&#8217;s probably a bit much, and i have to admit i&#8217;ve been reading a bit less lately than i used to.  But i&#8217;ve noticed that a lot of developers that i know hardly ever read books about software development.  Which is too bad, because those books really are a cheap way of investing in yourself and your career.</p>
<p>Well, perhaps cheap isn&#8217;t the best word to use. After all, some of these books are somewhat expensive, and buying a lot of them certainly adds up. But if you pick the right books, they are usually more than worth the money they cost. Besides, you shouldn&#8217;t just look at the price of the book. The most important thing to keep in mind is the knowledge and insight you can get from them. That typically depends on the type of books you buy though. I usually avoid books that are library/framework/language-specific, unless i am very interested in a specific topic. </p>
<p>The books that usually provide the biggest value are the ones that teach you things that you can use in any development environment. It can be about development methodologies, certain concepts or practices, patterns (not just design patterns but architectural patterns, coding patterns, testing patterns, &#8230;), as long as the knowledge is reusable.  These kinds of books allow you to learn from the experiences of some of the best people in this industry.  And the best thing about it is that you can learn a lot from these books in a few days (or weeks), even though it probably took the authors a couple of years to acquire that knowledge and experience.  Isn&#8217;t that one of the coolest forms of reuse you can think of?  </p>
<p>Now obviously, reading a couple of books won&#8217;t instantly put you on the same level as the authors, but at the very least it allows you to significantly increase your skills and insight with relatively little effort.  And when you start applying that knowledge, you can start reaping the benefits of it pretty soon.  It could definitely make your job easier.  It most likely will increase the quality of your output at work. It almost certainly increases your value as a software developer.</p>
<p>So do yourself (and everyone else) a favor, and read a good book on software development once in a while.  And if you need some help picking out the good books, just look <a href="http://davybrion.com/blog/recommended-books/">here</a> <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/08/software-development-books-investing-in-yourself/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Recommended Books: Programming WCF Services</title>
		<link>http://davybrion.com/blog/2008/08/recommended-books-programming-wcf-services/</link>
		<comments>http://davybrion.com/blog/2008/08/recommended-books-programming-wcf-services/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 18:01:57 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=283</guid>
		<description><![CDATA[I had very mixed feelings about this book while i was reading it. It was just so incredibly boring and pretty much impossible to continue reading for a few hours. My biggest mistake was that i was trying to read this book like i do every other book: cover to cover. And it really isn’t [...]]]></description>
			<content:encoded><![CDATA[<p>I had very mixed feelings about <a href="http://www.amazon.com/Programming-WCF-Services-Juval-Lowy/dp/0596526997/ref=pd_bbs_2?ie=UTF8&#038;s=books&#038;qid=1218402511&#038;sr=1-2">this book</a> while i was reading it. It was just so incredibly boring and pretty much impossible to continue reading for a few hours. My biggest mistake was that i was trying to read this book like i do every other book: cover to cover. And it really isn’t suited for that, unless you&#8217;re battling a sleeping disorder. It is however very valuable as a WCF reference book and if you plan on using it as such, then it definitely is worthy of recommendation. You’ll quickly find whatever it is you need to know about specific WCF area’s, but if your goal is to learn WCF, get Bustamante’s <a href="http://www.amazon.com/Learning-WCF-Hands-Michele-Bustamante/dp/0596101627/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1218391234&#038;sr=1-1">Learning WCF</a> instead. </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/08/recommended-books-programming-wcf-services/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C# In Depth</title>
		<link>http://davybrion.com/blog/2008/06/c-in-depth/</link>
		<comments>http://davybrion.com/blog/2008/06/c-in-depth/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 09:30:15 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=143</guid>
		<description><![CDATA[Finally finished reading Jon Skeet&#8217;s C# In Depth. This is the kind of book i&#8217;d been searching for for a a while: a book that only covers the language features instead of also spending time covering the basic .NET framework features which we&#8217;ve all read about more than enough already anyway. This means that the [...]]]></description>
			<content:encoded><![CDATA[<p>Finally finished reading Jon Skeet&#8217;s <a href="http://www.amazon.com/C-Depth-What-need-master/dp/1933988363/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1213434802&#038;sr=8-1">C# In Depth</a>.  This is the kind of book i&#8217;d been searching for for a a while: a book that only covers the language features instead of also spending time covering the basic .NET framework features which we&#8217;ve all read about more than enough already anyway. This means that the language features are covered very thoroughly, in a way you probably won’t find in any other C# book. There is a lot of very complex stuff here, but Jon Skeet manages to keep it all pretty easy to understand. You don’t really need this information to be a C# developer, but a lot of the content of the book will definitely improve your understanding of the language and depending on how you deal with that improved understanding, it enables you to do things in your code that you may never have thought were possible. The book basically covers all the important C# 2 and C# 3 features, completely skipping C# 1 except for highlighting some of its shortcomings. If you want to know everything there is to know about generics, nullable types, delegates, variable capturing with anonymous methods, implementing iterators, type inference, automatic properties, simplified initialization, anonymous types, lambda expressions and expression trees, extension methods, query expressions and how LINQ really works then this is the book for you. Well, you could study the C# lanuage specification but it won’t be near as clear as this book. </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/06/c-in-depth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release It!</title>
		<link>http://davybrion.com/blog/2008/05/release-it/</link>
		<comments>http://davybrion.com/blog/2008/05/release-it/#comments</comments>
		<pubDate>Sun, 18 May 2008 12:08:46 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=113</guid>
		<description><![CDATA[Just finished reading Release It! The subtitle of the book is: Design and deploy production-ready software. And this book really offers a lot of great advice on how to do exactly that. In the first two parts, patterns (and anti-patterns) are provided to show you how you can ensure stability and capacity in your systems. [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished reading <a href="http://www.amazon.com/Release-Production-Ready-Software-Pragmatic-Programmers/dp/0978739213/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1211111376&#038;sr=8-1">Release It!</a> The subtitle of the book is: Design and deploy production-ready software. And this book really offers a lot of great advice on how to do exactly that. In the first two parts, patterns (and anti-patterns) are provided to show you how you can ensure stability and capacity in your systems.  These two parts alone are already tremendously valuable, but there is a lot more goodness in this book. The book also gives excellent advice on how to configure your network of servers, security and passwords, load balancing and clustering, dealing with configuration files, making your system transparent for Operations and making your software adaptable to future changes. The author uses excellent real-word examples throughout the book to stress the importance of the advice he offers. When you skim over the table of contents before reading it, you might think not every part of this book will interest you as much as the others, but the author&#8217;s writing style really does keep everything at least interesting, and in most cases, even fascinating.  And often, quite funny as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/05/release-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Art Of Agile Development</title>
		<link>http://davybrion.com/blog/2008/05/the-art-of-agile-development/</link>
		<comments>http://davybrion.com/blog/2008/05/the-art-of-agile-development/#comments</comments>
		<pubDate>Thu, 08 May 2008 17:32:35 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://ralinx.wordpress.com/?p=111</guid>
		<description><![CDATA[Just finished reading James Shore &#38; Shane Warden&#8217;s The Art Of Agile Development. The title says it&#8217;s about agile development, but this book is very specifically about Extreme Programming, other agile methodologies aren&#8217;t covered. A lot of the content of this book applies to other agile methodologies as well though. This book does an amazing [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished reading James Shore &amp; Shane Warden&#8217;s <a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1210266909&amp;sr=8-1">The Art Of Agile Development</a>. The title says it&#8217;s about agile development, but this book is very specifically about Extreme Programming, other agile methodologies aren&#8217;t covered. A lot of the content of this book applies to other agile methodologies as well though.  This book does an amazing job of not only showing you what agile development ideally looks like, but also gives a lot of tips and helpful information on how to get to that point. After a thorough introduction on agile development and XP, the book covers a large list of XP values, principles and practices, grouped together in different categories: Thinking, Collaborating, Releasing, Planning and Developing. Each practice is covered very thoroughly and clearly. Finally, the book closes with a few more chapters on how to master your agility as a team after you&#8217;ve gotten used to the values, principles and practices covered earlier.  This is one of the best books on software development you&#8217;ll ever read.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/05/the-art-of-agile-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Modified list of recommended books</title>
		<link>http://davybrion.com/blog/2008/05/modified-list-of-recommended-books/</link>
		<comments>http://davybrion.com/blog/2008/05/modified-list-of-recommended-books/#comments</comments>
		<pubDate>Sun, 04 May 2008 16:19:48 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[About The Blog]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://ralinx.wordpress.com/?p=103</guid>
		<description><![CDATA[I kinda like my list of recommended books&#8230; it&#8217;s a very easy way to point someone to a good book or two But simply grouping them as &#8216;Must Read&#8217; and &#8216;Highly Recommended&#8217; was not such a good idea, so now i&#8217;ve grouped them in the following categories: Writing Code / Working With Code Software architecture/design [...]]]></description>
			<content:encoded><![CDATA[<p>I kinda like my list of recommended books&#8230; it&#8217;s a very easy way to point someone to a good book or two <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But simply grouping them as &#8216;Must Read&#8217; and &#8216;Highly Recommended&#8217; was not such a good idea, so now i&#8217;ve grouped them in the following categories:</p>
<ul>
<li>Writing Code / Working With Code</li>
<li>Software architecture/design</li>
<li>Language/Technology specific</li>
<li>Software development approaches/practices/methodologies</li>
</ul>
<p>Chech out the <a href="http://davybrion.com/blog/recommended-books/">list</a> and buy those books! The money you spend on them will be earned back continuously through the raises you&#8217;ll eventually get after properly using their knowledge <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/05/modified-list-of-recommended-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
