<?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>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Mon, 14 May 2012 21:08:36 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Reading: Kindle vs iPad</title><link>http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/</link> <comments>http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/#comments</comments> <pubDate>Sun, 11 Sep 2011 11:41:27 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category> <category><![CDATA[gadgets]]></category><guid
isPermaLink="false">http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/</guid> <description><![CDATA[I bought a Kindle about a year ago. I loved it from the start. Its screen is just about perfect for reading. Sunlight is no problem whatsoever. You can easily keep reading for hours and hours without your eyes getting tired. It's so light that you can hold it in pretty much every way imaginable [...]]]></description> <content:encoded><![CDATA[<p>I bought a Kindle about a year ago. I loved it from the start. Its screen is just about perfect for reading. Sunlight is no problem whatsoever. You can easily keep reading for hours and hours without your eyes getting tired. It's so light that you can hold it in pretty much every way imaginable without it becoming uncomfortable. The process of buying ebooks on Amazon and getting them delivered on the device automatically is just great. The process of buying ebooks from other stores and uploading them to your Kindle is smooth enough, provided that you buy the books in the Mobi format. The battery life still impresses me, even though it's almost a year old.</p><p>I also bought an iPad 2 as soon as it came out. I didn't buy it thinking it could replace my Kindle. I bought it because I thought I'd prefer using it over my Macbook for the times when I just want to <em>consume web-content</em>, instead of actually working on something. If I want to work on something, I use the Macbook. For entertainment, the iPad is more often used because of its superior form factor and ease of use. After a while, you sort of get spoiled by the iPad and its interface. I now expect to be able to use my fingers when I see a small screen without a keyboard attached to it. The auto-rotating screen has also become a must-have to me. The fact that I can quickly switch between apps, without being visually distracted by them, is something that I absolutely love. And I expect everything to just happen instantly whenever I trigger something.</p><p>Simply put: the iPad has spoiled me so much, that I now sort of dislike using my Kindle. I know the Kindle screen is easier on the eyes for long reading sessions. I know that reading in daylight is much better on the Kindle than on the iPad. I also know that I really dislike navigating using the Kindle controls. I hate switching between portrait and landscape mode on the Kindle. I hate that everything I do makes me wait, even if it's only half a second. And I really don't like the fact that I've caught myself switching between both devices to check Twitter or email. So a while ago, I installed the Kindle app on my iPad and tried it for a while. I haven't used my Kindle since. That's not to say that I no longer think that the Kindle is a good device. In fact, for its price I think it's a great device. But it really just loses a lot of its attraction once you're used to an iPad.</p><p>For Amazon's sake, I hope the <a
href="http://techcrunch.com/2011/09/02/amazon-kindle-tablet/">rumors</a> about the Kindle tablet are all true. I think they're going to need to go in the tablet direction if they want the Kindle brand to remain relevant over the next couple of years. I do wonder what that's going to mean for the future of e-ink though.</p><p>Note: I actually wrote this post on my iPad, using IA Writer. It's the first time I'm writing a post on the iPad, and it's unlikely to be the last.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F09%2Freading-kindle-vs-ipad%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/"  data-text="Reading: Kindle vs iPad" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/09/reading-kindle-vs-ipad/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Highly Recommended Book: REST In Practice</title><link>http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/</link> <comments>http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/#comments</comments> <pubDate>Sat, 05 Mar 2011 18:12:42 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Architecture]]></category> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=3167</guid> <description><![CDATA[A couple of months ago, i knew very little about REST and Restful services. Since it was increasingly getting more attention in the developer community, i wanted to find out what it was about. Luckily for me, O'Reilly had recently released REST In Practice and when it was listed as an O'Reilly Deal Of The [...]]]></description> <content:encoded><![CDATA[<p>A couple of months ago, i knew very little about REST and Restful services. Since it was increasingly getting more attention in the developer community, i wanted to find out what it was about. Luckily for me, O'Reilly had recently released <a
href="http://oreilly.com/catalog/9780596805838/">REST In Practice</a> and when it was listed as an <a
href="http://feeds.feedburner.com/oreilly/ebookdealoftheday">O'Reilly Deal Of The Day</a>, i bought it without thinking twice. Unfortunately, i temporarily stopped reading it about halfway through because i needed to finish some other books first, but i recently picked up where i left off.</p><p>Coming from the Microsoft world were SOAP services have for a long time been the norm in most projects, it's very interesting to see what REST is all about and how these Restful services are built.  If you don't know anything about REST, you might want to check out this <a
href="http://martinfowler.com/articles/richardsonMaturityModel.html">article</a> by Martin Fowler first. Obviously, you don't need to read that before you can read the book but it might pique your interest. The first chapter does a great job of introducing to the architecture of the Web and how the REST architectural style fits within it.  After that, you're introduced to the Restbucks example, which is used throughout the book to show you how Restful services can work.</p><p>The book then gradually starts diving deeper and deeper into the implementation of the Restful services for the Restbucks example. Everything is explained very clearly, and the authors continuously show both the requests and the responses that are going over the wire to illustrate what is going on at the HTTP level, which makes it even easier to understand everything that's being discussed.  After the explanations and request/response examples, there's typically a code-based example in either Java or .NET to show how you can implement these systems. After a while i just started skipping these examples entirely because i thought they didn't really bring any added benefit.  Though i'm sure some people will appreciate those examples being included as well.</p><p>Another great thing about this book is that it remains very clear and easy to follow, even though it covers <em>a lot</em> of ground. Here's a brief overview of the things you'll see implemented in the next couple of chapters:</p><ul><li>CRUD</li><li>Hypermedia (the engine of application state transformations)</li><li>Everything you need to know about caching</li><li>Event-driven services with Atom</li><li>Atom publishing</li><li>Security: authentication as well as authorization</li></ul><p>After that, there's a chapter on the semantic web and microformats, which i didn't find very interesting but others likely will. The final 2 chapters make for a great conclusion of the book. First, there's a pretty extensive comparison between the benefits and drawbacks of SOAP versus REST.  And finally, the last chapter covers when it makes sense to use REST and when it doesn't and ends with a recap of the major selling points of using the Web as a central building block of your architecture.</p><p>I grok the REST architectural style now, and definitely like it.  If you read this book with an open mind, i'd bet you'll like it a lot as well.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F03%2Fhighly-recommended-book-rest-in-practice%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/"  data-text="Highly Recommended Book: REST In Practice" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/03/highly-recommended-book-rest-in-practice/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Recommended Book: Apprenticeship Patterns</title><link>http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/</link> <comments>http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/#comments</comments> <pubDate>Mon, 28 Feb 2011 23:20:53 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=3146</guid> <description><![CDATA[I'm not a fan of the Software Craftsmanship movement. Well, i do love the goals and the principles behind it but i kinda dislike the terminology they've chosen to try to spread those goals and principles. It has this elitist connotation to it which just rubs a lot of people the wrong way. Instead of [...]]]></description> <content:encoded><![CDATA[<p>I'm not a fan of the Software Craftsmanship movement. Well, i do love the goals and the principles behind it but i kinda dislike the terminology they've chosen to try to spread those goals and principles.  It has this elitist connotation to it which just rubs a lot of people the wrong way.  Instead of trying to pull people in to the concept of continuous improvement, this whole "i'm an apprentice! i'm a journeyman! i'm a master!" thing just makes us look kinda stupid.  It's just rather off-putting to many of the people we ought to try to reach.  In fact, i wouldn't be surprised if this movement would've gotten more traction and less blog-o-drama if they'd simply called themselves the Continuous Improvement movement.  No silly metaphors that don't hold up in this day and age, no titles to be earned, no roles to be played.  Just people continuously trying to get better and helping others to improve as well.  Which sort of captures the essence of it, no? Alas, Software Craftsmanship it is.</p><p>It is with that opinion in mind that i was at first hesitant to read <a
href="http://oreilly.com/catalog/9780596518387/">Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman</a>.  But when i glanced over the <a
href="http://oreilly.com/catalog/9780596518387/#toc">table of contents</a>, i couldn't help but think that this is the kind of stuff i wished was available when i first started my career.  So i figured i had to give it a shot. And i'm glad i did. It's a very quick read (only 168 pages) but it does have a lot of great advice for people who want to become better developers.  The only downside about this book is that you have to continuously read about the whole apprentice/journeyman/master thing.  If the authors had left out the craftsmanship-fantasy and background, they probably could've gotten the exact same amount of great advice in just about 100 pages.</p><p>But again, despite the issues i have with the craftsmanship terminology, the actual content of this book is fantastic. I've been applying a lot of those patterns over the past couple of years and they've benefited me greatly. And there are a couple of them that i really want to incorporate in my 'routine' as well.  By reading this book, you'll either learn a lot about how you can make yourself better or if you feel like you're already there, you'll at least know of a reference to pass to other people you want to assist on their journey of Continuous Improvement. I'm sorry, i meant their apprenticeship.  It really is a blueprint to becoming a Jedi. I'm sorry, i meant master craftsman.  Or just a very valuable and great developer.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F03%2Frecommended-book-apprenticeship-patterns%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/"  data-text="Recommended Book: Apprenticeship Patterns" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/03/recommended-book-apprenticeship-patterns/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Recommended Book: HTML5 And CSS3: Develop With Tomorrow&#8217;s Standards Today</title><link>http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/</link> <comments>http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/#comments</comments> <pubDate>Tue, 22 Feb 2011 20:08:50 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=3079</guid> <description><![CDATA[Going by the hype surrounding HTML5, you'd think it's all about animations and taking away the need to use proprietary plugins like Flash and Silverlight. But there's plenty more interesting things in HTML5 (or the related technologies) which you can already start using in your web applications. Brian P. Hogan does an excellent job covering [...]]]></description> <content:encoded><![CDATA[<p>Going by the hype surrounding HTML5, you'd think it's all about animations and taking away the need to use proprietary plugins like Flash and Silverlight. But there's plenty more interesting things in HTML5 (or the related technologies) which you can already start using in your web applications. Brian P. Hogan does an excellent job covering a lot of them in this <a
href="http://pragprog.com/titles/bhh5/html5-and-css3">book</a>.</p><p>The first chapter gives you a good overview on what exactly HTML5 and CSS3 will allow you to do, and also contains a helpful list of tags and attributes that will be deprecated in the HTML5 specification.  After that, the book is split up in 3 larger parts:</p><ol><li>Improving User Interfaces</li><li>New Sights And Sounds</li><li>Beyond HTML5</li></ol><p>The first part consists of 4 chapters that cover how you can improve the things that you're already doing with HTML. You'll learn about new structural tags and attributes that help you avoid '<a
href="http://csscreator.com/divitis">divitis</a>', how you can create much better forms, and a bunch of new CSS selectors that'll make your CSS code much cleaner and easier.  Finally, you'll learn more about how to make sure that your pages are accessible to people who require assistive technology to browse your site/webapp.  What's really interesting about these chapters is that for each new thing that is discussed, fallback strategies for browsers that don't support the new features are covered as well.</p><p>The second part covers the features that most of the hype surrounding HTML5 is based on:  drawing on the canvas, embedding audio and video in your pages and some very interesting eye candy features from CSS3 such as rouding corners, drop shadows, element rotation, gradients and the improved font features.</p><p>The final part covers some technologies that are often associated with HTML5 but aren't actually part of the specification. Things like client-side storage options, managing browser-history, cross-document messaging, web sockets and geolocation.  Each of these are covered with clear examples.  The final chapter covers some topics that are likely to change in the near future but it gives you a good idea on what to expect from CSS transitions, web workers, WebGL, IndexedDB, Drag &amp; Drop and client-side validation.</p><p>Overall, the quality of writing is excellent, the examples are very clear and despite being a quick read at 231 pages (not counting the appendices) it covers quite a lot of interesting things, most of which you can indeed start using <em>today</em>.  This book won't make you an expert on any of the topics it covers though, nor is that its intention.  It is a great way to get started with these new features and technologies though, and encourages you to dig deeper.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F02%2Frecommended-book-html5-and-css3-develop-with-tomorrows-standards-today%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/"  data-text="Recommended Book: HTML5 And CSS3: Develop With Tomorrow&#8217;s Standards Today" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/02/recommended-book-html5-and-css3-develop-with-tomorrows-standards-today/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Recommended Book: jQuery In Action</title><link>http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/</link> <comments>http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/#comments</comments> <pubDate>Tue, 01 Feb 2011 19:53:55 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=3076</guid> <description><![CDATA[As good as the jQuery documentation is, i generally prefer to pick up a good book whenever i want to learn something new. And if you're new to jQuery, Manning's jQuery In Action is pretty much the perfect one to pick up. It (obviously) starts with the basics, moving further continuously while hardly ever showing [...]]]></description> <content:encoded><![CDATA[<p>As good as the <a
href="http://docs.jquery.com/Main_Page">jQuery documentation</a> is, i generally prefer to pick up a good book whenever i want to learn something new.  And if you're new to jQuery, Manning's <a
href="http://www.manning.com/bibeault2/">jQuery In Action</a> is pretty much the perfect one to pick up.  It (obviously) starts with the basics, moving further continuously while hardly ever showing too much new stuff at once.  You'll quickly become familiar with the basic principles that jQuery revolves around and the book then gradually builds upon that with each chapter.</p><p>I'm not going to go over everything that's covered in the book (just check out the table of content <a
href="http://www.manning.com/bibeault2/excerpt_contents.html">here</a>), but i can't imagine you'll have any questions left about jQuery after finishing this book. Everything is explained very clearly and thoroughly and the authors do an admirable job of avoiding boring parts.  The only times where it's (predictably) less interesting (though, i wouldn't call that boring) is when you're presented with lots of reference-like documentation.  In most cases, it's only a few pages but sometimes it's just a little bit too much.  That's pretty much the only bad thing that can be said about this book.</p><p>One thing that i would like to point out is that, in my opinion, previous experience with or knowledge of JavaScript isn't really a requisite before reading this book. The little JavaScript-specific knowledge that you need to be productive with jQuery (a testament to jQuery's elegance, clarity and overall quality) is covered in an appendix which will most likely be sufficient for most people, at least to those who're somewhat used to looking at other programming languages from time to time.  That's not to say that it's not worth learning more about JavaScript (some of the next books i'll read are specifically focused on JavaScript actually), i just don't think you need in-depth JavaScript knowledge to use jQuery effectively.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F02%2Frecommended-book-jquery-in-action%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/"  data-text="Recommended Book: jQuery In Action" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/02/recommended-book-jquery-in-action/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Current Reading List</title><link>http://davybrion.com/blog/2011/01/current-reading-list/</link> <comments>http://davybrion.com/blog/2011/01/current-reading-list/#comments</comments> <pubDate>Sun, 16 Jan 2011 18:26:09 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=3013</guid> <description><![CDATA[As i mentioned recently, i'm going to catch up with the rest of the world and learn about real web development. My preferred approach to learning something new is to read a couple of books about the subject(s) and just start exploring and experimenting. I just finished Dino Esposito's Programming ASP.NET MVC (haven't written a [...]]]></description> <content:encoded><![CDATA[<p>As i mentioned <a
href="http://davybrion.com/blog/2011/01/learn-to-work-with-the-web-instead-of-against-it/">recently</a>, i'm going to catch up with the rest of the world and learn about real web development.  My preferred approach to learning something new is to read a couple of books about the subject(s) and just start exploring and experimenting.  I just finished Dino Esposito's <a
href="http://www.amazon.com/Programming-Microsoft-ASP-NET-Dino-Esposito/dp/0735627142/ref=sr_1_3?ie=UTF8&#038;qid=1295200966&#038;sr=8-3">Programming ASP.NET MVC</a> (haven't written a review about it because i really can't recommend it to anyone with the possible exception of people who are dealing with a sleeping disorder) so now it's time to actually get into the whole client-side stuff.  So i've bought the following books which i hope to read in the coming weeks:</p><ul><li><a
href="http://www.manning.com/bibeault/">JQuery In Action, Second Edition</a></li><li><a
href="http://www.pragprog.com/titles/bhh5/html5-and-css3">HTML5 and CSS3: Develop with Tomorrow's Standards Today</a></li><li><a
href="http://oreilly.com/catalog/9780596806033/">HTML5 Up And Running</a></li><li><a
href="http://oreilly.com/catalog/9780596155940/">CSS Cookbook, Third Edition</a></li></ul><p>I haven't bought the following books yet, but probably will once i've gone through the books listed above:</p><ul><li><a
href="http://oreilly.com/catalog/9780596517748/">JavaScript: The Good Parts</a></li><li><a
href="http://oreilly.com/catalog/9780596806767/">JavaScript Patterns</a></li></ul><p>If anyone has any other good books on web-development they can recommend, please let me know <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2011%2F01%2Fcurrent-reading-list%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2011/01/current-reading-list/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2011/01/current-reading-list/"  data-text="Current Reading List" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2011/01/current-reading-list/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2011/01/current-reading-list/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2011/01/current-reading-list/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Highly Recommended Book: The Passionate Programmer</title><link>http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/</link> <comments>http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/#comments</comments> <pubDate>Sun, 19 Dec 2010 13:27:34 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2943</guid> <description><![CDATA[I always felt that, for all the great books about developing software that we have, there weren't enough on how to approach your career as a software developer. Thankfully, Chad Fowler's The Passionate Programmer (subtitle: Creating a Remarkable Career in Software Development) covers exactly that. It's a quick read at only 200 pages, but it's [...]]]></description> <content:encoded><![CDATA[<p>I always felt that, for all the great books about developing software that we have, there weren't enough on how to approach your career as a software developer.  Thankfully, Chad Fowler's <a
href="http://pragprog.com/titles/cfcar2/the-passionate-programmer">The Passionate Programmer</a> (subtitle: Creating a Remarkable Career in Software Development) covers exactly that. It's a quick read at only 200 pages, but it's filled to the brim with very wise advice.  The book consists of the following 5 parts:</p><ol><li>Choosing Your Market</li><li>Investing In Your Product</li><li>Executing</li><li>Marketing... Not Just For Suits</li><li>Maintaining Your Edge</li></ol><p>In these 5 parts, Chad offers a truckload of solid advice on things like figuring out which technologies to focus on, expanding your skill-set to more than just coding, improving yourself continuously, being as effective as you can be, getting the word out on how good you are, and making sure you keep improving as your career progresses.</p><p>Each part consists of multiple short chapters, each of which is kinda blog-post like in focus and length. Again, it's a very quick and easy read. And the electronic version is only $15.  The advice you get from this book is a lot more valuable than the time and money you'll put into it <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F12%2Fhighly-recommended-book-the-passionate-programmer%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/"  data-text="Highly Recommended Book: The Passionate Programmer" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/12/highly-recommended-book-the-passionate-programmer/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Recommended Book: NHibernate 3.0 Cookbook</title><link>http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/</link> <comments>http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/#comments</comments> <pubDate>Sun, 24 Oct 2010 21:07:05 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category> <category><![CDATA[NHibernate]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2840</guid> <description><![CDATA[The people from Packt Publishing asked me to review one of their new books, the NHibernate 3.0 Cookbook. I was a little hesitant at first to do yet another book review (don't worry, i'm gonna cut back on the reviews) but the NHibernate community needs a good, up to date NHibernate book and i was [...]]]></description> <content:encoded><![CDATA[<p>The people from <a
href="http://www.packtpub.com/">Packt Publishing</a> asked me to review one of their new books, the <a
href="https://www.packtpub.com/nhibernate-3-0-cookbook/book">NHibernate 3.0 Cookbook</a>.  I was a little hesitant at first to do yet another book review (don't worry, i'm gonna cut back on the reviews) but the NHibernate community needs a good, up to date NHibernate book and i was curious to see if this one could fill that void.</p><p>As the title says, it's a cookbook.  It consists of a bunch of recipes for a very large variety of NHibernate-related tasks.  These kind of books are usually pretty low on theory, but this one does a good job of backing up most of the recipes' practical steps with just enough of the background theory that you do need to use NHibernate effectively.  I still prefer the approach used in <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=1287952549&#038;sr=8-1">NHibernate In Action</a>, which is more heavy on theory, but that book unfortunately targets NHibernate 1.2.  This one covers a lot of the new things that have been introduced in NHibernate 2, 2.1 and the upcoming 3.0 version and as such, is the most suitable NHibernate book available right now.</p><p>I'm not gonna go over each chapter like i usually do, so if you want to get a a glimpse of what the book covers, just click <a
href="https://www.packtpub.com/toc/nhibernate-30-cookbook-table-contents">here</a>.  And as you can see, it covers quite a lot.  As usual with NHibernate books, i'd like to see a bit more pages being spent on querying, but this task only becomes harder as NHibernate keeps adding more querying API's.  Yes, both QueryOver and the LINQ Provider are covered.  Unfortunately, the whole chapter that deals with querying covers HQL, Criteria, QueryOver and LINQ in a mere 44 pages.  And while there are some examples of each, none of them are really covered in depth.  That's probably not the goal of this book, and it would indeed be hard for any book to cover all of those querying API's in depth while not boring the hell out of your readers, but it is something that a lot of readers are going to need to look into a bit more if they're going to use NHibernate in real applications.</p><p>But don't let my nitpicking on the querying chapter fool you.  This book is <em>very</em> useful to people who are new to NHibernate, and a lot of people who already have experience with it will learn a few new useful tricks or learn some things they didn't know yet.  And while it contains a lot of useful information, it also manages to be a pretty quick read.  And if you need any more convincing, just take a look at the price of the electronic version of this book <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F10%2Frecommended-book-nhibernate-3-0-cookbook%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/"  data-text="Recommended Book: NHibernate 3.0 Cookbook" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/10/recommended-book-nhibernate-3-0-cookbook/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Highly Recommended Book: ReWork</title><link>http://davybrion.com/blog/2010/10/highly-recommended-book-rework/</link> <comments>http://davybrion.com/blog/2010/10/highly-recommended-book-rework/#comments</comments> <pubDate>Sun, 17 Oct 2010 16:29:14 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2801</guid> <description><![CDATA[I don't own a business (yet), but i was very interested in reading this book from 2 people who managed to achieve huge results with a very small company. In this book, Jason Fried and David Heinemeier Hansson (aka DHH) share their insightful opinions on a variety of topics related to starting and running a [...]]]></description> <content:encoded><![CDATA[<p>I don't own a business (yet), but i was very interested in reading <a
href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745/ref=sr_1_1?ie=UTF8&#038;qid=1287237671&#038;sr=8-1">this book</a> from 2 people who managed to achieve huge results with a very small company.  In this book, Jason Fried and David Heinemeier Hansson (aka DHH) share their insightful opinions on a variety of topics related to starting and running a successful business.  Considering the fact that this is mostly a technical blog, the question that you're probably asking yourself right now is: is this book only useful to (aspiring) entrepreneurs, or is it useful for those of us who're perfectly happy with just being employees of a company?  I'll get back to that later on.</p><p>The book consists of 10 chapters, each of which deals with a coarse-grained topic like progress, productivity, competitors, hiring, evolution, culture, etc.  Each chapter consists of a set of 'posts' (think 'blog posts') about the topic at hand.  Most of them are pretty short, yet they all contain <em>a lot</em> of wisdom.  You might be very surprised by some of the advice they offer, or you might find yourself nodding in agreement from time to time.  Or even often, depending from person to person obviously.  They don't have all the answers, and in some cases they will tell you to avoid certain things while not telling you how you should do it instead.  But as they make clear in the beginning: it's actually a good thing to just go with the flow, see how things play out and deal with problems as they present themselves, and not before that.  Read their advice, stick to it, and you just might be able to prevent the otherwise inevitable slope to mediocrity that looms for pretty much every other company which sticks to mostly conventional ways of doing things.</p><p>So, is this book useful for you? If you're an entrepreneurial type, and you still don't know the answer to this question, then you really shouldn't be running your own business.  I'd also recommend this book to anyone who is working as an employee for the following two reasons: it'll either improve the way you do parts of <em>your</em> job depending on what your responsibilities are, or you'll figure out whether or not your current employers are worth working for in the long term <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  That's a win-win situation if you ask me.  The only people who won't really get any value out of this are people who are already 'institutionalized'... those who have been working in big companies for a while now and wouldn't be able to adapt to life without them.</p><p>I can imagine that quite a few people who read this review will still be skeptical (hi Ben!).  That is of course your prerogative but keep in mind that these guys do have a proven track record that few can match.  Read the book, and you'll understand why.  If you're still skeptical after reading the book, go out and prove them wrong. These guys would love it if you did.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F10%2Fhighly-recommended-book-rework%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/10/highly-recommended-book-rework/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/10/highly-recommended-book-rework/"  data-text="Highly Recommended Book: ReWork" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/10/highly-recommended-book-rework/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/10/highly-recommended-book-rework/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/10/highly-recommended-book-rework/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Recommended Book: DSLs In Action</title><link>http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/</link> <comments>http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/#comments</comments> <pubDate>Sat, 09 Oct 2010 12:47:54 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2769</guid> <description><![CDATA[I was recently asked by Manning to review their upcoming book on DSLs, called DSLs In Action. Obviously, i agreed to the review because not only does that mean i get a free book, it's also on a topic that i happen to be very interested in right now because we're writing a DSL at [...]]]></description> <content:encoded><![CDATA[<p>I was recently asked by Manning to review their upcoming book on DSLs, called <a
href="http://www.manning.com/ghosh/">DSLs In Action</a>.  Obviously, i agreed to the review because not only does that mean i get a free book, it's also on a topic that i happen to be very interested in right now because we're writing a DSL at work.  Let's go over the contents of the book, shall we?</p><p>The first chapter is an introduction to the importance of everyone involved with a project speaking the same language and DSLs in general, including a good listing of the benefits and drawbacks of implementing a DSL. If you've already done any kind of DSL implementation, there's nothing new for you in this chapter, though it is a very good introduction to people who are new at it and want to learn more about it.</p><p>Chapter 2 wastes no time in showing you how you can start building your own DSL. The first example is done in Java, but is quickly superseded by a Groovy implementation which is far more expressive than its Java counterpart.  The author then covers some DSL implementation patterns for both internal and external DSLs, and then discusses some of the factors you need to keep in mind when deciding to go with an internal DSL (running within the context of a host language) or an external DSL (stands on its own without having to run inside a host language).  Chapter 3 covers some of the topics that you'll definitely need to be aware of when implementing a DSL, such as patterns for integration of your DSL with the actual application that you're building (both in the context of internal as well as external DSLs), dealing with errors and exceptions, and finally, some performance related factors worth keeping in mind.</p><p>The next 3 chapters cover internal DSLs exclusively.  Chapter 4 discusses a set of implementation patterns for internal DSLs, such as leaning on meta-programming techniques, taking advantage of typed-abstractions, runtime generation, and macros for compile time code generation.  Obviously, the applicability of these techniques depends on which language you're using, and are nicely illustrated with examples in Ruby, Groovy and Scala.  Chapter 5 covers the implementation of a DSL in each of the following languages: Ruby, Groovy and Clojure.  Again, the examples do a nice job of highlighting each language's strong points and what kind of results you can get from them.  To conclude the chapter, a nice list of common pitfalls that you need to avoid is discussed.  The next chapter covers the implementation of a DSL in Scala.  It's very heavy on the Scala usage (obviously) and was IMO, one of the two most difficult chapters of the book.  If you're familiar with Scala, it'll probably be much easier to get through though but a lot of interesting stuff is covered, even if you don't quite understand all of the syntax. And the resulting examples of the implemented DSLs are the most expressive ones in the entire book, at least as far as internal DSLs are concerned.</p><p>After this extensive look at implementing internal DSLs, the next 2 chapters shift their focus to the implementation of external DSLs.  I was very curious to see how this would turn out because up until now, i'd never bothered to look into the creation of external DSLs because i thought it would be far too complex.  After reading those 2 chaptes, i'm glad to say that while it's no trivial task, it's not exactly rocket science either.  You'll see examples of how to define the grammar of your language using EBNF notation, and how you can leverage the power of libraries like ANTLR to make the whole task of parsing your DSL much easier.  You'll also see some interesting examples using XText which is more of a DSL workbench.  Chapter 8 takes you back to the Scala world to show you can use Parser Combinators in Scala to write an external DSL.  This chapter is once again very complex, but very interesting at the same time. The book then concludes with a short final chapter where the author looks forward to the future of DSL based development.</p><p>All in all, there is a lot of very interesting and useful information in this book.  You'll learn a lot of the things that you'll need to know about to make an informed decision as to which approaches you should following when implementing a DSL.  You'll also learn a lot of cool tricks to make your DSLs as expressive as they can be. I can't think of a better book to get you started with DSL development. The only thing that prevents me from labeling this as a Highly Recommended book is that it doesn't cover some of the topics you need to learn about to make sure your success with a DSL is sustainable in the long term.  Things like testing your DSL, backwards compatibility, versioning, etc are not covered and it is somewhat missed.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F10%2Frecommended-book-dsls-in-action%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/"  data-text="Recommended Book: DSLs In Action" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/10/recommended-book-dsls-in-action/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Evolving Reading Interests, Part Two</title><link>http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/</link> <comments>http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/#comments</comments> <pubDate>Wed, 06 Oct 2010 17:13:41 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2741</guid> <description><![CDATA[One of the results of my recent Kindle purchase is that my craving for new books and knowledge has grown to a level that i haven't quite experienced before. It's gotten so bad that i'm starting to feel like Johnny 5, the malfunctioning robot with a strong addiction to continuous processing of new data from [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://davybrion.com/blog/wp-content/uploads/2010/10/johnny5.jpg" rel="prettyPhoto[2741]"><img
src="http://davybrion.com/blog/wp-content/uploads/2010/10/johnny5-246x300.jpg" alt="" title="johnny5" width="246" height="300" class="aligncenter size-medium wp-image-2744" /></a></p><p>One of the results of my recent Kindle purchase is that my craving for new books and knowledge has grown to a level that i haven't quite experienced before.  It's gotten so bad that i'm starting to feel like Johnny 5, the malfunctioning robot with a strong addiction to continuous processing of new data from the terrible 80's movie <a
href="http://en.wikipedia.org/wiki/Short_Circuit">Short Circuit</a> (sidenote: while reading that wikipedia entry i was shocked to read that they plan on releasing a remake of that movie in 2011... you have been warned!).</p><p>I've got a bunch of technical books on my reading list, but my thirst for knowledge can't be satisfied solely by expanding my technical knowledge.  I need more.  Luckily for me, i learned the value of seeking other kinds of knowledge and understanding <a
href="http://davybrion.com/blog/2010/05/evolving-reading-interests/">earlier this year</a> and after a random browsing session through the Amazon store i quickly accumulated a rather large list of books that i'd love to read.  Listed below are the 15 books i plan on reading first.  I either include a small snippet from the Product Description or a featured review on Amazon, or my own reasons for wanting to read it.</p><ol><li> <a
href="http://www.amazon.com/Guns-Germs-Steel-Societies-ebook/dp/B000VDUWMC/ref=tmm_kin_title_0?ie=UTF8&#038;m=A36UWAQAV1U1MD&#038;qid=1286110890&#038;sr=8-1">Guns, Germs And Steel: The Fates Of Human Societies</a><p><blockquote>Most of this work deals with non-Europeans, but Diamond's thesis sheds light on why Western civilization became hegemonic: "History followed different courses for different peoples because of differences among peoples' environments, not because of biological differences among peoples themselves." Those who domesticated plants and animals early got a head start on developing writing, government, technology, weapons of war, and immunity to deadly germs.</blockquote>As if that isn't compelling enough, it was recommended to me by the one and only <a
href="http://kilfour.wordpress.com/">Mark Meyers</a>, which means that at the very least it should be very interesting.  I'm currently about one third of the way through this, and it is indeed very interesting <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p></li><li> <a
href="http://www.amazon.com/ReWork-ebook/dp/B003ELY7PG/ref=wl_it_dp_o?ie=UTF8&#038;coliid=INIJU0L28SAFW&#038;colid=BGHQG43Q7SSQ">ReWork</a><p><blockquote>This book will make you uncomfortable. Depending on what you do all day, it might make you extremely uncomfortable. That's a very good thing, because you deserve it. We all do. Jason and David have broken all the rules and won. Again and again they've demonstrated that the regular way isn't necessarily the right way. They just don't say it, they do it. And they do it better than just about anyone has any right to expect.</blockquote>A book from people who've broken the rules and won? I'd be lying if i said i could resist that.</p></li><li> <a
href="http://www.amazon.com/Made-to-Stick-ebook/dp/B0031RS2XG/ref=tmm_kin_title_0?ie=UTF8&#038;m=A36UWAQAV1U1MD&#038;qid=1286110679&#038;sr=8-1">Made To Stick</a><p><blockquote>Drawing extensively on psychosocial studies on memory, emotion and motivation, their study is couched in terms of "stickiness"—that is, the art of making ideas unforgettable.</blockquote></p></li><li> <a
href="http://www.amazon.com/Leadership-Self-Deception-Getting-out-ebook/dp/B0035ZDP0Y/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I3PXY55EQ3OGUJ&#038;colid=BGHQG43Q7SSQ">Leadership and Self-Deception: Getting out of the Box</a><p><blockquote>Learning how the process of self-deception works--and how to avoid it and stay in touch with our innate sense of what's right--is at the heart of the book. We follow Tom, an old-school, by-the-book kind of guy who is a newly hired executive at Zagrum Corporation, as two senior executives show him the many ways he's "in the box," how that limits him as a leader in ways he's not aware of, and of course how to get out. This is as much a book about personal transformation as it is about leadership per se. The authors use examples from the characters' private as well as professional lives to show how self-deception skews our view of ourselves and the world and ruins our interactions with people, despite what we sincerely believe are our best intentions.</blockquote></p></li><li> <a
href="http://www.amazon.com/God-Hates-Hate-Back-ebook/dp/B0037Z70H6/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I3BW2V8I7L32BH&#038;colid=BGHQG43Q7SSQ">God Hates You, Hate Him Back: Making Sense of The Bible</a><p><blockquote>God Hates You, Hate Him Back makes the ultimate case for the claim that the God of the Bible is the most wicked character in the pages of history. With a wit as dry as a martini, and the cross examination techniques of a seasoned lawyer, CJ Werleman lays out all sixty-six chapters of the Bible to present an irrefutable argument that indeed God hates us all. If you have never read or never fully understood The Bible then you will do no better than this unique, comedic, 21st century summary of the greatest story ever sold, or in Werleman’s own words ‘never read’. God Hates You, Hate Him Back provides you with an arsenal of Biblical facts, stories, mythology and assertions to ensure you victory in your next religious debate.</blockquote>If any of my Christian readers are offended by this, please try to keep in mind that while i have my own views and beliefs, i respect and appreciate the fact that yours might be different from mine.  So don't start bitching about religion in the comments, plskthx.</p></li><li> <a
href="http://www.amazon.com/Linchpin-ebook/dp/B00371V91S/ref=wl_it_dp_o?ie=UTF8&#038;coliid=IF22WPVNOSG5J&#038;colid=BGHQG43Q7SSQ">Linchpin</a><p><blockquote>By Seth’s definition, an artist is not just some person who messes around with paint and brushes, an artist is somebody who does (and I LOVE this term) “emotional work.”  Work that you put your heart and soul into. Work that matters. Work that you gladly sacrifice all other alternatives for. As a working artist and cartoonist myself, I know exactly what he means. It’s not what you do, it’s the way that you do it. The only people who have a hope of becoming linchpins in any organization, who have any hope of changing anything for the better in real terms, are those who have the capacity to do “emotional work” at a high level—to be true artists at whatever they set their minds on doing. The guys who just plod around the office corridors, just turning up for their paycheck.... Well, those guys don’t have a prayer, poor things. The world is just too interesting and competitive now.</blockquote></p></li><li> <a
href="http://www.amazon.com/Making-Ideas-Happen-ebook/dp/B003E2UPZQ/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I1497H3AP5FPST&#038;colid=BGHQG43Q7SSQ">Making Ideas Happen</a><p><blockquote>Though creation always begins with an idea, ideas don't always lead to creation; examining why that's so, online entrepreneur Belsky finds that, no matter how unique or radically different ideas may be, the individuals and teams who carry those ideas to fruition share a number of common traits, such as engaging peers and leveraging communal forces. In this guide to realizing ideas, Belsky examines those traits in detail.</blockquote></p></li><li> <a
href="http://www.amazon.com/Talk-Less-Say-More-ebook/dp/B002RTINEC/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I2IOJRQGHRD2QL&#038;colid=BGHQG43Q7SSQ">Talk Less, Say More: Three Habits to Influence Others and Make Things Happen</a><p><blockquote>Communication is the single greatest challenge in business today. It takes just 3 habits to conquer it. Talk Less, Say More  will help you achieve more with less. Less wordiness. Less tune-out. Less frustration. You'll gain more time. More positive outcomes. More rewarding relationships.</blockquote></p></li><li> <a
href="http://www.amazon.com/Influencer-Power-Change-Anything-ebook/dp/B000UZJQSM/ref=wl_it_dp_o?ie=UTF8&#038;coliid=IN2EYR5R6FUW0&#038;colid=BGHQG43Q7SSQ">Influencer: The Power To Change Anything</a><p><blockquote>An influencer motivates others to change, An influencer replaces bad behaviors with powerful new skills. An influencer makes things happen. This is what it takes to be an influencer. Whether you're a CEO, a parent, or merely a person who wants to make a difference, you probably wish you had more influence with the people in your life. But most of us stop trying to make change happen because we believe it is too difficult, if not impossible. We develop complicated coping strategies when we should be learning the tools and techniques of the world's most influential people. But this is about to change. From the bestselling authors who taught the world how to have Crucial Conversations comes Influencer, a thought-provoking book that combines the remarkable insights of behavioral scientists and business leaders with the astonishing stories of high-powered influencers from all walks of life.</blockquote></p></li><li> <a
href="http://www.amazon.com/Power-Some-People-Others-ebook/dp/B003V1WSZK/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I3UQAUCPA782LA&#038;colid=BGHQG43Q7SSQ">Power: Why Some People Have It, And Others Don't</a><p><blockquote>Political skill, not just talent, is central to success in every field. In Power, this leading scholar comes down to earth with practical, even contrarian, tactics for mastering the power game.</blockquote></p></li><li> <a
href="http://www.amazon.com/Five-Minds-Future-ebook/dp/B001E53R2I/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I3JPL7QEWWXSBG&#038;colid=BGHQG43Q7SSQ">5 Minds For The Future</a><p><blockquote>Gardner uses a variety of explanatory models, from developmental psychology to group dynamics, demonstrating their utility not just for individual development, but for tangible success in a full range of human endeavors, including education, business, science, art, politics and engineering. A tall order for a single work, Gardner avoids overly-technical arguments as well as breezy generalizations, putting to fine use his twenty years experience as a cognitive science researcher, author and educator, and proving his world-class reputation well-earned. Though specialists might wish Gardner dug a bit more into the research, most readers will find the book lively and engaging, like the fascinating lectures of a seasoned, beloved prof.</blockquote></p></li><li> <a
href="http://www.amazon.com/UnMarketing-Marketing-Start-Engaging-ebook/dp/B0041D8VDA/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I2AR3PVKVBKZH3&#038;colid=BGHQG43Q7SSQ">UnMarketing: Stop Marketing, Start Engaging</a><p><blockquote>Marketing expert Scott Stratten focuses on a Pull &#038; Stay method (pulling your market towards you and staying/engaging with them, leading them to naturally choose you for their needs) rather than Push &#038; Pray</blockquote></p></li><li> <a
href="http://www.amazon.com/Moral-Landscape-Science-Determine-ebook/dp/B003V1WT72/ref=wl_it_dp_o?ie=UTF8&#038;coliid=IQIQZ77HW4UUB&#038;colid=BGHQG43Q7SSQ">The Moral Landscape: How Science Can Determine Human Values</a><p><blockquote>In this explosive new book, Sam Harris tears down the wall between scientific facts and human values, arguing that most people are simply mistaken about the relationship between morality and the rest of human knowledge. Harris urges us to think about morality in terms of human and animal well-being, viewing the experiences of conscious creatures as peaks and valleys on a "moral landscape." Because there are definite facts to be known about where we fall on this landscape, Harris foresees a time when science will no longer limit itself to merely describing what people do in the name of "morality"; in principle, science should be able to tell us what we ought to do to live the best lives possible. Bringing a fresh perspective to age-old questions of right and wrong and good and evil, Harris demonstrates that we already know enough about the human brain and its relationship to events in the world to say that there are right and wrong answers to the most pressing questions of human life. Because such answers exist, moral relativism is simply false—and comes at increasing cost to humanity. And the intrusions of religion into the sphere of human values can be finally repelled: for just as there is no such thing as Christian physics or Muslim algebra, there can be no Christian or Muslim morality.</blockquote></p></li><li> <a
href="http://www.amazon.com/The-Winners-Brain-ebook/dp/B003DYGOIW/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I1BR1DBJZGZ65H&#038;colid=BGHQG43Q7SSQ">The Winner's Brain</a><p><blockquote>In The Winner-s Brain, Drs. Jeffrey Brown and Mark J. Fenske use cutting-edge neuroscience to identify the secrets of those who succeed no matter what-and demonstrate how little it has to do with IQ or upbringing. Through simple everyday practices, Brown and Fenske explain how to unlock the brain-s hidden potential</blockquote></p></li><li> <a
href="http://www.amazon.com/Different-Escaping-Competitive-Herd-ebook/dp/B0036S4CNE/ref=wl_it_dp_o?ie=UTF8&#038;coliid=I11C8LLBTRA57O&#038;colid=BGHQG43Q7SSQ">Different: Escaping The competitive Herd</a><p><blockquote>If there is one strain of conventional wisdom pervading every company in every industry, it’s the absolute importance of “competing like crazy.” Youngme Moon’s message is simply “Get off this treadmill that’s taking you nowhere. Going tit for tat and adding features, augmentations, and gimmicks to beat the competition has the perverse result of making you like everyone else.” Different provides a highly original perspective on what it means to offer something that is meaningfully different—different in a manner that is both fundamental and comprehensive.</blockquote></p></li></ol><p>That's it :p.  I have no idea how long it'll take me to read those books, but i suspect that it'll at least take me a year.  And after that, i can start working on the other 40+ titles on my wish list <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F10%2Fevolving-reading-interests-part-two%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/"  data-text="Evolving Reading Interests, Part Two" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/10/evolving-reading-interests-part-two/feed/</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>Recommended Book: IronRuby Unleashed</title><link>http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/</link> <comments>http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/#comments</comments> <pubDate>Sat, 02 Oct 2010 14:21:56 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2726</guid> <description><![CDATA[As soon as i had a shot at using IronRuby at work, i searched for some books that thoroughly covered IronRuby since the documentation of IronRuby is, unfortunately, rather lacking. I only found 3 titles: IronRuby Unleashed, IronRuby In Action, and Professional IronRuby. Seeing as how IronRuby Unleashed is the only one that is actually [...]]]></description> <content:encoded><![CDATA[<p>As soon as i had a shot at using IronRuby at work, i searched for some books that thoroughly covered IronRuby since the documentation of IronRuby is, unfortunately, rather lacking.  I only found 3 titles: <a
href="http://www.amazon.com/IronRuby-Unleashed-Shay-Friedman/dp/0672330784/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1286026218&#038;sr=8-2">IronRuby Unleashed</a>, <a
href="http://www.amazon.com/IronRuby-Action-Ivan-Porto-Carrero/dp/1933988614/ref=sr_1_2?ie=UTF8&#038;qid=1286026427&#038;sr=8-2">IronRuby In Action</a>, and <a
href="http://www.amazon.com/Professional-IronRuby-Aaron-Junod/dp/0470377089/ref=sr_1_5?ie=UTF8&#038;qid=1286026427&#038;sr=8-5">Professional IronRuby</a>.  Seeing as how IronRuby Unleashed is the only one that is actually available (Professional IronRuby's page on amazon shows a release date of June 2009 but it can't be ordered nor can i find a reference to the book on the publisher's website and IronRuby In Action isn't out yet), i ordered it right away.</p><p>This book covers a lot of ground.  It starts off with a short introduction to the Dynamic Language Runtime and IronRuby and follows that up with some basic coverage of the Ruby language.  If you already know Ruby, you can obviously skip this part since there won't be anything new for you here.  If you're not familiar with Ruby yet and just want to learn about Ruby and how to use it together with .NET, you'll definitely appreciate this part, though i would <a
href="http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/">recommend picking up The Ruby Programming Language</a> to learn it more thoroughly.</p><p>Things get more interesting after this part, with a chapter dedicated to the fundamentals of interoperability between .NET and Ruby, more specifically: how .NET types and concepts can be used from Ruby code.  The chapter after that takes a close look at how you can write Ruby classes that inherit from .NET classes.  The next couple of chapters focus mostly on writing Ruby code that takes advantage of some .NET specific technologies, like ADO.NET, Windows Forms, WPF, ASP.NET MVC (there's also a chapter on Ruby On Rails btw) and Silverlight.  Some of those chapters spend a little too much time explaining concepts that are related to the actual .NET technology that's being discussed instead of focusing more closely on writing Ruby code that takes advantage of those .NET pieces, but generally speaking they do a great job of covering many of the possibilities that you have with IronRuby.</p><p>You'll then learn about some of the options you have for writing automated tests in Ruby (either to test your .NET code, or to just test your Ruby code that runs on .NET).  This chapter also contains introductions to 2 of the frameworks that the .NET world continuously tries to emulate: RSpec and Cucumber.  After that, you (finally) get to the topic that interests me the most: using Ruby code from C#.  This is a topic that never gets enough attention IMO.  I wish you could find more information about this online, but it seems that few people who're using IronRuby are interested in consuming Ruby code from .NET instead of going the other way around (consuming .NET from Ruby).  Anyways, it's good that this book covers some of the essentials of doing this.  The book then concludes with a chapter on extending IronRuby with 'native' .NET extensions.  This is interesting as well, though it's important to realize when (and when not) to use this.</p><p>It's not the greatest book on programming you'll ever read, as some of the examples could've been better IMO, or more extensive.  Then again, it's the only available book on IronRuby at the moment, and it definitely covers a lot of stuff.  It's easy to follow, and you'll definitely get a good view on all of your options with regards to combining Ruby and .NET.  In short: if you're interested in combining Ruby with .NET, this book is definitely worth buying.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F10%2Frecommended-book-ironruby-unleashed%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/"  data-text="Recommended Book: IronRuby Unleashed" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/10/recommended-book-ironruby-unleashed/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Review: Kindle 3</title><link>http://davybrion.com/blog/2010/09/review-kindle-3/</link> <comments>http://davybrion.com/blog/2010/09/review-kindle-3/#comments</comments> <pubDate>Sun, 26 Sep 2010 14:36:07 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category> <category><![CDATA[gadgets]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2703</guid> <description><![CDATA[I ordered a Kindle 3 (WiFi only) on September 8th, and it was delivered last week, on September 22th. I've only had it for 4 days now, but i think i've done enough reading with it already to write a review of it. When i took it out of the packaging i was immediately impressed [...]]]></description> <content:encoded><![CDATA[<p>I ordered a Kindle 3 (WiFi only) on September 8th, and it was delivered last week, on September 22th.  I've only had it for 4 days now, but i think i've done enough reading with it already to write a review of it.  When i took it out of the packaging i was immediately impressed with its size. It really is that small and thin, though it's not too small or too thin.  Its weight is ideal as well.  Because of its ideal size and weight, you can easily and comfortably hold it for hours on end:</p><p><a
href="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010954.png" rel="prettyPhoto[2703]"><img
src="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010954-768x1024.png" alt="" title="P1010954" width="500" height="667" class="aligncenter size-large wp-image-2704" /></a></p><p>As you may have noticed from this picture (click on it to see it in its full size), the screen is really the killer feature of the Kindle.  Text is crystal-clear, and remains that way even if you change your viewing angle:</p><p><a
href="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010955.png" rel="prettyPhoto[2703]"><img
src="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010955-768x1024.png" alt="" title="P1010955" width="500" height="667" class="aligncenter size-large wp-image-2705" /></a></p><p>Even when looking at it from the side, the text is still as clear as it would be on actual paper:</p><p><a
href="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010956.png" rel="prettyPhoto[2703]"><img
src="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010956-1024x768.png" alt="" title="P1010956" width="667" height="500" class="aligncenter size-large wp-image-2706" /></a></p><p>Most importantly, the impact of direct light on the screen is minimal.  In the following picture, the camera flash was directed straight at the screen and IMO, the impact of it is minimal:</p><p><a
href="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010957.png" rel="prettyPhoto[2703]"><img
src="http://davybrion.com/blog/wp-content/uploads/2010/09/P1010957-1024x768.png" alt="" title="P1010957" width="667" height="500" class="aligncenter size-large wp-image-2707" /></a></p><p>No matter what kind of light exposure you're dealing with while reading, tilting the Kindle slightly always leads to a fantastic reading experience.  That is, as long as there is some kind of light.  The screen itself doesn't emit any light so you can forget about reading in the dark.  The clearness of the text and the fact that the screen doesn't emit any light are probably the 2 most important reasons why i like reading on the Kindle so much.  You can simply keep reading for hours without your eyes getting tired.  I had one stint where i read continuously for 5 hours and didn't notice any discomfort whatsoever.  My eyes still felt great after those 5 hours, and because of its form factor, i could sit or lie on the couch in whatever manner i wanted to without the physical shape of the book constraining me in any way, sometimes simply by balancing the device with just one finger.</p><p>The only thing i'm not thrilled about when it comes to the form factor of the device is the location of the next/previous page buttons.  They're located on both sides of the device, and while that is indeed useful depending on how you're holding it and what kind of position you're in at the time, it also caused me to press those buttons accidentally quite frequently in my first few hours of reading.  By now, i'm used to avoiding those buttons unless i actually want to switch to another page, but in the beginning it was a bit frustrating though.  Obviously, this is just a very minor complaint and for those who also have difficulty with this in the beginning, it'll only be for a few hours.</p><p>The battery also appears to be great... I've only used the device for 4 days, and even though i've used it a lot, i still have over 75% of battery life left out of a single charge.  Obviously, the wonderful e-ink screen is the reason for this since it only consumes power while you're switching pages but once a page is displayed, it uses no more power whatsoever.  Your battery usage will obviously vary on how often you use the wireless connection, or the 3G connectivity for those who've bought that edition.</p><p>So far for the great things about the device... now it's time to focus on some of the things that aren't quite great.  First of all, reading PDF's really is a hit-or-miss experience from file to file.  I only tried about 10 different PDF books, and none of them were displayed good enough to read them in portrait mode.  In landscape mode, some of them looked good enough to read, while others are just acceptable.  In those cases, i'm quite sure i can't keep reading them for hours and hours like i can with books in the native Kindle format.  Converting them to MOBI format or having Amazon convert them to Kindle format leads to mixed results.  While the actual text was then displayed almost as good as native Kindle books, you lose quite a bit of the formatting which is especially detrimental for programming books... code samples will lose most, if not all, of their indentation and become a pain to read.</p><p>As for technical books in the Kindle format, i haven't bought any of those yet, but i did try a few sample chapters of a few technical books, including ones that were listed as optimized for the larger Kindle DX screen.  I found every sample to be of high quality (visually speaking) and am looking forward to reading all of my technical books on the Kindle from now on.  In fact, i'm not really looking forward to finishing a few physical books i bought recently before ordering the Kindle.  It would be cool if Amazon would offer free Kindle editions of physical books you've bought with them, but i don't see that happening since that would mostly be of major benefit to the consumer and publishers don't really seem to care about that.</p><p>Which brings me to my next complaint: why on earth is the price difference between Kindle editions of books and physical editions so small? In many cases, the difference is merely a few dollars.  While i assume that Amazon takes a nice share of the profit for every electronic book purchase, i can't for the life of me imagine that that amount is comparable to the extra cost of <em>producing and shipping physical books</em>.  The price difference should be bigger, given the fact that the cost of distributing electronic books can never even come close to the cost of producing and shipping physical books <em>and</em> let's not forget the positive impact on the environment of not having to waste all that extra paper.  Surely, that ought to be worth something?</p><p>Another thing that's worth nothing is that the software of the Kindle feels very dated, and is somewhat clumsy to use.  It's certainly not a big issue since the reading experience more than makes up for it, but every time i have to interact with the software i feel like i'm back in the 90's.  Navigating the menu items or options with the '5-way' control, or navigating in the Kindle store is far from a great experience and it does occasionally make me sigh.  Flipping through a bunch of pages is also a weird experience because it often makes me think "is it waiting for me to do something or am i still waiting for it to do something?".  Finally, the included keyboard is so small that i doubt that you'll make heavy use of the annotations feature with this device.  For me that's not an issue since the annotations feature doesn't interest me, but i can imagine that it would disappoint people who've bought it with the intention of making great use of that feature.</p><p>Now, despite some of the negative things i just mentioned, i'm still very impressed with this device, and i look forward to watching it improve in the editions that we'll hopefully see in the next couple of years.  The reading experience more than makes up for any other shortcoming that you might find with it, and you can't argue with the price either.  Amazon charged me 158 euros for it (which included shipping costs plus customs fees) which i think is a fantastic deal (well apart from the customs fees obviously, which i've always considered to be a rip-off).  I was at an electronics store yesterday and strolled by their selection of e-readers from a variety of brands, and none of them impressed me after having used this.  Even worse, pretty much every single device that i saw in that store was more expensive, looked more clumsy and had a screen that wasn't nearly as impressive as the Kindle's.</p><p>In short: if you're looking to buy an e-reader: get this Kindle.  Odds are that you'll love it as well, and in the small chance that you don't: you'll have no problem selling it off to someone else who will.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F09%2Freview-kindle-3%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/09/review-kindle-3/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/09/review-kindle-3/"  data-text="Review: Kindle 3" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/09/review-kindle-3/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/09/review-kindle-3/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/09/review-kindle-3/feed/</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Highly Recommended Book: Metaprogramming Ruby</title><link>http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/</link> <comments>http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/#comments</comments> <pubDate>Sun, 12 Sep 2010 15:31:52 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2665</guid> <description><![CDATA[One thing that you'll see popping up frequently as you're learning Ruby is the word 'metaprogramming'. But what exactly does it mean? Simply put: metaprogramming code is code that dynamically enhances/modifies the behavior of your classes and even single objects. There are a lot of very cool things you can do in Ruby thanks to [...]]]></description> <content:encoded><![CDATA[<p>One thing that you'll see popping up frequently as you're learning Ruby is the word 'metaprogramming'.  But what exactly does it mean? Simply put: metaprogramming code is code that dynamically enhances/modifies the behavior of your classes and even single objects.  There are a lot of very cool things you can do in Ruby thanks to metaprogramming and it's probably one of the biggest reasons why a framework like Rails is able to deliver such tremendous productivity gains.  Which means it's definitely a topic worth learning about, which is why i picked up <a
href="http://www.amazon.com/Metaprogramming-Ruby-Program-Like-Pros/dp/1934356476/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1283975648&#038;sr=8-1">Paolo Perrotta's Metaprogramming Ruby</a> book.</p><p>As you can imagine, some of the concepts that you'll have to learn about to apply metaprogramming techniques effectively are somewhat advanced (or at least, they <em>appear</em> to be at first).  Paolo does an extraordinary job of explaining all of this in a very easy to grasp manner.  The writing style is clear and very easy to follow.  There are some parts that you might need to read twice (or thrice) before you get it, but that's more due to your mental conditioning from static languages than it is because of Paolo's writing.</p><p>The book is divided in 2 parts (well, 3 if you count the appendices).  In the first part, you'll learn everything there is to know about metaprogramming.  You're going to learn all about how objects and classes (which are really just objects) work in Ruby, and you'll explore a variety of ways of changing or extending existing classes and objects.  You'll get a full grasp on Ruby's object model and you'll see how you can use that knowledge to your advantage.</p><p>In the second part, you'll see how metaprogramming is used in various Rails libraries.  But don't worry, you don't need to know Rails to get value out of this part.  It just shows a lot of real-world examples of the tricks and techniques you learned in the first part of the book and it very well might fill your head with ideas of stuff that you want to do as well (i know it did for me).  You'll also find some good advice on how to apply metaprogramming safely.  There's a lot of power in metaprogramming, and you're going to feel the pain if you go overboard with it.  Follow some of Paolo's advice and you might avoid or at least minimize that pain <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>The second part closes with a redefinition of the metaprogramming concept.  Paolo does a good job of making clear that metaprogramming really is just, well, programming.  It's different from 'regular' programming, but it's still just programming.  It's the kind of programming that truly leads to less repetitive programming.</p><p>If i had to describe this book in one word, i'd go with 'fascinating'.  It's eye-opening, highly informative and fun to read. It'll inspire you to change the way you write your code and the perspective you'll gain on OO topics that you already thought you knew well is just invaluable.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F09%2Fhighly-recommended-book-metaprogramming-ruby%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/"  data-text="Highly Recommended Book: Metaprogramming Ruby" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/09/highly-recommended-book-metaprogramming-ruby/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Book Review: The Ruby Way, Second Edition</title><link>http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/</link> <comments>http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/#comments</comments> <pubDate>Tue, 31 Aug 2010 20:04:48 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2583</guid> <description><![CDATA[The second book i read in my ongoing Ruby journey is the second edition of The Ruby Way. While i don't think it's as essential as The Ruby Programming Language (you can read my review of it here), it is a very useful resource to the beginning Ruby programmer. As good as it is, it [...]]]></description> <content:encoded><![CDATA[<p>The second book i read in my ongoing Ruby journey is the second edition of <a
href="http://www.amazon.com/Ruby-Way-Second-Techniques-Programming/dp/0672328844/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1283029709&#038;sr=8-1">The Ruby Way</a>.  While i don't think it's as essential as The Ruby Programming Language (you can read my review of it <a
href="http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/">here</a>), it is a very useful resource to the beginning Ruby programmer.  As good as it is, it certainly has a lot of flaws as well.</p><p>At over 800 pages, this book is obviously big and heavy.  That in itself is not necessarily a problem, but i wasn't happy with the actual binding of the pages.  Flipping through them just doesn't feel right and i often felt that i had to be somewhat careful with a page if i didn't want it to be torn out of the book by accident.  And it really wouldn't take that much effort for that to happen.  If there is one book that's an ideal test case to make you seriously consider switching to an iPad/Kindle for your reading, then this is probably it.</p><p>Luckily, the content of the book does make up for the shoddy physical reading experience.  This book covers <em>a lot</em> of topics, which is not only a great way to introduce the beginning Ruby programmer to a variety of possibilities, but also a welcome reference to keep on your desk if you quickly need to look up how to do something.  It starts off with a short review of the Ruby language, and then works its way through a variety of topics, most of which are covered very thoroughly.  You really will learn everything there is to know about strings, regular expressions, numeric types, symbols, ranges, dates and times and enumerable types (arrays, hashes, sets, ...).  At this point, you're about 320 pages into the book with another 450 or so to go.  Those first 9 chapters are probably also the only part of the book that will at one point be read by everyone who bought this book, either while reading cover-to-cover or when you're looking for something specific later on.</p><p>The next topic that is covered is that of IO and Data Storage.  Again, this is covered pretty extensively because you'll learn all about typical file management operations, as well as how to do marshaling of objects.  There's also a brief part on dealing with databases but it's so short that it really would've been better left out altogether.  You'll see how to connect and interact with a few of the well known databases in a pretty low-level manner, but really though, hardly anyone still deals with databases in that way.  It probably would've been better to point to some higher-level data access frameworks, since the people who are going to deal with a database in such a low-level manner are probably more than capable of figuring out how to do so without referring to a book that only briefly lists a few things that you can do for basic stuff, but nothing important.</p><p>The next chapter covers Ruby's OOP and Dynamic features/capabilities and it's a good 80 pages long.  It goes through some of the topics a bit too quickly for my taste, but that's alright since the next book on my reading list is <a
href="http://www.amazon.com/Metaprogramming-Ruby-Program-Like-Pros/dp/1934356476/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1283033138&#038;sr=8-1">Metaprogramming Ruby</a> which is sure to whet my appetite for dynamic goodness.  It does again cover quite a lot, but if you've read The Ruby Programming Language already, you won't really find anything new here.</p><p>Next up is an overview of some of the graphical toolkits that you can use with Ruby.  This is a chapter that ultimately doesn't bring any value since coverage of a single toolkit is probably enough to fill an entire book already. The examples shown for each of the toolkits in this chapter are obviously short and offer no more than a quick look at how you'd interact with a certain toolkit.  Well, in my case it inspired me to come up with a decent event syntax for Ruby, but that's about it.  It probably would've been better to leave this chapter out, and just refer to these toolkits in an appendix or something.</p><p>The book then switches to a topic that i'd been looking forward to: Threading.  While Ruby does offer some constructs to deal with threading, it's a far cry from what you might be used to in .NET.  I was also surprised with the lack of attention paid to asynchronous operations, but then again, there just might not be that much interest in asynchronous programming in the Ruby world.  This is definitely something i need to look into more as i continue on my Ruby journey <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  Another downside to this chapter is that some of the examples are a bit simplistic, and in some cases, aren't quite thread-safe.  If you read this chapter, focus on the discussion of what you can do with Ruby from a threading point of view, but please don't reuse any of the code in your own code because you will end up chasing race conditions because of it.</p><p>The next 2 chapters deal with scripting, system administration and working with certain data formats (xml, rss, images, pdf).  Depending on what you need or what you're working on, this could be pretty interesting to you.  The book then switches to the topics of testing and debugging.  This isn't really covered in-depth and as such, this too would've been better suited for an appendix with some links to online resources or dedicated books on these subjects.  After that it gives another quick overview of packaging and distributing your code.  This chapter also would've been better off being dropped since i had to package and distribute some Ruby code today and i found more useful and relevant information online than i did here.</p><p>The book then starts focusing on writing code again, but this time in the online world.  First you'll learn about low-level network programming in a chapter that is dedicated to the topic.  After that, there's a chapter about Ruby and webdevelopment and it kinda suffers from the same problems as the GUI toolkits chapter did.  It lists a few of the options, of which at this point only Rails still seems to be popular but it can't really tell you anything in-depth about it.  Once again, a summarized version of this chapter would've been better fit for an appendix.  Finally, you'll learn about Distributed Ruby which is illustrated with an example.</p><p>The book then closes with 2 more chapters, one covering some Ruby development tools, and finally, some words on the Ruby community.</p><p>This is by far the longest book review i've ever written, but then again, this book is huge and i did have a lot to say about it.  Its biggest flaw (apart from the shoddy physical reading experience) is that it tries to cover too much, and because of that, a lot of the stuff that is covered is basically pointless.  Ideally, this book would've been limited to the first 11 chapters, followed by the chapters on threading and networking.  The stuff about databases, web frameworks, GUI toolkits, etc... should've been covered in succinct appendices which should just point the reader in the right direction since there's no way one single book can cover all of it anyway.</p><p>I know this review might come over as hard on the author and the content, but i really did like half of the book a lot.  The other half however prevents me from starting this post with 'Recommended Book' or 'Highly Recommended Book' instead of 'Book Review'.  Hopefully, the upcoming 3rd edition (which should be out sometime next year) fixes some of these flaws so this book can reach the potential that it certainly does have.  In the meantime, i will keep this book on my desk as a reference.  About 500 of these 800 pages do contain a lot of great stuff that's gonna save me a lot of time after all.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F08%2Fbook-review-the-ruby-way-second-edition%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/"  data-text="Book Review: The Ruby Way, Second Edition" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/08/book-review-the-ruby-way-second-edition/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Highly Recommended Book: The Ruby Programming Language</title><link>http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/</link> <comments>http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/#comments</comments> <pubDate>Sun, 15 Aug 2010 17:22:57 +0000</pubDate> <dc:creator>Davy Brion</dc:creator> <category><![CDATA[Books]]></category><guid
isPermaLink="false">http://davybrion.com/blog/?p=2523</guid> <description><![CDATA[I first learned about Ruby about 8 years ago, when another programmer that i only knew from some Linux-related forum (yup, i was a die-hard linux user at the time) kept claiming that it was one of the nicest and purest OO languages available. I kept thinking "yeah right, nobody is using Ruby for real [...]]]></description> <content:encoded><![CDATA[<p>I first learned about Ruby about 8 years ago, when another programmer that i only knew from some Linux-related forum (yup, i was a die-hard linux user at the time) kept claiming that it was one of the nicest and purest OO languages available.  I kept thinking "yeah right, nobody is using Ruby for real stuff so it can't be good".  In my defense, i was only 21 at the time and at that age a lot of people can still be quite ignorant at times (or even quite frequently).  But that doesn't change the fact that i was just plain stupid.</p><p>Fast forward 8 years, and here i am: a developer who was once convinced of the virtues of static languages, but is increasingly frustrated by both the static nature of C# (regardless of the introduction of the dynamic keyword) because of the limits it places on my creativity, as well as the entire .NET world for a variety of reasons.  So i figured it was time for me to learn exactly what was so good about these dynamic languages.  At first, i doubted between going for Ruby and Python.  I picked Ruby, mostly because it has more momentum than Python.  And since i hate learning something new from some simple online tutorials, i wanted to get some good books on the subject to make sure i really learned what it was all about.  The first book i ordered was <a
href="http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1281888595&#038;sr=8-1">The Ruby Programming Language</a> which seems to be the definitive guide to the Ruby language.  It ought to be, with that title <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Books about programming languages are generally pretty boring. It's not the fault of the writers, or the language, it's just because so many boring details need to be covered when learning a new language. I was very happy to see that this book certainly minimizes those boring parts.  The book starts off with a quick introduction to Ruby.  It very quickly goes over some code with very brief explanations as to what the code is doing.  Not sure if everyone will agree on this, but for me it was like the perfect appetizer. It really made me want to learn the language thoroughly.</p><p>The next 4 chapters aren't nearly as interesting as the introduction was.  The 2nd chapter deals with the structure of Ruby code.  Important, but not exactly thrilling to read.  The 3rd chapter discusses some of the standard data types and you'll also learn more about how objects work in Ruby.  The stuff about objects was very interesting, but the descriptions of the data types are, as they always are, pretty boring.  The 4th chapter (Expressions and Operators) and the 5th one (Statements and Control Structures) are also quite boring.  But then again, i can't possibly imagine how anyone could write about these kinds of topics in a way that is truly interesting, regardless of the programming language that is used.  In fact, i'd say that these topics were dealt with in a manner that is at least less boring than how they're usually covered in programming books.  And even though those parts are not the most interesting to read, it is great reference material if you quickly need to figure out something or need to refresh your memory while working with the language.</p><p>The next 3 chapters however were (IMO) immensely interesting.  Chapter 6 tells you everything you need to know about Methods, Procs, Lambdas and Closures.  You might be thinking "how could that possibly be immensely interesting?", but trust me, it is.  I also think that this chapter will either strongly increase your appreciation of the Ruby language, or might be a little off putting, depending on how you generally feel about the importance of static typing vs dynamic.  Most developers will see the possible dangers here and you'll either feel fear for what people can do in a method, or you'll love the power and flexibility while still recognizing the dangers (with an increased appreciation for automated tests, hopefully).</p><p>Chapter 7 deals with everything there is to know about classes and modules, and it's an absolute joy to read.  At this point, i really started to feel stupid for not having learned about this years ago.  Lots of interesting stuff here, and the ideas it planted in my head are surely gonna hurt me frequently while coding in C# at work.  Chapter 8 was even worse in this regard... it discusses Ruby's reflection capabilities and the whole metaprogramming thing.  It made my head spin, in the good way.   I know i can really take serious advantage of those capabilities and i can't wait to actually experiment with it.</p><p>The 9th chapter discusses the Ruby Platform, which is basically a succinct run down of what you can do with a lot of the standard Ruby classes.  I largely skipped this chapter since the next book on my reading-list (<a
href="http://www.amazon.com/Ruby-Way-Second-Techniques-Programming/dp/0672328844/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1281892019&#038;sr=8-1">The Ruby Way</a>) covers all of that and more, in depth.  The final chapter covers the Ruby interpreter and the general Ruby environment.  It's somewhat interesting, but nothing spectacular.</p><p>I generally approach programming language books as necessary reading (at least when you're learning a language) but a chore at the same time.  While some of the chapters in this book suffer from a lot of the same problems that you'll find with other programming language books, it at least is less boring to read.  Chapter 6 through 8 however are more than worth the cost of the book and could really change the way you think and feel about OO and if i could legally get away with it, i'd force every programmer to read those.  It's certainly not going to convince everyone, but it could open a lot of people's eyes.  This book is not only ideal to learn the Ruby language, it'll also be an invaluable reference resource to keep on your desk as you keep taking more steps in your Ruby journey.</p><p>I already know it's gonna take a long while before this book moves from my desk to my bookshelf.</p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F08%2Fhighly-recommended-book-the-ruby-programming-language%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/"  data-text="Highly Recommended Book: The Ruby Programming Language" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/08/highly-recommended-book-the-ruby-programming-language/feed/</wfw:commentRss> <slash:comments>16</slash:comments> </item> <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've kinda lost my interest in reading technical books and have been focusing on reading other books instead. I still can't bring myself to read fiction, so i'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've kinda lost my interest in reading technical books and have been focusing on reading other books instead.  I still can't bring myself to read fiction, so i'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'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'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've got certain goals in your life but are not quite sure how to achieve them, then i would certainly recommend it.  Hell, i'd recommend it to anyone because it's just that good and valuable.  If i had read that book back when i was stuck in Enterprise Hell, i would've gotten through that period with a lot less friction and a lot more results.  And for the record, that book isn't necessarily about how you should use the power that you have, or how to put yourself in a position of power, but it'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'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're closed minded and don't want to read a book that has a gangsta rapper associated with it, be my guest, but rest assured that you'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'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'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'd definitely be interested in any other kind of non-technical, non-fictional book that you can recommend for whatever reasons <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F05%2Fevolving-reading-interests%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/05/evolving-reading-interests/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/05/evolving-reading-interests/"  data-text="Evolving Reading Interests" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/05/evolving-reading-interests/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/05/evolving-reading-interests/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2010/05/evolving-reading-interests/feed/</wfw:commentRss> <slash:comments>15</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://d18sni7re4ly7f.cloudfront.net/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><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2010%2F01%2Fhighly-recommended-book-debug-it%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/"  data-text="Highly Recommended Book: Debug It!" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2010/01/highly-recommended-book-debug-it/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></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 '97 Things Every Software Architect Should Know', i love the format of these "97 Things" books. I already pre-ordered the upcoming '97 Things Every Programmer Should Know' and was curious about the other book in the series: 97 Things Every Project Manager Should Know. Now, i'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/">'97 Things Every Software Architect Should Know'</a>, i love the format of these "97 Things" books.  I already pre-ordered the upcoming '97 Things Every Programmer Should Know' 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'm not a project manager and have no intentions of becoming one in the future.  But as a software developer, i do think it's important to have an understanding of what good (and bad) project management entails so i'd recommend this book to project managers as well as developers.  As usual with books in this series, it'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'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><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2009%2F12%2Frecommended-book-97-things-every-project-manager-should-know%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/"  data-text="Recommended Book: 97 Things Every Project Manager Should Know" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2009/12/recommended-book-97-things-every-project-manager-should-know/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></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've developed this bad habit of reading about a book (usually in blog posts), thinking "hmm, that should be interesting", 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've developed this bad habit of reading about a book (usually in blog posts), thinking "hmm, that should be interesting", 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's important to figure out how project managers think (just as it'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'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 "Kent Beck Signature Book"-series logo i clicked the "Add to shopping cart" button.  That's right, i'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... why? because <a
href="http://blogs.msdn.com/tess/">Tess Ferrandez</a> recommended it.  Yup, i'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'm currently at page 154.  It'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't made it past the first chapter.  Which i started about 3 months ago.  It's not that it's boring, i actually think that messaging is very cool... but for some reason i can'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><div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavybrion.com%2Fblog%2F2009%2F12%2Fi-buy-too-many-books%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://davybrion.com/blog/2009/12/i-buy-too-many-books/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://davybrion.com/blog/2009/12/i-buy-too-many-books/"  data-text="I Buy Too Many Books" data-count="horizontal" data-via="davybrion"></a></div><div
style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://davybrion.com/blog/2009/12/i-buy-too-many-books/" data-counter="right"></script></div><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://davybrion.com/blog/2009/12/i-buy-too-many-books/"></script></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div>]]></content:encoded> <wfw:commentRss>http://davybrion.com/blog/2009/12/i-buy-too-many-books/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/87 queries in 0.066 seconds using disk: basic
Object Caching 1516/1697 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-05-23 13:41:34 -->
