Nuku is a small program that quizzes you on Katakana and Hiragana characters. You choose which characters to be tested on, then choose the amount of characters to be used in a test and/or a time limit. The program shows you random characters and you have to select the romaji reading of them.
It is very useful to test your ability to recognise characters.
The only way I found to really learn kana was to write them out again and again until I knew them. It takes about 2 weeks to a month. You should also write them out now and again after you’ve learnt them to keep them fresh in your memory.