To learn a new language, read its standard library
I've jsut discovered this approach with python. I usually used google and cookbooks. But I often found myself in position where I tought 'surely there must be a better way to do it'. Reading the standard library really helped me understand how to do some stuff. Best way I found to enforce what I learnt was to rewrite some code with minimal imports.