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/

Reply via email to