Screenshots | Project page | Download | CVS | Browse CVS
Powermem is an application to speed and enhance the memorization of text-based facts; using it, you should be able to memorize more stuff, better, in a shorter period of time than with other methods. It also makes memorization fun.
Powermem is not currently under active development, and hasn't been for some time; I may however work on it more at some point in the future.
Powermem is licensed under the GNU General Public License (GPL).
Powermem is based on the principle of memorization through repeated exposure to material. This is accomplished by quizzing the user on a collection of facts (called a lesson) the user has established. First, a question is shown, and powermem waits for the user to request the answer. Then the answer is shown and the user grades him/herself. Grading is a simple matter; you merely enter a key indicating how well you knew the answer. Powermem doesn't attempt to grade you automatically, because it would require more work from you to enter the correct answer than to simply grade yourself (not to mention that automatic grading would be a lot harder to program :) )
Every question/answer pair (called a card, after flash card) has an "interval", a period of time powermem waits from the last time that card was scored to the next time the card is shown. Cards the user gives a good grade to have their interval increased, and so are shown less frequently; poorly-known cards have their interval reduced, and are shown more frequently.
In this way the cards the user knows least well are shown the most frequently, helping the user to learn them, while cards that are well-known are shown less and less often, so you don't have to waste your time reviewing stuff you already know.
Powermem believes in giving feedback in order to allow the user to see his/her progress and to provide motivation. As such, a bunch of stats are saved at the end of each session. The stats for any session can be retrieved and compared to any other session, to see exactly how far you've progressed between the two. (ie, you can see how many cards you've seen, how many sessions you've done, how much time you've spent, various indicators of how well you're doing, etc)
Powermem includes both a GUI and a console interface for it's interactive quizzing modes. The user can select which one to use.
Powermem allows the user to automatically grab data from external files and convert it into powermem lesson format. This is really useful if, for example, you are studying a foreign language and have a dictionary you wish to quiz yourself on; there is no need to manually type in thousands of entries.
I have included importers to import Japanese data from edict and kanjidic, two free and pretty good Japanese dictionaries.
Another neat feature is that you can automatically update your lesson files from external data files with powermem-import. For example, let's say the dictionary you imported your data from has been updated; many of the definitions have been improved and there are also new ones that were not in the version you imported from. Rather than attempting to update your lesson file manually (which would be tedious beyond belief and very error-prone), you simply run powermem-import again, and your lesson file is automatically updated (while retaining all of the statistics you have accumulated). Pretty cool, huh?
Yet another useful feature is that you can combine data from multiple dictionaries into one lesson file, even if those dictionaries are of different formats. If the formats are the same, you can do it with one use of powermem-import; if the formats differ, you will need to use powermem-import once for each format.
An general-purpose importer (generic-importer) is also included, to ease creating your own lessons from scratch; you just make a file of questions and answers separated by separator string(s) you choose, and run powermem-import with generic-importer on this file. This file may have multi-line questions and/or answers. Of course, you may later update this data file and use powermem-import to automatically update your lesson file.
You can also write (using Python) your own importers to grab data from any file format you wish. This is easier than it sounds, as the importing framework is included with powermem; all you need to do is specify how to do the actual conversion.
Beyond the ability to write your own importers, you can extend powermem's own functionality. For example, While studying Japanese, I realized it would be really useful to be able to look up words and kanji (those funky, complicated characters) related to the current question (or unrelated, if I want). So I wrote an extension, and now I can do those things from within powermem itself (screenshot), rather than cutting and pasting into an external dictionary lookup program.
You can extend powermem similarly, using Python.
Powermem is build for speed. I use it every day on a lesson file with almost 20,000 entries; on my 733 MHZ machine, it starts in well under half a second and shuts down even faster (this assumes powermem is already cached by the OS, and that you are using the console interface- the GUI interface takes a bit longer, and takes a lot longer if wxWindows isn't yet cached). Showing the next card is instantaneous in either interface.
All of this is great, but some of it (mainly figuring out how to write your own importers) is complicated by a lack of documentation. Powermem does include fairly decent docs, but not (yet!) any on creating importers; for now you will need to look at the example code provided.
Also, some things may change in future releases, mostly for importers and extensions.
Powermem is written by Paul Mueller <yuurei AT users.sourceforge.net>.
It was originally based on mnemo, but has evolved significantly, including being rewritten in Python (mnemo is a Perl program).
The oldest similar program I know of is SuperMemo, a shareware (ie, not free) program that is only for Palm Pilot or windows. The SuperMemo website also has a bunch of articles on how to improve one's memory.
mnemo, the program powermem is based on. Mnemo quizzes the user on multiple lessons at a time (this is planned for powermem 0.4.1) and offers content censoring (for kids, etc).
Powermem includes a program to convert mnemo files to powermem format. It currently works with mnemo 0.2 and may work on later versions as well.
A third program is memaid; a neat thing about this program is that it uses a neural network to calculate when to show its cards.
Screenshots | Project page | Download | CVS | Browse CVS