Showing posts with label books. Show all posts
Showing posts with label books. Show all posts

3.12.08

Book preview: Wicked Cool Ruby Scripts

Good things come to those who wait. And wait I did. Somewhere back in June when I could still just walk around in a T-shirt, I decided to buy a book. After getting scared from looking at my Amazon wish list'o-saurus I quickly found myself searching for completely other books. O'Reilly always was a good string to start the search. I mean the search after doing the meta search to get the damn name right. It seemed only more quick to order directly from O'Reilly, you know, cut out the middle online-book-giant. After deciding to go for a more advanced Ruby book this time, the Ruby Cookbook found it's way to my shopping basket. Clearly this was not a book to read from beginning-to-end, but more of a handy help in desperate times. So, why not try to find something else as well? Something to really read from beginning to end. This time I found a book from NoStarch, Ruby by example. I remembered two other books from this publisher which I really valued for it's size, content and readability. So it seemed like a good choice. Time to check out. While experiencing the online-shopping rush at it's peak moment, some promo drew attention. Three for two, 3:2, 3-2=1, I have two, get three, one for free! Finding the last book was a daunting task. Only a few days later I found a book that was just added to the book announcements: Wicked cool ruby scripts from NoStarch. Interresting. It featured a robot on it's cover holding some kind of gem. Good, robots are cool. The announcement mentioned something about system administration, web scripting, utilities and security.

That last one just did it, BANG, the collision of two of my favorite subjects! So I pre-ordered the book, which was to be published in September. No hurries, I had the other two books to read (on top of the to-read-stack I amassed already). But you can guess this one met with the most anticipation. After a while, having started on some other books just to get by, I received both the cookbook and ruby by example. So I started reading (reviews coming soon). Summer passed. September passed. No book. No word. Rescheduled release date. No word. Rescheduled release date. Still no word about my delayed order. So I sent mail to O'Reilly and after getting the most rude, dumb and hostile response. That's quite something coming from somebody who wants my money. To further add to the bad taste, even another release date slipped by. Was it ever going to be finished and sent? A few day's ago finally salvation in the mailbox: my book had been shipped!

After having to wait a few more days, due to a UPS guy being an idiot, I finally had it in my hands! I just took the book from it's cardboard prison.

First impression: this book is thin like it has been starving all those months I've been waiting. 189 is the number of the last page. If you have read my review on Learning Ruby you know I truly value short books. I feel an urge to tell you what I have against big, fat, long books...must..not...rant.

Second impression: the author writes he will skip explaining Ruby. this is not a 101 Ruby book. Ok, good, there are plenty of those already!

Next, I looked at the index, which read as follows:
Chapter 1: General Purpose Utilities...could be handy...Chapter 2: Website Scripting...nice, too many Ruby books fail to give it the attention it deserves, probably due to Rails......Chapter 3: Li(U)nix System Administration...*nix stuff, always nice!...Chapter 4: Picture Utilities...Chapter 5: Games and Learning Tools...Chapter 6: String Utilities...Chapter 7: Servers and Scrapers...what the hell is a scraper?...Chapter 8: Arguments and Documentation...
Chapter 9: Sorting Algorithms...some memories about my study years started to float around in my mind...quit sort...bubble sort in JAVA...beer...youth......Chapter 10: Writing a Metasploit 3.1 Module with Ruby...oh those sweet years, where have the times gone...wait: read again...Chapter 10: Writing a Metasploit 3.1 Module with Ruby......Metasploit...Oreally? OMFG that just ROCKS!

Starting from chapter 10, off course, I read a little, flipped some pages to get some impressions. Well it sure looks promising, short scripts that look really useful, not too long explanations and a clear look and readable format look that is so typical for NoStarch books. Well this can't go wrong can it?

There just remains one question: how the hell will I manage to read 7 books in the same time?

19.11.08

Book review: Learning Ruby

Time for some knowledge sharing! My first book review is off course about a book on Ruby. In fact, it is on a book to learn (a bit) about Ruby. It caries the appropriate title "Learning Ruby". I read this book a while ago which actually helps in writing a good review. The impressions a book makes on the long run are the ones that count!

So let's take a look at this book, and judge it by it's own promises shall we?

The promise
The reason I picked this book as my first Ruby book is the following text on the backside:
You don't have to know everything about a car to drive one, and you don't need to know everything about Ruby to start programming with it. Written for both experienced and new programmers alike, learning Ruby is a just-get-in-and-drive book--a hands-on tutorial that offers lots of Ruby programs and explains how and why they work, just enough to get you rolling down the road.

Great, exactly what I wanted. Just a quick peek at this Ruby thing I heard about. A taste to see if the hype-du-jour suits you. Enough to get you rolling down the road. Well let's look back at these promises and see if this book delivers shall we?

The delivery
Learning Ruby is a book of 11 Chapters written on 238 pages. The first two chapters provide a basic coverage and a quick tour on Ruby. Chapters 3, 4, 5, 6 and 7 deal with the building blocks of a programming language. Things like loops, strings, math, array's and hashes. Small samples of code demonstrate the various techniques that are covered. Chapter 8 handles the working with files. Chapter 9 covers classes, modules, inheritance and other Object Orientation techniques. Chapter 10 focusses on various practical things like rdoc, RubyGems, REXML and exception handling.
A bit of a surprise was chapter 11, which is about Rails. Rails is a web development framework that was written in Ruby.

The verdict
Learning Ruby is a small book, it's only 238 pages. If you think about it, this is quite unique for a book about computer stuff. Especially programming books have the bad habit of having at least 600 pages. I'm not a big fan of big books. First of all, they don't handle. They are heavy too. And, well there is just too much information in them! Try reading such a book in some busy public transport carriage, or find that you need to carry a backpack only because you want to bring along your book, pure evil!

The book covers most basic things, it gives a good feeling about what Ruby is and what it can do for you. The examples were short, which is a good thing because you will try them all yourself. A drawback is that they are not really functional by themselves. Most of the examples worked too! There was a chapter on GUI coding using TK, but these examples did not seem to work for me. The topics the book covers are mostly standard things programming books cover, with the exception of chapter10. I'm not a big fan of how programming books always cover basic things like strings, arrays and arithmetic. But ok, this book also focuses on newcomers to programming. More experienced programmers will appreciate the fact that the chapters are small, but do in fact explain certain Ruby aspects in depth. Programmers of Perl or Python may find this book usefull since it occasionally points out the differences with Ruby on specific techniques. I liked chapter 10 for discussing a few practical things such as dealing with XML or documenting with Rdoc. Chapter 11 however could have better been used to write about more Ruby stuff, not about a (rightly so) popular application that was written in it. People who want to know about Rails want and surely will read a book about Rails instead.

My conclusion is that this book delivers on it's promise. While this book is not an instant classic, the writing and examples in this book are mostly of good quality. If you are a beginning or experienced programmer looking for a taste of Ruby, you'll like this book. If however you are more of a practical person who has already read about basic programming things, you'll probably want to read another book instead.

Considering the price tag and the amount of pages, you'll might just want to buy this when you find yourself in a bookstore on a rainy day and happen to be a little bored but don't want to commit to something. Don't be surprised though if you find yourself getting hooked on Ruby thing after reading this book :-)