I know why you're here. The same reason I am - enlightenment. I don't mean that in a spiritual sense. You want to go beyond gaining knowledge, you want gain an understanding. There is a difference. Knowing something or what it is capable of does not mean you understand how to make it so.
Therefore, I have set myself a challenge, not limited by time to sharpen up my general programming abilities. In the process of doing so I'm sharing what I learn in hope that it might help you some day.
The objective is to not only learn programming languages but, by writing about what I'm learning I hope to gain a deep understanding of each topic.
Each topic will only cover a very specific and narrow part, function or operation of a programming language. This should allow me to put maximal concentration on a single focus and hone my skills one bit at a time.
What spurred this want for understanding functions of a programming language comes from a little interaction I had with scanf() in C. Anyone who's written a program in C using scanf() to receive various types of input will know what I'm talking about.
There's a link to the Programming Quest Blog in the menu for quick access. I call it a blog for lack of a better understanding of what it will be eventually. Perhaps view it as a Learning Environment.