Memory Software
Most people know that computers are much better at people in "remembering" things-- that is, holding onto data. But many people don't realize how helpful computers can be at helping us remember things, especially languages.
SuperMemo is one such program. With SuperMemo, I managed to pass the 2kyuu after only four months of intense study. I no longer recommend SuperMemo for studying Japanese.
Instead, I suggest Mnemosyne.