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:
Amazon (likely cheaper, but less $ goes to me that way
== 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 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.
Just let me know what's on your mind. I'd be happy to answer whatever questions folks might have about the book.
 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.