If you've got the time though, there's plenty to keep you busy and entertained. Warning: It's very addictive, but also hugely time-consuming initially. However, once you're versed in the basics, the possibilities are endless, and when you do reach the end, you can just write more code to make it do what you want. A long-term investment of time and energy that will be worthwhile for some, but definitely not all.
[For alternatives, follow the Learning Platforms label to other featured tools]