KameSame - a fast, feature-rich Japanese memorization webapp

Is that for Android or iOS? Looks pretty cool! ^^

EDIT: Oh, I see you have optimized the web app for mobile phones. GOT it. Cool.

Um, so I’m on a work computer and don’t have an IME, nor can I install one… Any thought of adding Wanakana to the code so you can have the IME embedded in the site (as WK does, as well as a few other scripts)?

This has come up a number of times, but at this time I’m not planning on it. A big reason for writing the app is to force production of words in a natural way (that is, with a real keyboard, producing the correct kanji). Using a JavaScript library that only generates kana isn’t sufficient for that, IMO.

I feel for people who work at places with locked down machines, but I’m sure the same places would have policies against doing WaniKani like exercises on company hardware & time anyway, so I’d just recommend using your smartphone.

1 Like

Is there an easy way to know if a character is a radical? Like, some kind of flag, or all radicals being in the same range or something like that? If so, if an answer is KO, you can verify if any of the characters inputted is a radical and throw a warning.

By the way, I don’t know if this is really a good idea, I’m just considering if it is technically possible.

With enough time and energy, almost anything is possible. Yes, a program could figure out based on a table of code points whether a character is a radical and what kanji it would map to, but it wouldn’t be worth the time in this case IMO

1 Like

You should maybe make the e-mail address non case sensitive. I could not log in for a while, until i tried to write my mail address with an upper case first letter, it seems that’s what I did when creating the account. Mail-addresses are usually case insensitive.

Good point, I’d been meaning to fix this.

Login is now case-insensitive and all email addresses have been downcased and stripped of any whitespace.

At least in the macOS IME, you can get the iteration mark by typing おなじ (同じ, which means ‘same’). Incidentally, 同 is the kanji from which 々 ultimately derives.

Every IME I’ve ever used has some facility to allow you to add words, so if you’d prefer to be able to type のま for 々, that might be something to try.

1 Like

What about text prediction of the JP keyboards and IMEs, then? Doesn’t that somewhat defeat the purpose?

I see what you’re saying, but in my case it’s easier to have another browser tab open than to look down at my phone. (I work reception at a front desk.)

Either way, thanks for your response. I look forward to trying this out more once I get a new laptop.

I found a little bug in how Kamesame was detecting alternate matches. Example:

When searching for 綿布, 木綿 was not registering as an alternate match, even though I had set in WK a synonym for 綿布 of “cotton”.

I expected the above to work, so I made some changes to the backend’s search for matches and it will match now.

Letting you all know this in case you notice any surprising or bizarre alternate matches. Let me know and provide examples so I can sort them out.

Thanks!

Heads up that WaniKani’s v2 API appears to be down, and every time KameSame tries to hit the /user endpoint, it results in a 404 error. This means login & account creation will both fail. If you’re already logged in, it’ll keep working.

I’d like to add error handling for cases like this, but I have not yet and don’t have time to do it today (and would rather not create more bugs by forcing a solution).

@viet, is this a known outage?

Can you check if you are hitting the rate limiter? Details should be in the response headers.

We corrected our rate limiting method. The set-up before was really lenient (it was limiting by concurrency, thread, and then api key/ip). The set up we have going right now is representative of what we are advertising, which is now by api key, regardless of concurrency/thread.

1 Like

I’ll check now. FYI, this is happening from multiple IP addresses and for multiple WK API V2 keys.

Are they 404s or 429s?

1 Like

Here’s the headers (sorry for the rails console formatting):

> response.inspect
=> "#<Net::HTTPNotFound 404 Not Found readbody=true>"
> response.each_header { |h| puts h }
server
date
connection
content-type
x-request-id
x-runtime
strict-transport-security
vary
transfer-encoding
via
=> {"server"=>["Cowboy"],
 "date"=>["Wed, 05 Sep 2018 22:31:44 GMT"],
 "connection"=>["keep-alive"],
 "content-type"=>["text/html; charset=UTF-8"],
 "x-request-id"=>["6fa46321-5f67-4e2d-acb6-1ae88eb8a53b"],
 "x-runtime"=>["0.004889"],
 "strict-transport-security"=>["max-age=31536000; includeSubDomains"],
 "vary"=>["Origin,Accept-Encoding"],
 "transfer-encoding"=>["chunked"],
 "via"=>["1.1 vegur"]}```

I see you are getting a 404 on the example.

Can you shoot me an email of the endpoint you are hitting and the api key?

viet@tofugu.com

Are you getting any 429s at all? The payload should be an object with error and code keys. In the headers you should also see RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset.

1 Like

Sent. No 429s, all 404s.

Thanks to @viet’s help, I think KameSame should be fixed momentarily as a deploy finishes. The app was using a deprecated URL for the WK v2 API, which was disabled earlier today, hence the failures. We’ve updated the endpoints and it looks like things once again work.

Yay! Thanks @viet!

4 Likes

Hey so I’m having this issue where I have 53 reviews to do, but whenever I go over to do reviews, it asks how many I want to review. By default it says 2…

So basically easy solution, change the number to 53. So I do this, however then I am faced with a new dilemma being that the review session starts, but it only lets me review 2 at a time.

Which means I’d have to enter reviews a total of 27 times in order to get everything done.

I’m not sure what to do, and assistance would be appreciated!

1 Like

This is definitely a bug. How it works currently is it remembers how many reviews you asked for and then saves that amount.For whatever reason this isn’t working in your case.

I just set it to 100. Will look into what happened as soon as I get some time to work on the app

2 Likes

I don’t have anything meaningful to say besides: THANK YOU.
This app is all I wanted. The perfect companion to Wanikani.

3 Likes