Just because... http://ruby.learncodethehardway.org/