Can’t wait to play with this post JLPT!! Thanks!
BreadstickNinja said... *excitement intensifies*Don't you mean: "*intensity intensifies*"?
Wish there was a mac version of this. :(
SparkGap said... Okay, here's a big one for convenience:The good matcher would make the part in the parentheses optional (including the parentheses themselves). I don't know the internals of the system but if it's using regex it's probably not much to change (basically a research/replace of "\((.)-\)" by "\(? 2whatever symbol you need to use to insert the captured string"? \)?")
Remove the (example) parenthetic words from accepted answers.
Example, 党: Default definition grabbed is: "party (political)" but you'll get it wrong if you just say "party". I don't want to have to edit all of those that will be flooding the definitions manually, so the matcher should stop when it sees a '(' character.
PS: I'm not saying regexing an entry to use in a regex again is the best solution, I just find regexception nice (just got a bit angry at my own failures lat times and it's been a while so please forgive the errors)
I can't test the app now because I'm at work but I will try it tonight. I think an offline app is really good for the times I don't have internet (or unstable internet). Looking up by radicals look nice, might end up as efficient as the electronic dictionaries (even more after putting custom names on them maybe). Plus a Surface is much cooler than an electric dictionary.
SparkGap said... Awesome, now that I'm home and have had a chance to look, it's really well made. There are a couple of features that might be useful to add. Here are my thoughts after using it for a bit. If I missed something and suggested a feature that's already there, slap me with a piece of roadkill.Great, thank you for your feedback!
1. Easy multi-selection in the SRS items page (besides select all). Like shift clicking to select things in a range.
2. The SRS item addition page's title says "SRS item edition".
3. There should be a "quick-add" button to add kanji or vocab without bringing up the addition screen. I'm not going to modify them most of the time.
4. Clicking on a reading in the details section on the kanji page should input that into the reading filter automatically. Again, I don't really foresee too many times I'd copy the reading from the box without immediately pasting it to search (if I didn't want to swap my IME mode).
5. Closing the kanji page and pasting in a new kanji is a two-step process for searching for kanji that could be cut to one if there was another search bar above that button.
6. Feature to delay vocab reviews containing a kanji until the kanji is at a certain level?
6.1. The SRS tab should have a "containing kanji" filter box so we can easily turn kanji-relevant vocab on or off if that isn't an option.
I can't think of any more at the moment. I may edit this or post more thoughts as I have them.
For #1 and #6.1, the SRS item filter screen is a bit rushed. Selection is tedious, its performances are terrible, and there's a number of things you can't do for now. That will hopefully change, but not for the next update.
I'm taking note of #2.
As for #3, I figured this feature would be asked. It's typically something I would never use (and that's why it's not there yet) but I'll probably add it soon.
#4 is something I wanted to do but dropped for some reason. I'll put it back on the list. Did you notice that you don't need an IME to type kana in reading filter boxes though?
I'm not convinced by #5. There are tons of other filters for kanji and you would still have to close the kanji page to access them... I have to add keyboard shortcuts though.
#6 is something I'd love to have for myself too. Learning a kanji and its vocab at the same time is clearly less effective than what WK does. The thing is, it's a bit of a pain to implement... you'd need a control to select the kanji you want to "link" to the vocab, that would mean database structure changes, and then at kanij level up, big fat checks to update vocab that is ready to appear... hmmm...
What about delays? Like saying "I want this item to come up in 2 weeks". Of course you would be able to specify whatever delay you want. It's not a perfect solution but it's easy to implement and it should do the job most of the time, I think.
SparkGap said... Ah, here's one.Yeah, well, don't do that!.. I'm adding this to the bug list.
When I add kanji through the kanji panel, I can click to another one and back and I can add it again, creating duplicates.
SparkGap said... Okay, here's a big one for convenience:Granted. I almost always edit the accepted meanings so it never really bothered me, but with the quick add button, I can see it becoming crucial for some people.
Remove the (example) parenthetic words from accepted answers.
Example, 党: Default definition grabbed is: "party (political)" but you'll get it wrong if you just say "party". I don't want to have to edit all of those that will be flooding the definitions manually, so the matcher should stop when it sees a '(' character.
Lin said... I get a message that the executable file is corrupted. So I can't get the program after download.Not sure what happened. I can see some browsers and/or antivirus programs telling you to be careful because this isn't a verified installer and all, but corrupted? Did you try to download it again?
Is there a problem, something hacked?
ocac said... This is why I love the internet.Thank you! I'd sure love some cookies! :)
I love what this already is, I love the ideas for what it might be being thrown around, and I love that it looks like that might happen.
You may not seek heavy-playerhood Doublevil, but you may just get donated at somewhat heavily. Cookies may be affordable.
I'm not sure if the strategy should be to fund you cake and coffee to energise your production (and distract you from anything else important in your life, like study, hygiene, or love), or to later reward you with congratulatory beer or wine for a job well done.
I'm not letting myself look at this in detail until post-JlPT, because I just don't need to be more distracted. But, your comment that WK is the best damn SRS out there, I agree with deeply. Cooori is sorta eh... I love all the Anki can do, but I do not love what it is to use or how it looks. If there was just something that did what I wanted in the first place than Anki's flexibility wouldn't be so important in the first place... (And bulk import means one could compose and export Rikai-sama Auto-Import decks from Anki to Houhou...*mmm*.)
Not sure if it's a feature yet, but enabling the playing of vocabulary pronunciation files, such as Rikai-sama extracts from JDICT, robotic though they are, would be sweet. Perhaps a targeted "grab" feature to pull the audio for exactly what you want, as sometimes Rikai-sama being locked on the first listed definition is prohibitive (if anyone can tell me a way around that, appreciated).
I don't have any audio resources right now, not sure it is part of the JDICT but I can be wrong. I may look into that in the future but that is not a priority.
This is really awesome! Thanks for posting! That import feature is gonna be handy.
Fair enough if audio isn’t much of a priority, but now I see it’s JapanesePod101 it nabs it from (mentioned on the sourceforge page), had thought it to be JDIC or WWWJDIC (which does have pronunciation clips).
Should you be interested in the functionality, or what Rikai-sama can generally do (I think it is bafflingly powerful), here’s a useful, pleasingly clear set-up post on it with a link to the less-clear sourceforge page:
/t/RikaisamaAnki-with-Wanikani/4839/20
Will get the oven on.
Hey, gonna check out this beauty right away, but I’ve had issues when running it for the first time - I’d get a tray icon, but no program window. Killed the task and launched it again, got a window but also this:
---------------------------
Fatal error
---------------------------
It appears that Houhou has been vanquished by an evil ArgumentException.
Houhou will now shutdown. Sorry for the inconvenience.
Houhou’s last words were: “The root Visual of a VisualTarget cannot have a parent.”. Oh the pain it must have been.
In the future, you will be able to submit a report when this happens.
---------------------------
OK
---------------------------
Tried it for a third time and now it works.
looki said... Hey, gonna check out this beauty right away, but I've had issues when running it for the first time - I'd get a tray icon, but no program window. Killed the task and launched it again, got a window but also this:Thanks for your report. That's... weird. Well, at least it works now. I'll try to look into this crash. In the meantime, please tell me if anything of the sort happens again.
---------------------------
Fatal error
---------------------------
It appears that Houhou has been vanquished by an evil ArgumentException.
Houhou will now shutdown. Sorry for the inconvenience.
Houhou's last words were: "The root Visual of a VisualTarget cannot have a parent.". Oh the pain it must have been.
In the future, you will be able to submit a report when this happens.
---------------------------
OK
---------------------------
Tried it for a third time and now it works.
I looked through the code in the IsAnswerCorrect function and tweaked it to replace all ( ) sets with nothing and to also trim the input string (I didn’t see any trimming done, but I also didn’t try typing in "answer " either, so maybe it trims somewhere else). I’m sure it would be better to compare both versions with and without the parenthesis. I’m not entirely sure how you tested it though, when I run in VS debug the system tray icon doesn’t behave. I probably need to reconfooble it some more.
Then I thought of something like so: most of the words in ( ) are to clarify specific meanings but in the case of 党 again for example none of the definitions actually say “political party” which is a more natural thing for a user to input. So there should be maybe 3 general cases for answer matching (both exact and approximate as it is):
1. Matches word without (clarification)
2. Matches word with (clarification)
3. Matches word with clarification preceding answer, for example: “party (political)” -> “political party”
These are really just for the convenience of a quick add button. Let’s face it, there’s a lot of vocab and kanji, and editing them all (especially when first starting to fill your database) is a righteous pain and time consuming. We need the answer matching to be as flexible as it can be with the default style of definitions we’re given.
@SparkGap
My plan for this parenthesis issue was to just wipe parenthesis expressions when adding the word to the SRS database. For example, when clicking “Add to my list” for 党, you’d get the addition window showing only “party” without the “(political)” part. That wouldn’t be retroactive of course, but overall I find it better than complicating the process of matching answers against accepted meanings.
And actually fixing these already existing words should be really fast. In review, if you enter “party” for 党, it will show as wrong but the button “Add to meanings” or something will appear. Just click that button and “party” will become an accepted answer, making your current answer correct.
EDIT: Oh, and about debugging, what is your issue exactly? Everything works correctly on both of my computers when debugging with Visual Studio 2012. Also, please note that debugging in Release mode uses your real database and settings.
Oh, I’ll have to look into debugging in release mode, that’s not something I’ve done before.
I don’t think you should wipe the parenthesis out, it’s valuable information to have for the user if they’re just browsing through. I think it should be kept as part of the meaning string but just interpreted differently in the answer checking.
Also, there should be an option to make something up for review immediately after adding. I added around ~100 things and I had to wait 4 hours until they came around, at which time I had thoroughly forgotten what I had added and set them back again. Immediate reviews would be akin to the “lessons” feature.
SparkGap said... Oh, I'll have to look into debugging in release mode, that's not something I've done before.If you were debugging in Debug mode, fyi, a new SRS database has been created in a separate folder, along with the standard config files. Debug mode will use this database from now on. That is, if everything worked correctly, which is apparently not the case... but I'm not sure what happens when you try to debug.
I don't think you should wipe the parenthesis out, it's valuable information to have for the user if they're just browsing through. I think it should be kept as part of the meaning string but just interpreted differently in the answer checking.
Also, there should be an option to make something up for review immediately after adding. I added around ~100 things and I had to wait 4 hours until they came around, at which time I had thoroughly forgotten what I had added and set them back again. Immediate reviews would be akin to the "lessons" feature.
I take note of what you said about parenthesis expressions. I'm not sure it is worth spending time on though, since it seems so bothersome to code for almost nothing, because you can always use the "Add to meanings" button. If you already implemented it though, I think you can ask for a commit on GitHub?
As for immediate reviews, I already planned to give the user full control on the time before the next review of any item. That would allow both the delaying I talked about earlier, and what you want to do here.
I installed it, and I also got the repo. I copied over the dict files and the .sqlite database (P.S. the dict files aren’t included in the repo) and the user content folders from the install to the project directory but they didn’t appear in debug mode. Again, I’ll probably have to debug in release mode or something.
When I get some time this weekend I’ll add in some flexibility and see about committing it. Again I think the target here is to help the user along by keeping the accepted definitions rigid but flexible in the right ways so that the user doesn’t have to modify the meanings too much. If the user has to click around too much during the first few reviews of an item (or entire batch of items) it’s going to seem like a chore. Instead of doing just s.ToLower() == CurrentAnswer in the Linq string, I’ll have it call a matching function that will handle cases with parenthesis (probably testing against the three cases I mentioned, if I can see enough examples of case #3 working out properly), and also trim the CurrentAnswer string.
Did you follow the guide below the "Compiling the solution (for developers)" section of the project description on GitHub?
Yeah, I got it running as described, but I miiiiight need to update my .NET framework. I’m not sure what my version is. I’ll check when I get a chance. I’ve also never touched, seen, or thought about WPF before so that’s gonna be fun. I’ll be on the hunt for more bugs, also. My job is actually to debug programs in C#, so I get a little neurotic about it.
Doublevil said...Lin said... I get a message that the executable file is corrupted. So I can't get the program after download.Not sure what happened. I can see some browsers and/or antivirus programs telling you to be careful because this isn't a verified installer and all, but corrupted? Did you try to download it again?
Is there a problem, something hacked?
Lin replies:
I'm not sure why either, but the download from the website brought up that message but the link in you post didn't. Sure I got the exe message too but didn't worry about it. I had difficulty last night downloading it even when using the link from this thread but finally got it downloaded this morning.
By the way I did all kinds of virus checks and everything is clean.
It is going to be great to use the SRS feature with new kanji from reading.
Running smoothly in Windows 8. Excellent, large and clear screen and menu. Wishing there would be an android, an iphone or a mobile version of it so I don’t have to use my laptop to use it (as I only access my window laptop 1 hour per day after work).
Any other application out there with Wanikani with similar system of checking if our answers are correct (not like anki which is not done automatically)?
-wawan-
I’m actively using it for SRS-ing my N4 vocab (preparing for July 2015, nothing is too early) plus resetting my Wanikani kanji from start.
So far, I’m loving it.
Ideas:
- may want to add kanji and vocab of each JLPT level as part of the search/filter
- (maybe also for Wanikani), make a burned items to be randomly put to review queue. Random in terms of time and which items.
-wawan-
It’d be really handy to choose a different path for UserContentDirectoryPath during installation. The system I’m currently on has My Documents as a network folder, which causes a fatal error on startup.
Leave it to the users to break something…
winanci said... I'm actively using it for SRS-ing my N4 vocab (preparing for July 2015, nothing is too early) plus resetting my Wanikani kanji from start.Thanks! It's always good to see that people like it.
So far, I'm loving it.
Ideas:
- may want to add kanji and vocab of each JLPT level as part of the search/filter
- (maybe also for Wanikani), make a burned items to be randomly put to review queue. Random in terms of time and which items.
-wawan-
I don't think I'm including the JLPT level in my database as of now, but that's a good idea indeed. And I could show the highest JLPT level on vocab when applicable, as an option.
As for burned items, the SRS customization feature already allows you to make burned items come back in reviews after a certain time. That time interval is not randomizable though. I could add randomization for those who want it. It shouldn't be too much work. That's not a priority though.
---
Import feature ETA: still working on it, but I'm very slow because reasons. I was a bit optimistic in my previous time estimation. I have the detailed process on paper and a few views created.
- [100%] Planification: writing down the whole process on paper
- [025%] Interface
- [000%] Coding
- [000%] Testing
The CSV import feature will accept the following fields (fields with a * are mandatory):
- *Kanji reading
- *Accepted readings
- *Accepted meanings
- Item type ("k"="kanji"="0" ; "v"="vocab"="1") - During the import, you will be able to select the behavior when empty between the erratic "Auto" (if kanji reading is one character long => kanji, else vocab), "All kanji" or "All vocab". I suggest always using this field when possible.
- Meaning notes
- Reading notes
- Tags
- Start level (number between 0 and n) - Determines the next review date if empty. Defaults to the first level (0).
- Next review date (local "yyyy-MM-dd H:mm:ss" format. ex: "2014-12-09 18:15:00") - If empty, can be determined using the start level and modified by review spreading (see below)
If you are not using the "Next review date" field, you may want to spread your reviews over time to avoid a situation where all of your imported items come up in reviews simultaneously. To do that, during the export, you will be able to select a number of items coming up per day, which will affect the Next review date of your items.
For those concerned (esp. BreadstickNinja): does that sound okay?