Check out http://rubymonk.com as well for learning Ruby interactively. We've a free Ruby Primer series that covers the basics of Ruby and a paid subscription with advanced books. The library is constantly updated with new content.
Perhaps the 'Eloquent JavaScript' point should actually refer to http://jsbooks.revolunet.com and mention Eqloquent as a first in a series of great resources.
BLATANT SELF-PROMOTION! For those of you that are sick of getting stuck and demotivated when learning online, my school for programmers opened up applications last week.
I live in South Korea and can't get to San Francisco for a 12-week stretch. But you have a tremendous idea here and I'd love to be a student.
If you could compress the in-class time to 4 weeks and let me do the rest remotely, and offer a price-point at roughly one-month of my salary or less, I'd be all over this.
I wish there was a more affordable alternative to bloc.io. The idea is really great, this mentee - coach relationship should help a lot in sticking with it and having a rapid learning curve.
I really like the 10 year plan. It might seem a long time, but if four of those years are college that's about half, and if you do a masters program that cuts it down even more.
Personally if you do four years as a CS major but program on the side or actively practice programming it's more like 5-6 years. That gives you 4 years, where you go out and get programming work experience, in the real world. In that situation, 10 years isn't much.
I think I want to learn enough programming that I work on pet projects and I have capability to understand modify lets say Selfspy or nvPY (posted on HN) or help Nixnote developer, etc.
Most people ever become genius in their own chosen field let alone they can master 3 or 4 different fields. Not to say it's not possible but highly unlikely.
Do you think that perhaps the recent "craze" to become a developer is not founded on solid group? Are people wasting their time and money? Definitely feel there is some merit to Peter Norvig's comments.