fla.sh
fla.sh copied to clipboard
More Anki Like behavior --- Overhaul point system
instead of a point system, utilize date time and actually perform date math to space the repetition of cards.
involves several parts:
- [ ] remove point system
- [ ] insert date time values for records
- [ ] change the menu selections for how many days/times to add to each card (new cards 1,3,5 days etc. while mature cards could be like 7,11,15,20, etc.)
- [ ] Perform date math to have the date time updated with the new increment of time to be added to it
- [ ] institute new logic to take each day, only gather the pool of cards with date times that are in the past from the moment of execution i.e. if now it is 2020-09-23 23:46 then cards from 2020-09-22 13:43 will be gathered
- [ ] from this new pool you still use shuf to shuffle them
- [ ] might need a new value to indicate if the card is new, young, mature, etc. using anki terminology
- [ ] change new space values for each card based on maturity like new cards get options to space it (1,3,5) and young get (3,5,7,11) etc.
Going to drop a comment here just to say- fla.sh has been on my watched repos for almost a year now. I love the concept of fla.sh, and am deeply impressed by the work @tallguyjenks has put into it. That being said, this issue is the primary reason I haven't used it for any longer than a week. I find fla.sh's current scoring system a bit too rough around the edges for me to make it part of my routine.
I've wanted to try my hand at implementing an alternative spaced repetition algorithm, SM2+, in a *nix-shell-portable manner (probably using ~~bc
~~ awk), but haven't found the time to.
If anyone who actively uses a flashcard program and/or does a lot of shell scripting is watching this issue would like to give me advice, I'm open to it.
@dther hi, mine is using the Leitner algorithm (better suited for when reviews are postponed for godknows reasons). date
is the only hard dependency ;) and depending on your taste my script can be shortened further. Originally I wanted to use For SM-2 I found this one. Also this one using a combination of Leitner and SM-2.stty
and (g)awk
only but they didn't quite work smoothly (unbuffered byte read, can be solved using bash built-in read
).