Anki

Anki is a really great flashcard timed repetition learning system that runs on your computer, on the web and on your phone. There are thousands of sets of shared flashcards or you can easily create your own. Great for learning a language.

Link: Anki