intertwingly

It’s just data

Edition 4


I learned a lot in the development of Edition 3.  I learned that if you start with Rails 2.1, by the time you are done, Rails 2.2 will be “just around the corner”.  And that if you wait for Rails 2.2, Rails 2.3 will be “just around the corner”.  And if you release based on Rails 2.2, there will be differences in Rails 2.3 that will affect your book.  And that people will submit errata on those differences.

Needless to say, there have been quite a few changes since then.

This time, I’m getting ahead of the curve.  The first beta of Edition 4 is now available.  It is based on Rails 3.0 beta 3, which was released yesterday.  Yes, it will be out of date in a week, but that’s part of the fun. 

I once remarked to Mikel Lindsaar after he updated the getting started guide that the half-life of any particular guide is about six months, and that if you take them in total, at least one will be out of date every month.  So far, my observation has proven to be optimistic.  Search that page for f.error_messages.  I’m sure that will be fixed in short order, but it is only a (short) matter of time before it again is out of date.

As for me, I plan to keep up, and every time the Rails team makes a breaking change, I plan to put out a beta of the book.  Not necessarily the very next day, but generally within the next two weeks.  How can I be sure?  Well, I have an early warning system that alerts both myself and the Rails core team on any failure.  Every beta of the book will match a Rails Beta, Release Candidate, or specific release, and after that point, I plan to continue to track changes that affect the book.

The one failure you see now?  That’s a Segmentation fault in the Ruby interpreter itself.  (Scroll to the bottom to see it).

We also have a new addition to the team: Development Editor Susannah Davidson Pfalzer.  She is keeping me on my toes, and in particular is interested in making the book to be more useful for developers who may not only be new to Rails, but also new to Ruby itself.

Finally, the edition focuses on best practices.  Gone are the add_to_cart actions.  No longer is testing relegated to chapter 14.  Data migrations are a thing of the past.  Every example possible uses Arel, the new routing DSL, the new “sexy” validates method, bundler, etc., etc., etc.