Skip to content

Book Review: Practical Ruby for System Administrators

One of the things I do with Ruby is to use it to help handle some of my tasks when I am wearing my sys admin hat. I can’t say I’m a Ruby expert by any means but when it comes to writing code, I always get the shivers looking at Perl which is a shame since any sys admin worth their salt should probably have an okay understanding of Perl.

Anyways, when I saw Practical System Administration with Ruby I knew I had to pick up a copy to see if I could glean any really cool hints and tips for easing the tasks of system wrangling.

The breakdown of the contents kind of goes like this:

  1. What Ruby can do for you and common tasks
  2. Performance and Metaprogramming
  3. Handling files and dealing with storage of data
  4. Networking and monitoring
  5. Ruby gems and testing

The book itself isn’t so thick which is good for reading while on the train and I found Mr Hamou’s discussion of Ruby quite good however and he had a pretty explanation of meta-programming which is a topic I almost always completely forget right after I read about it, unfortunately. And in some cases, meta-programming seems like a heavy hammer when what I want is mostly a way to glue different components together in a more elegant way than writing a shell script. While it’s nice to see an explanation of meta-programming and some nifty ways to model users and whatever. Perhaps what might have been more interesting is to have some examples that show how one goes about migrating from that shell script that was written in haste under pressure and refactoring it into a more elegant Ruby script. Perhaps that is just me…

What I liked was the chapter on how to take advantage of one-liners for Ruby. I imagine most seasoned Perl gurus will look at that and go ‘ha’ I can do write that even shorter! However, it is nice to have Ruby equivalents that can handle most of the same thing.

The section on performance was so-so but most of the time I am looking at tools for gluing things together and performance tends not to be a big issue rather than finding a way to glue things together that doesn’t make me want to scream.

The rest of the pieces, I can’t really remember much about them and was sort of disappointed with the Ruby gems chapter. While it’s nice having an explanation of gems… the documentation on the website for gems s adequate enough. What would have been more interesting is how to handle setting up private repositories for gems and some more techniques on how to have gems do a bit of heavy lifting.

While I did get a chuckle at the author taking potshots at LDAP, I’m quite disappointed he didn’t offer much better solutions besides ‘home-grown that only the creator will ever figure out’. While LDAP is not something you can just pick up in a few minutes, it definitely fills a niche that can be sorely needed once you get past a certain level of systems that have some sort of authentication and you want to avoid the ad-hoc gazillion systems that are so easy to create but so
hard to stomp out.

Overall, I give this a book probably an average rating since I only found the one-liners chapter to be the most useful chapter out of all
of what I’ve read sadly. The rails chapters I found mostly worthless since there is a way better book out there that can explain to you how Rails works for most of the cases. I don’t expect one book to fill all needs in the Ruby world but I was hoping for more than what I got. But overall, it didn’t suck and the reasonable price for the book doesn’t make it as hefty as picking up other books.

Other Reviews

Be Sociable, Share!