I use a smart SRS (spaced repetition system) called Anki. Its free!
I find it incredibly effective. I use it for learning programming (JavaScript, Ruby...), Vim, Regex and various other things.
If you haven't already you should really ckeck it out.
This repoitory is a place for me to store the decks that I create.
You're more than welcome to use them if you find them helpful, just note that it is usually far more effective to create your own cards.