By Zed A. Shaw Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World Of Computation (3rd Edition) [Paperback]