Put your email in your profile.

It's great that you are sufficiently motivated, willing, and ready to learn.

Important: You need to iron what kinds of things you really want to create. There are a ton of spaces you can venture into via programming. By your wish list it seems like you want to build web-apps.

I currently work for a yc-funded startup as a rails developer. I have no further formal education beyond high-school. I happen to say this a lot but it's exactly for people like you. You don't need a formal CS degree to build web-apps specifically. Of course I couldn't work for google atm but the point is you need to pick WHAT you want to build. Chances are what you like does not involve the stuff you think you need to learn. If you want to work on natural language processing sure you may need some more formal training, but a CRUD app is a CRUD app is a CRUD app.

So what do you want to build? What do you really want to build?

If you want to be a web junky I can help you there:

1) Run Linux.

Or get a macbook if you can afford it but you will still need to know Linux since your app will likely be on a linux-based instance. You NEED to know your away around the command line. You might need to check logs or do some sql on your staging server or something. GIT is also a must and runs on the command-line. You'll debug your app in console mode. You'll run rspec tests in console. You'll launch your first rails app on http://heroku.com. Next get a http://linode.com and follow the tutorials about how to set up your own server. (the point is learning how its done, not necessarily being a pro sysadmin).

2) Rails.

Follow this tutorial and you will finally be able to build that blog engine =) http://guides.rubyonrails.org/getting_started.html

(note: I usually recommend http://www.sinatrarb.com/ as someone's first web-app in ruby but it seems like you understand programming enough to tackle rails, though the sinatra is ass-simple and lets you get your hands dirty with ruby itself. But knowing your way around rails is a definite plus on the employability side.

3) Get GOOD at MySQL (or another datastore).

Apps nowadays are all about the data. The trouble with frameworks is they grow increasingly dependent on abstractions. I'd wager that a good number of employed Rails dev's couldn't write their own sql. Using an ORM is great and has great MVC an advantages but you can't let it be your crutch. Nosql is damned cool but mysql is the defacto standard so therefore gets +1 on employability.

4) Javascript.

I would not recommend doing any kind of javascript "the rails way". Just nevermind all the stuff you read about javascript whenever it has anything to do with rails. The reason is because you don't actually be writing javascript and you need to learn how to write good, unobstrusive javascript. To speed things up you should be good with http://jquery.com. Many here advocate learning to code without a framework but jquery is that good. Again just don't use it as a crutch.

Well that's about it for now. Please feel free to ask me questions as these things are surely not as straight forward as I've laid them out to be. Even getting rails up and running can be a pain in the ass (hopefully you aren't on windows). My email is in my profile.

Remember, I sincerely believe the most important thing is officially working out what it is you really want to create and then you can assess how to get there.

Have fun!

Oh almost forgot. Some great advice I got from a fellow programmer I met in Boulder. It's actually the key to what made me commit to learning linux/rails (i was a lamp guy before) and which ultimately led me to the job I have now.

"The bar is lower than you think."