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 Ruby project Prawn, this concise book explains how to design beautiful APIs and domain-specific languages with Ruby, as well as how to work with functional programming ideas and techniques that can simplify your code and make you more productive. You'll learn how to write code that's readable, expressive, and much more. Ruby Best Practices will help you: Understand the secret powers unlocked by Ruby's code blocks Learn how to bend Ruby code without breaking it, such as mixing in modules on the fly Discover the ins and outs of testing and debugging, and how to design for testability Learn to write faster code by keeping things simple Develop strategies for text processing and file management, including regular expressions Understand how and why things can go wrong Reduce cultural barriers by leveraging Ruby's multilingual capabilities This book also offers you comprehensive chapters on driving code through tests, designing APIs, and project maintenance. Learn how to make the most of this rich, beautiful language with Ruby Best Practices.
Greg Brown's Ruby Best Practices.
The ggplot2 (viz for R) book has been great: http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403
Ruby Best Practices also gave me some ideas on better use of blocks to do data processing from files: http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html
I can tell you it isn't easy, but its worth it. I'm better at my job because I now can study the product line by line, and I am also able to script mundane tasks like lead gathering via web scraping.
But -- once again, it's not easy or quick to do it right -- get ready for a marathon and befriend as many people at local user groups as possible. Even people working in langages you don't plan on learning and in industries you'll never go in to (you never really know what languages or industries you'll be working in 10 years later anyway). I wouldn't be able to do it without the input of my local ruby group, my coworkers, and some friends I met at our office space at a mid-sized coworking facility.
To answer a potential next question: the resources I've been using/have in my queue are as follows (keep in mind I've been trying to learn full stack web dev rather than just one language):
For Ruby/Rails:
-Agile web dev with rails (practically required these days)
-Code School's Rails for Zombies (Amazing, free, and the right amount of tough for a newbie -- I plan on buying their Jquery lineup soon)
-Michael Hartl's Rails Tutorial Screencasts (I'm definitely a video guy, and you get a discount for completing R4Z)
-Crafting Rails Applications (Takes your perception of rails to another level)
-Programming Ruby 1.9 (You'll have to learn Ruby eventually, might as well learn from one of the best)
-Ruby Best Practices (Its free, darn good, and Greg Brown's a pretty cool dude from what I can gather)
-The Ruby5 podcast (It's 5 minutes, and gives you a great survey of all of the cool widget gems and the large development undertakings within the community)
-Ruby Rogues Podcast (I know one of the brains behind this podcast, so I listen. It's 75% over my head, but the 25% I do get is amazing.)
-Everyday scripting with Ruby (This book is for the audience that the author of this article describes. If you have an annoying, repeated task you're doing, make the computer do the heavy lifting.)
Non-Rails/Ruby:
-Carsonified's ThinkVitamin Membership (Absolutely the best tutorial vids I've ever seen. Short, clear, info heavy, and very quickly retained. I feel like I'm in The Matrix when I'm watching their stuff. There's actually some good stuff for Sinatra, Django, and WordPress here too)
-PG's On Lisp (I have no intention of building Lisp applications, but the book is amazingly written, and interlaced with PG's manifesto for quick, high quality development. Lisp is his weapon of choice but many of the principles here are rock solid regardless of the medium the artist chooses. Plus it's free.)
-5by5 Podcasts, particularly "Lets Make Mistakes" (They're design podcasts, and the professional design industry is particularly adept and finding client and consumer "pains" and fixing them. Plus, you will eventually have to make your products not look like crap)
I apologize for the long post, but if I were reading this thread 6-8 months ago, I would've killed for a list like this. To the "biz guys" looking to learn: you can't go wrong, in my opinion, with the above list at all. If you're low on cash, some of these resources are free, but every dollar I've paid has been money very well spent.