Spaced repetition is a powerful method of timing the revision of material to maximise the retention of memories. The idea is that you revise material at increasing intervals (e.g. after one day, then one week, then one month, then one year, etc). The process can be automated using computer software to automatically schedule the repetitions.
For smart phones
There are many other programs around, but take care as many are simple FlashCard programs that do not even attempt to space repetitions optimally. Use Google to search for reviews and comparisons of the above three products. Many of the comparisons are about the user interface, but the underlying spaced repetition algorithm is the important feature to consider.
Most importantly, keep it simple. Spaced repetition of flashcards works best when you have lots of cards, each with a straightforward, unambiguous answer. It works badly if you use only a few cards with lots of information on each one. If you get the answer on a card wrong several times, then the question is definitely too difficult - replace this card with several easier cards to cover the same information in a way that will be memorised more easily.
The Supermemo site has lots of useful tips and information which is useful whether you are using Supermemo or another program. See for example 20 rules for formulating knowledge.
Spaced repetition is a simple but extremely powerful concept that can be used to memorise large amounts of information. It is based on the well accepted science of the "forgetting curve" theory, which was originated over a century ago and has stood the test of time. There are many people around who have used this technique to memorise large amounts of information (for example, I have used it to memorise around 30,000 pieces of information, mostly foreign language vocabulary, over a period of six years or so).
While this really does work, spaced repetition does require quite a bit of discipline - it works best when used every day over a period of years. If you start using it and give up after a few weeks, there will not be much benefit.
I recommend the article recently published in Wired magazine (http://www.wired.com/medtech/health/magazine/16-05/ff_wozniak) as an interesting read.
This article is about a teaching method where pupils are exposed to the same material three times repeatedly in one day. While this is not about long-term spaced repetition, it suggests that we might extend spaced repetition by learning the initial flash cards several times in the first day, rather than just once (as is typical using Supermemo type software).
On my OLPC XO (build 656, runs Fedora), Mnemosyne 188.8.131.52 complained it couldn't find the library libqt-mt.so.3, even after I installed all the other libraries in the installation docs. I found it in /usr/lib/qt-3.3/lib, so I made a symlink like so and Mnemosyne ran fine:
# cd /usr/lib # ln -s qt-3.3/lib/libqt-mt.so.3
I ran into other problems (?) on Ubuntu Hardy Heron, by the way.