While looking for Ruby tutorials, I found this page which details an innovative way to learn a programming language - by immediately writing Unit Tests for everything you read and eventually want to put to use. This strikes me as very cool idea - you are in fact learning while making your own interactive documentation of things that YOU consider useful. Plus, you start by learning Unit Tests, which never hurts. :)
Of course, this is applicable not only to Ruby but to any language that supports Unit Testing and probably also to others...
P.S: To all the people who commented on my rant about programming languages: When I wrote that I tried out Clear, Erlang or Eiffel, I assumed everyone will automatically understand that I also tried out relative "heavyweights" like Python and LISP. And Karel. :)
P.P.S: This is inflatable 1 meter high KAREL THE ROBOT, sitting on my cabinet. It was made in Czech Republic around 1985 or so (when it still was part of "Czechoslovakia"), and is still able to "hold its air"! Karel programming environment was all the rage back then, officially sponsored by the Communist Party and Svazarm (a weird organization which taught technical stuff to young people, in coordination with Czech Army, and was practically the only way for a young person to get hands on any kind of computer). Although it was maintained at the time that Karel was invented in the Czech Republic (Karel is very common Czech name), it was in fact invented in the U.S. in 1981 and named after Karel Capek (a Czech) who invented the word "robot"!