<?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>a work on process &#187; book</title>
	<atom:link href="http://jystewart.net/process/tag/book/feed/" rel="self" type="application/rss+xml" />
	<link>http://jystewart.net/process</link>
	<description>notes from another web developer</description>
	<lastBuildDate>Tue, 27 Jul 2010 09:53:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Book Review: Learning Drupal 6 Module Development</title>
		<link>http://jystewart.net/process/2008/09/book-review-learning-drupal-6-module-development/</link>
		<comments>http://jystewart.net/process/2008/09/book-review-learning-drupal-6-module-development/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 10:00:41 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[matt butcher]]></category>
		<category><![CDATA[module development]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/?p=467</guid>
		<description><![CDATA[Last autumn&#8217;s release of Pro Drupal Development was a significant moment in the history of the popular CMS, providing for the first time a relatively comprehensive guide for those wanting to do more than simply manage and skin a drupal site. A number of books have followed it but few have delved as deeply or <a href="http://jystewart.net/process/2008/09/book-review-learning-drupal-6-module-development/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://jystewart.net/process/wp-content/uploads/2008/09/51qrv0bv9kl_sl160_.jpg" alt="Book Sleeve: Learning Drupal 6 Module Development" width="130" height="160" class="alignleft size-full wp-image-468" />Last autumn&#8217;s release of <a href="http://www.amazon.com/gp/product/1590597559?ie=UTF8&amp;tag=sarahmasensof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597559" title="Amazon.com: Pro Drupal Development: John K. VanDyk, Matt Westgate: Books">Pro Drupal Development</a> was a significant moment in the history of the popular CMS, providing for the first time a relatively comprehensive guide for those wanting to do more than simply manage and skin a drupal site. A number of books have followed it but few have delved as deeply or been such a definitive guide.</p>
<p>Like most of the more recent books, Learning Drupal 6 Module Development focusses on a quite specific area of drupal development, but its a key one for any serious developer and touches every other area of the system. Experienced PHP developers may find that this book (in conjunction with some time for experimentation) will serve as a solid introduction to how they might build applications on top of drupal.</p>
<p>The book focusses on a single project&#8212;a website providing biographies of philosophers&#8212;and builds the modules it needs, introducing the various available tools and techniques along the way. Much of the time is devoted to generating custom content types, but there&#8217;s very solid coverage of the hooks, filters, and actions that let modules really take integrate with the rest of the framework. Theming your output, using AJAX, and working with web services all get some time and illustrate how your app can be part of the wider web and keep up with its prevailing trends. A number of times I found myself reaching for code I&#8217;d written over the past few months to make amendments based on examples in the book.</p>
<p>I&#8217;ve been quite critical of books from packt lately and some of my criticisms apply here&#8212;he book itself feels flimsy and the print quality is poor&#8212;but this is also evidence that if an author and editor put the work in they do occasionally produce quality material despite the publisher. There are a number of asides that clarify language which demonstrate an attention to detail too often missing. It would have been good to see clearer signposts as to which features are new in Drupal 6 and which were available previously, but <a href="http://api.drupal.org/" title="API reference | Drupal API">the online API docs</a> can provide most of that.</p>
<p>When <a href="/process/2007/11/book-review-pro-drupal-development/" title="a work on process &raquo; Book Review: Pro Drupal Development">I reviewed Pro Drupal Development</a> I noted some disappointment that the book didn&#8217;t devote any time to automated testing of drupal code, and that criticism applies here too. Along with staged deployments, automated testing remains one of the least considered aspects of drupal and that&#8217;s a serious concern for those looking to build robust well-managed applications on top of it. There are a few good articles online about how to test drupal code, but it would be good to see it taken more seriously as a core part of the module development process.</p>
<p>This book is likely to sit alongside Pro Drupal Development on my desk whenever I&#8217;m working on a drupal project and is a worthwhile investment for anyone who spends much time building drupal modules. There are clear areas for improved coverage, but it is as comprehensive an account as you&#8217;ll find of how to build modules that take full advantage of the facilities Drupal provides.</p>
<p>Disclaimer: I was sent a copy of this book for review by the publisher. You can find it at <a href="http://www.amazon.com/gp/product/1847194443?ie=UTF8&amp;tag=sarahmasensof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847194443" title="Amazon.com: Learning Drupal 6 Module Development: Matt Butcher: Books">amazon US</a>, <a href="http://www.amazon.co.uk/gp/product/1847194443?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1847194443" title="Amazon.co.uk: Learning Drupal 6 Module Development: Matt Butcher: Books">amazon UK</a> and all sorts of other places.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2008/09/book-review-learning-drupal-6-module-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: Building Dynamic Web 2.0 Websites with Ruby on Rails</title>
		<link>http://jystewart.net/process/2008/08/book-review-building-dynamic-web-20-websites-with-ruby-on-rails/</link>
		<comments>http://jystewart.net/process/2008/08/book-review-building-dynamic-web-20-websites-with-ruby-on-rails/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 01:44:03 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/?p=446</guid>
		<description><![CDATA[Massive interest in Ruby on Rails over the past few years was quickly mirrored in book sales. Early entrants like the (near definitive) Agile Web Development with Ruby on Rails were break away hits in a world that usually sees modest sales of each title. It&#8217;s not surprising a lot of people wanted to get <a href="http://jystewart.net/process/2008/08/book-review-building-dynamic-web-20-websites-with-ruby-on-rails/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://jystewart.net/process/wp-content/uploads/2008/08/1847193412.png" alt="" title="Building Dynamic Web 2.0 Websites with Ruby on Rails book sleeve" width="100" height="123" class="alignleft size-full wp-image-448" />Massive interest in Ruby on Rails over the past few years was quickly mirrored in book sales. Early entrants like the (near definitive) Agile Web Development with Ruby on Rails were break away hits in a world that usually sees modest sales of each title. It&#8217;s not surprising a lot of people wanted to get a share of that market, and the range of Ruby and Rails titles has exploded, with an unsurprising dip in average quality.</p>
<p>This latest title from Packt sits somewhere very low down the quality scale. An unfocussed volume, it purports to introduce the ruby language and show how to get up and running with a simple buzzword-laden Rails application, but does a distinctly inadequate job on both counts. Any moderately experienced rubyist would worry at seeing code like:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Tale
  <span style="color:#0066ff; font-weight:bold;">@author</span>
  <span style="color:#0066ff; font-weight:bold;">@genre</span>
  <span style="color:#0066ff; font-weight:bold;">@tale_body</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>recommended as the way to define a class with three attributes, rather than the more succinct, idiomatic and functional:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> Tale
  attr_accessor <span style="color:#ff3333; font-weight:bold;">:author</span>, <span style="color:#ff3333; font-weight:bold;">:genre</span>, <span style="color:#ff3333; font-weight:bold;">:tale_body</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>(For those unfamiliar with ruby, the former will define attributes but not accessors for them. The latter will define the attributes and its accessors and is the recommended approach for public attributes)</p>
<p>That example occurs early on, and as the book progresses it is hard to shake the sense that the author isn&#8217;t sufficiently familiar with the idioms and best practices of the Ruby and Rails communities to be introducing either the language or the framework. When working with a framework as dependent on conventions and opinions as Rails, a failure to grasp the idioms is a serious problem. </p>
<p>It would be hard to recommend this book even if there weren&#8217;t many superior titles available. Newcomers to Ruby and/or Rails would be far better with any of several alternatives. Beyond that, while packt have published a number of excellent titles, the publication of this book should be taken as a reminder that there is no consistent quality control over the books they publish and buyers should research carefully before buying one.</p>
<p>Disclaimer: I was sent a copy of this book for review by the publisher. You can find it at <a href="http://www.packtpub.com/building-dynamic-websites-with-ruby-on-rails/book" title="Building Dynamic Web 2.0 Websites with Ruby on Rails">packt</a>, <a href="http://www.amazon.com/gp/product/1847193412?ie=UTF8&amp;tag=sarahmasensof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847193412" title="Amazon.com: Building Dynamic Web 2.0 Websites with Ruby on Rails: A P Rajshekhar: Books">amazon US</a>, <a href="http://www.amazon.co.uk/gp/product/1847193412?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1847193412" title="Amazon.co.uk: Building Dynamic Web 2.0 Websites with Ruby on Rails: A P Rajshekhar: Books">amazon UK</a> and all sorts of other places.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2008/08/book-review-building-dynamic-web-20-websites-with-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Book Review: Design Patterns In Ruby</title>
		<link>http://jystewart.net/process/2008/03/book-review-design-patterns-in-ruby/</link>
		<comments>http://jystewart.net/process/2008/03/book-review-design-patterns-in-ruby/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 11:41:40 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[addison wesley]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[obie fernandez]]></category>
		<category><![CDATA[professional ruby series]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[russ olsen]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/2008/03/book-review-design-patterns-in-ruby/</guid>
		<description><![CDATA[For many the idea of bringing design patterns to ruby is a terrifying one. Having taken refuge from over-engineered java projects (or for that matter, attempts to apply java engineering approaches to a somewhat dynamic language like PHP) the baggage that often goes along with design patterns isn&#8217;t what a recent convert is looking for. <a href="http://jystewart.net/process/2008/03/book-review-design-patterns-in-ruby/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><img src='http://jystewart.net/process/wp-content/uploads/2008/03/51ng5mf-sal_aa240_.thumbnail.jpg' alt='Sleeve of Design Patterns in Ruby' />For many the idea of bringing design patterns to ruby is a terrifying one. Having taken refuge from over-engineered java projects (or for that matter, attempts to apply java engineering approaches to a somewhat dynamic language like PHP) the baggage that often goes along with design patterns isn&#8217;t what a recent convert is looking for. But as I mentioned in <a href="http://jystewart.net/process/2008/01/book-review-pro-javascript-design-patterns/" title="a work on process &raquo; Book Review: Pro Javascript Design Patterns">my last review of a design patterns volume</a>, and series editor <a href="http://blog.obiefernandez.com/" title="Obie Fernandez">Obie Fernandez</a> highlights in his foreword, design patterns don&#8217;t have to be used that way and maintain merit when used as a source of collective experience and shared language.</p>
<p>Russ Olsen&#8217;s book does a good job of stepping through the key patterns from the Gang of Four&#8217;s initial offering, showing how they can be applied to and simplified with Ruby, introducing along the way various uses of blocks, mix-ins, and other powerful features of the language that may be unfamiliar to newcomers. Each chapter highlights how the pattern can be used or abused, sounding a note of caution to dissuade unthinking embrace of every pattern between its covers. It&#8217;s clearly written with a nice balance of code to prose.</p>
<p>Towards the end of the book a couple of &#8220;new&#8221; patterns are offered, particularly &#8220;internal DSLs&#8221;, &#8220;meta-programming&#8221; and &#8220;convention over configuration.&#8221; Opinions differ over whether of those can really be considered patterns in the general sense of the term. Certainly those concepts are examples of a community gradually refining its approaches to common problems, but at least two of them are considerably more conceptual and abstract than most of the other patterns in the book. Perhaps the best way to understand them is as giving an insight into the working patterns of the ruby community approaches problems, and pointers to topics worthy of more exploration.</p>
<p>That usage of the final few chapters gives some indication of the probable audience for this book. It seems best suited to those who have dabbled with ruby but don&#8217;t yet have much experience. A general sense of syntax is all you&#8217;ll need going in, but you&#8217;ll come away with a much stronger sense of the language&#8217;s features than that. Similarly it&#8217;ll work well for those with a general sense of the major patterns but who could do with a refresher, maybe while transitioning from java or other &#8220;enterprisey&#8221; development to ruby.</p>
<p>While it won&#8217;t have the same general appeal of other titles in the series like <a href="http://www.amazon.co.uk/gp/product/0672328844?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0672328844" title="Amazon.co.uk: The Ruby Way: Solutions and Techniques in Ruby Programming (Addison-Wesley Professional Ruby): Hal Fulton: Books">The Ruby Way</a> and <a href="http://www.amazon.co.uk/gp/product/0321445619?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0321445619" title="Amazon.co.uk: The Rails Way: Driving Rails into the Enterprise (Addison-Wesley Professional Ruby): Obie Fernandez: Books">The Rails Way</a>, this is a handy volume in a series that is making strong contributions to the ruby book market.</p>
<p>Disclaimer: I was sent a copy of this book for review by the publisher. There were a few pages missing due to a printing defect so I wan&#8217;t able to read parts of chapters 13 or 14. You can find it at <a href="http://www.amazon.com/gp/product/0321490452?ie=UTF8&amp;tag=sarahmasensof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321490452" title="Amazon.com: Design Patterns in Ruby (Addison-Wesley Professional Ruby Series): Russ Olsen: Books">amazon US</a>, <a href="http://www.amazon.co.uk/gp/product/0321490452?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0321490452" title="Amazon.co.uk: Design Patterns in Ruby (Addison-Wesley Professional Ruby): Russ Olsen: Books">amazon UK</a> and all sorts of other places.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2008/03/book-review-design-patterns-in-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book Review: Ruby on Rails Enterprise Application Development</title>
		<link>http://jystewart.net/process/2007/12/book-review-ruby-on-rails-enterprise-application-development/</link>
		<comments>http://jystewart.net/process/2007/12/book-review-ruby-on-rails-enterprise-application-development/#comments</comments>
		<pubDate>Sat, 29 Dec 2007 12:51:51 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/2007/12/book-review-ruby-on-rails-enterprise-application-development/</guid>
		<description><![CDATA[ It&#8217;s very clear from posts on the rails email list that there&#8217;s space for books that take the novice developer beyond what they learn in beginners&#8217; books like Agile Web Development With Ruby on Rails. Those books will help you build your first app and get a sense of the structure of Rails but <a href="http://jystewart.net/process/2007/12/book-review-ruby-on-rails-enterprise-application-development/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><img src='http://jystewart.net/process/wp-content/uploads/2007/12/1847190855.png' alt='book sleeve of Ruby on Rails Enterprise Application Development' /> It&#8217;s very clear from posts on the rails email list that there&#8217;s space for books that take the novice developer beyond what they learn in beginners&#8217; books like <a href="http://www.amazon.com/gp/product/0977616630?ie=UTF8&#038;tag=sarahmasensof-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0977616630">Agile Web Development With Ruby on Rails</a>. Those books will help you build your first app and get a sense of the structure of Rails but before long you&#8217;ll want to write code that needs to be reusable between models, or across projects, or to interface with services other than databases. The beginners&#8217; books, by definition, don&#8217;t deal with intermediate topics. That&#8217;s the niche <em>Ruby on Rails Enterprise Application Development</em> sets out to fill, but sadly it doesn&#8217;t offer much beyond those beginners&#8217; guides.</p>
<p>Based on the title, I had expected going in that the book would be mostly focussed on cross-systems integration such as the use of LDAP, web services (particularly SOAP), connecting to multiple and/or legacy databases and other topics often lumped together as &#8220;enterprisey&#8221; which push at the rails conventions or require them to be abandoned. In fact the book would be better titled along the lines of &#8220;Up and running on Ruby on Rails in a small business&#8221; as the application developed through the course of its chapters is very simple and doesn&#8217;t demonstrate much about Rails itself that couldn&#8217;t be gleaned from AWDwRoR or one of its competitors. </p>
<p>Where some may find this book most useful is in the attention paid to windows-based development and to deployment (where it focusses on unix-based systems). Most of the books currently on the market do touch on using windows, but the authors of this one clearly use it themselves and actually advocate the use of an IDE for windows development. If your tastes run to Eclipse on Windows, that may draw you to this.</p>
<p>Though the book references Rails 1.2.3, the application built inside could just as easily have been built on Rails 1.1. The app is CRUD-based, but there is no mention of REST or map.resources, despite the fact that they could have simplified it. Authors don&#8217;t have to buy into the prevailing wisdom in the rails community, but it&#8217;s a shame when strategies that can simplify apps aren&#8217;t covered.</p>
<p>Perhaps more worrying given that Rails 2.0 is now out the door and will be the default for anyone starting out with this book now is the use of deprecated techniques such as dynamic scaffolds (<a href="http://dev.rubyonrails.org/changeset/6306" title="Changeset 6306 - Rails Trac - Trac">the scaffold keyword was removed 10 months ago in changeset 6306</a>) and old-style pagination (which left in <a href="http://dev.rubyonrails.org/changeset/6992" title="Changeset 6992 - Rails Trac - Trac">changeset 6992</a> back in June)</p>
<p>There certainly aren&#8217;t as many books out there for newcomers to Rails as there are for some other languages/frameworks, so its inevitable that more are to come. It&#8217;s a shame that already at least two such books have been pitched at intermediate developers rather than their more correct audience, and hopefully that trend won&#8217;t continue. It would also be very helpful if packt would publish an addendum to this volume detailing the aspects that no longer work in Rails 2.0. Missing some great new feature in Edge Rails is one thing, but it&#8217;s quite another to rely on features that were scheduled for removal over six months before a book goes to press.</p>
<p>Disclaimer: I was sent a copy of this book for review by the publisher. You can find it at <a href="http://www.packtpub.com/Ruby-on-Rails-Enterprise-Application-Open-Source/book" title="Ruby on Rails Enterprise Application Development: Plan, Program, Extend">packt</a>, <a href="http://www.amazon.com/gp/product/1847190855?ie=UTF8&amp;tag=sarahmasensof-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847190855" title="Amazon.com: Ruby on Rails Enterprise Application Development: Plan, Program, Extend: Books: Elliot Smith,Rob Nichols">amazon US</a>, <a href="http://www.amazon.co.uk/gp/product/1847190855?ie=UTF8&amp;tag=sarahmasensof-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=1847190855" title="Amazon.co.uk: Ruby on Rails Enterprise Application Development: Plan, Program, Extend: Books: Elliot Smith,Rob Nichols">amazon UK</a> and all sorts of other places.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2007/12/book-review-ruby-on-rails-enterprise-application-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
