WaniKani at Terminal Speed

WaniKani at Terminal Speed



Purpose:

Speedread training of vocab and kanji

Description:

Please don't mind the name, my lack of creativity as a programmer is severely apparent. 
More Pictures:
Image 1 Image 2 Image 3 Image 4 Image 5
For those of you who have played BrainSpeed on smart.fm, this is very very much like it.  A term is displayed and you must choose the corresponding answer within a time limit. The more consecutive answers you get right, the shorter the time limit becomes.  I had originally wanted to write an Android app, but this thread essentially made me want to get something cross-platform out there fast.  Unfortunately, the user friendliness bar of this project is a little high ... so this thing could possibly be a mock for a future Android app.

Installation and Requirements:

Here's A Newbie Guide if you'd prefer a step by step guide.

Get the script here: WaniKani at Terminal Speed Python Script

There is an API_KEY string at the top of the file where you should put your API key.

It's written in python and relies heavily on the curses library. I've tested it on OSX, Ubuntu Precise, and Win7+Cygwin - but three machines is hardly inclusive, so there may still be compatibility issues.  It wants a terminal sized at least 80x25. (I've also found it nice to increase the font size of your terminal since Japanese in a terminal is eyecancer).

Usage:
Invoke it from a terminal however you like, there are no arguments to the script.
$ python wkts.py
$ ./wkts.py
Use numbers or arrow keys for navigation. Backspace sometimes allows you to go back a screen (Where it makes sense).
Left and Right keys for performing the reviews. [There are some more such as (1 + 2). and (asdf + jkl;)]
The "Update Local Data" option must be run the first time to synchronize a local cache of your vocab and kanji lists from the WaniKani cloud. This will create 3 files in your working directory: kanji, vocabulary, and srs-distribution.

Status and ToDo:

Please don't judge my code too hard. I also cringe at all of the bad things I did in favor of fast coding.
This is the first functional release, so I may go back to clean it up for an official 1.0.
Only one thing I can think of for feature update:
- Mixed Review Types (Kanji + Vocab)
Edit Mar.11:  Properly use time for statistics, less timer backoff when getting an item wrong, less conceited window, a little code cleanup (aka bugs introduced)

Since I don’t have any burned items, it’d be really nice to confirm if the burned decks work! 

This is very sexy

For some reason I’m thinking of reader rabbit on DOS, which is a good thing.

sounds awesome, I’m gonna have to try it out, I like that it looks like you can limit what you review based on mastery level, so I don’t have to worry about messing with the SRS for apprentice/guru/master items

Wow! Certainly interesting!

koichi said... This is very sexy


 Just like you are, Koichi! Wanikani is trending!

liking this a lot… the insanity of high speeds is great

Juichiro said...
koichi said... This is very sexy


 Just like you are, Koichi! Wanikani is trending!
 
Sexy man, deeming something sexy, is sexy indeed

Looks pretty good… I’ll have to give it a try sometime if I ever stop being lazy. q: 

THIS IS AMAZING! Thank you so much! How come I didn’t see this before? 

I can’t get this to run, I’ve installed both Python and Cygwin and I haven’t been able to get it to work. Gah I really wanted to use it too. 

Brad said... I can't get this to run, I've installed both Python and Cygwin and I haven't been able to get it to work. Gah I really wanted to use it too. 
 Same here. I have no experience with Python, but I've been doing my best to try to figure out how to get this working. Hopefully someone can be kind enough to explain exactly what we need to do.

Sorry, I didn’t see this thread update. What problems are y’all running in to?
Edit: I’ll try to make a newbie guide after work today.

nfinite said... Sorry, I didn't see this thread update. What problems are y'all running in to?
Edit: I'll try to make a newbie guide after work today.
 When trying to run the script I get an error saying "Redirection not allowed." in the terminal. I've looked into this and I guess it has something to do with curses for Python. It would be awesome if you made a guide, as I'm still trying to get this to work. 

I’ve updated the op with a link to a rough newbie guide.

Hmm, I’m not sure where that error is coming from =(.
Just to double check, what version of Python did you install? I only tested with 2.7.

Followed the guide and everything is working fine now! Thank you for this!

Reinstalled Cygwin and it seems to be good now. Thank you!

Works perfectly; you’ve done a beautiful thing here.
(The newbie guide was very helpful!)

SO COOL!  Thanks so much for taking the time to create this! :) 

どうもありがとうございます!