Somebody told to me the other day that he learns a lot from following projects on github built by programmers that he admired. I seem to learn a lot in an indirect way by learning and reading about completely unrelated languages. Seems to put new ideas into my head that I can then use in my regular work/languages. That's all free apart from your time.