I don't own your book but I've done some research on it and the subject of Ruby Gems. I've also worked on some Rails apps in my own time and have written a few Ruby scripts at work to ease my pain. I've found the language easy to use and a great alternative to Java for some things.
My first question is unrelated to Ruby Gems, but on Ruby in general. I'm sure this has been argued a million times on the internet already, but why should I choose Ruby over Python or Perl? What advantages does Ruby give me? I already know some of these myself having worked with it, just curious on what you think.
My second question is for all the Ruby Gems available on RubyForge, how were you able to choose only 30 of them to cover? I don't know which ones are covered in the book, but I'm curious if you were focusing more on what would be useful for a novice, or a wide range of topics that could form the basis for most projects?
Thanks for the response and good luck on future writings!
Good questions. I think Ruby is a bit slicker than either; not everyone agrees with me, of course. In particular, I feel that Ruby has a very powerful metaprogramming and reflection techniques; in fact, that's what attracted me to Ruby in the first place. (I wrote an article on Dynamic Databases with Ruby back in '04; it appeared in Dr Dobb's Journal, and you can read it here: URL=http://www.ddj.com/dept/database/184405925]http://www.ddj.com/dept/database/184405925[/url])
As for the second question, to quote Tim Hunter's slashdot "As far as deciding which gems, ...I tried to look at things that had practical applications - as well as things where I could give it an interesting angle. Above all, I tried to cover different material in a different way - I wanted to get people to think "wow, that's great." Of course, not everything was completely off the beaten path - Rails, for example, was covered, and that' easily the most popular gem, and RMagick isn't exactly unpopular either, but I tried to show gems which could make very difficult, less covered problems - like programatically using zip files as a container, writing PDFs, or automating SSH tasks - into easy problems...The biggest thing for me is that I wanted to make people say 'You can do that with Ruby?'"