I have been using Anki for two years.
It is one of the best learning and memorizing software I have ever met. It is open-source, freedom and personal.
I have added 18,000 cards in the English desk, making my English from slag to intermediate level where I can read English articles.
I also created other types of desks, related to my major and my interests.
The next steps are to improve my knowledge base of my major: create cards I should memorize, check my cards’ grammar and add some necessary pictures.