So I started a blog ... about learning how to code
dumbblogname.wordpress.com
dumbblogname.wordpress.com
That said, I'm going to disagree on the recommendation of starting a university course. We have to be clear: programming is not computer science. Some of the best computer scientists often write programs with poor implementations, and some of the best programmers I know have no formal computer science education (they tend to pick it up along the way, though). You should absolutely engage in structured learning, but understand that university-level CS may be not be in line with your goals.
Don't take this as a condemnation of CS. I have a background in it and enjoyed it immensely, but after four years of it I decided I simply wanted to be a programmer instead.
Another introductory course is Harvard's CS50[1] which covers a lot of subjects: Programming concepts, C, basic algorithms and data structures, recursion, basic web programming with databases, a glimpse of operating systems and computer architecture. And the instructor (David J. Malan) is great!
And I second Stanford's CS106A/B[2] (CS107 is much harder if you're just learning how to program) - it only teaches in java, but it has more depth than Harvard's, especially CS106B which covers a lot of algorithms and data structures.
[1] http://cs50.tv
Will definitely look at these courses. Muchas gracias amigos