On Tue, Nov 17, 2009 at 9:12 AM, A. Rich <[email protected]> wrote: > I'm thinking that we're going to move from cfengine 2 to puppet. This is > going to be a big architectural shift as well as a programming language > shift. > There seem to be a lot of ruby books out there and one puppet book. If I > had > to pick, say, three books to delve into ruby and its uses for puppet, which > ones should I pick? >
You don't need to know that much Ruby (if any) in order to use Puppet, unless you want to start writing extensions. That said, I've been writing my new open source Netomata Config Generator (NCG; http://www.netomata.com/products/ncg) tool in Ruby, and I'm really digging the language. My favorite book for learning Ruby is "Design Patterns in Ruby" by Russ Olsen (http://www.amazon.com/gp/product/0321490452?tag=greatcircleassoc). As I said in the review of it that I wrote for Amazon ( http://www.amazon.com/review/R13P5OY61XK0WS?tag=greatcircleassoc): If you're already a programmer, this book an excellent way to learn Ruby. It shows how to apply a variety of common and largely language-independent programming structures ("design patterns") in "the Ruby way". Along the way, you get a great introduction to what makes Ruby unique, and the idioms commonly used in the Ruby community. I especially liked that the author often showed multiple implementations of each pattern, each implementation being more elegant and Ruby-esque than the last, and included a discussion of when each might (and might not!) be appropriate. I also appreciated the helpful discussion of the ways you might shoot yourself in the foot with each pattern in Ruby, as well as the pointers to where you could find the pattern used in Ruby "in the wild" (in various software freely available on the Internet). My favorite Ruby reference book is "Programming Ruby", by Dave Thomas et al, published by Pragmatic Press. There are two editions floating around out there right now. The "Second Edition" ( http://www.amazon.com/gp/product/0974514055?tag=greatcircleassoc) is for Ruby 1.8, which is what is still the most common version. The one titled "Programming Ruby 1.9" ( http://www.amazon.com/gp/product/1934356085?tag=greatcircleassoc) is, obviously, for Ruby 1.9, which is just starting to come into common usage. I haven't looked at Ruby 1.9 yet, so I don't have any sense of how much it differs from Ruby 1.8. My sense is that most Puppet stuff works under 1.9, but that 1.8 is still the preferred platform; I couldn't find anything on the ReductiveLabs web site to confirm or refute that, though. There seem to be a number of open bugs related to porting to 1.9, though. -Brent -- Brent Chapman <[email protected]> Netomata, Inc. -- www.netomata.com Making networks more cost-effective, reliable, and flexible by automating network configuration
_______________________________________________ Tech mailing list [email protected] http://lopsa.org/cgi-bin/mailman/listinfo/tech This list provided by the League of Professional System Administrators http://lopsa.org/
