The answer is a very decisive "It depends".
I think you can learn most if you do something you are interested in and that has some real world value to you.
Example: I wanted to learn how to build GUIs in Ruby and the secretary at work kept pestering me with loads of minor updates to the web page. So I built her a small tool with which she could update the site herself. I learnt a load and it cut me some slack at work - a win- win situation
So the questions: what are you interested in and what has real world value to you?