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

**URL:** <https://www.ruby-forum.com/t/ann-adv-ruby-best-practices-now-in-print/171294>\
**Category:** Rails\
**Created:** [June 30, 2009, 5:26am UTC](https://www.ruby-forum.com/t/ann-adv-ruby-best-practices-now-in-print/171294 "2009-06-30T05:26:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [June 30, 2009, 5:26am UTC](https://www.ruby-forum.com/t/ann-adv-ruby-best-practices-now-in-print/171294/1 "2009-06-30T05:26:38Z")

</div>

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:

> **[Ruby Best Practices](https://www.oreilly.com/library/view/ruby-best-practices/9780596157487/)**
>
> How do you write truly elegant code with Ruby? Ruby Best Practices is for programmers who want to use Ruby as experienced Rubyists do. Written by the developer of the … - Selection from Ruby Best Practices \[Book\]

Amazon (likely cheaper, but less $ goes to me that way 🙂  
[http://www.amazon.com/gp/product/0596523009](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](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 P.ming 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.
