[ANN/ADV] Ruby Best Practices now in print!

Hi folks,

If you haven't already heard, my book "Ruby Best Practices" is now
available in print!

The whole manuscript will be made freely available under a creative
commons license in March 2010, but now is the time to buy a copy if
you want to support my efforts as well as O'Reilly for publishing it.

== Where to buy

It should be showing up in stores now, as I confirmed it's available
here in New Haven, but if you want it online:

Directly from the publisher:
http://oreilly.com/catalog/9780596523008/

Amazon (likely cheaper, but less $ goes to me that way :slight_smile:
http://www.amazon.com/gp/product/0596523009

== What is the book like?

It's probably not like any other Ruby book you've read. It isn't a
reference book or tutorial, but instead, more like commentary you'd
expect to hear in a code review.
RBP walks through a whole bunch of real open source code, and tries
really hard to keep the balance tipped towards realistic examples
rather than contrived ones.

It isn't a list of rules or patterns, instead, it tries to drive home
the importance of context in problem solving by using a lot of case
studies.
It's meant to be read by the chapter, so it won't make for an easy
skim. But if you sit down with your favorite reference book[0] on
your desk, and your development environment at the ready, it should be
an enjoyable read.

It is a Ruby 1.9 book, but most of the techniques should work fine in
Ruby 1.8.6.

The book is split into 8 core topics and 3 appendices. These cover:

  * Test Driven Development
  * API Design
  * Dynamic Ruby (Metaprogramming, DSLs, etc)
  * Text Processing and File management (IO, regex, etc)
  * Functional Programming Techniques
  * Debugging / Troubleshooting
  * M17N / L10N (Globalization)
  * Project Maintenance (rake, Rubygems, rdoc, etc)

  * Some Ruby 1.8 <-> 1.9 compatibility tips
  * Ruby's Standard Library (Quick sample of 10 libs)
  * Ruby Worst Practices

If you're curious how these chapters are organized, you can look at a
free copy of a pre-production version of the metaprogramming chapter:
http://cdn.oreilly.com/books/9780596523008/Mastering_the_Dynamic_Toolkit.xml.pdf

== Target Audience

Anyone who wants to improve their craft as Ruby developers. While it
may not be suitable for a raw beginner, it will be useful to anyone
who has completed a small project in Ruby, and downright fun for a
more seasoned Ruby hacker.

== Questions?

Just let me know what's on your mind. I'd be happy to answer
whatever questions folks might have about the book.

-greg

[0] Either the Pickaxe or "The Ruby Programming Language" should do
the trick. If you're more of a Ruby beginner, be sure to read David
Black's "Well Grounded Rubyist" as well.