I did something similar recently in Idris 2, specifically to see how ergonomic using quantitative type theory is. My experience is it's quite a hassle, but I don't think that's beyond reproach.
The repo is here[0], and if you like long form unedited videos about someone failing to program, you can see my struggles with Idris 2 here[1]
[0] https://github.com/dspx-plcr/qtt
[1] https://www.youtube.com/playlist?list=PL5CIEWYHtEXommjLd_zOP...
Is there any spaced repetition system that doesn't require me to tweak a bunch of parameters to get good results? I would love if it could just learn how I learn and adjust accordingly. I want to be able to pop in 4x a day or just once or just skip some days and have it adjust accordingly, instead of just leaving me with a huge back log.
> or just skip some days and have it adjust accordingly, instead of just leaving me with a huge back log.
Unfortunately memory does not work that way. You can't just put a pause on forgetting (if we could we wouldn't need spaced repetition in the first place). The backlog will continue to grow because memory degrades over time (without review). The backlog simply represents the cards that have a less than X% chance of being recalled (where X is usually 80-90%).
It’s not perfect but current SuperMemo is more flexible than default Anki. It feels less punishing, you do not have to tweak it, and you can prioritize what you think is more important to learn (but I don’t use this function).
Still the basic idea is you should show up regularly, but sometimes I had to skip a couple of days and could get back on track by just doing my average number of repetitions plus 20% or something of the like for a while.
A big problem in general comes from the fact that an SRS is a big investment of time and people will get extremely defensive to “protect their investment”. It’s very difficult to get fair comparisons and good recommendations, I almost never got to try SuperMemo because I was just reading comments of defensive Anki users.
All of them? Adjusting parameters is more of a power user move.
Yes it exists and is called FSRS
Nice. I also have an implementation in Rust (no public repository, private note-taking app). One low-hanging fruit (IMO) to improve on the base SM-2 is to more smartly pick the initial ease. I just took the average ease of "similar" mature items. Since for my use-case, spaced repetition items are embedded in notes, "similar" items meant items in the same note, or in notes that were tagged similarly.
These days I often wonder if I should just switch to FSRS [1], which Anki also switched to. It delivers better results. However, I am hesitating, since I understand SM-2, and it is easy to read the code while FSRS is complex and feels kinda black-boxy, which wouldn't feel right to me.
A quick note to the implementation above: I wonder if having that many answer options is worth it. It probably increases the cognitive effort needed for grading and I wonder if the increased precision in some cases is worth that. But who knows?
Is there an actual problem that you'd be solving by switching algorithms?
FSRS gives you the same retention for less work, or, equivalently, you can remember more things for the same amount of time worked.
While being more opaque & difficult to self-correct for. How much more work are we talking about? A theoretical couple of minutes in a year? Not worth it.
Using the scheduler estimates from the FSRS simulator [1], for desired retention held equal at 85%, I received approximately 20-30% improvements in workload upon switching to FSRS from SM-2. Even disregarding the "internal" improvements, the ability to reduce the number of parameters that require modification/present risk to performant scheduling is heavily reduced to only setting desired retention explicitly (a benefit in and of itself) as well as minor decisions (e.g. inclusion of suspended cards). Interpretability really is far less of an issue than efficiency, and frankly the achievements of the team behind FSRS (including their decision to make it publicly available) should be lauded.
[1] https://colab.research.google.com/github/open-spaced-repetit...
Hopping in to say that I’ve used mochi very regularly for over a year and love it. It’s definitely an aesthetic improvement over Anki. I’m kind of confused why it isn’t more popular - I remember doing a bunch of research on SR software and not finding any I liked, and then only finding Mochi by chance when the creator left an HN comment
There is no indication that Mochi is using any modern spaced repetition algorithm like FSRS. Even FSRS has huge problems but its the best one that's fully deployed and well tested and it is way better than SM-2. The future of SRS involves integration of fMRI based findings about memory formation and knowledge tracing but that is at least 5-15 years out.
This is way down the rabbit hole of unimportant tweaking. One of the most popular SRS websites for language learning, Wanikani, uses essentially the Leitner method, which is one of the oldest and has no dynamic adjustment. It works just fine and their users self-report a preference for the simple algorithm.
Any SRS is better than SRS (if an SRS is appropriate at all--it usually isn't), and the difference between algorithms is either imperceptible, or worse a UI/UX regression to most users.
> It works just fine and their users self-report a preference for the simple algorithm.
Have you asked them recently? A lot of the criticism of Wanikani, including on its own forums, is describing it as a burnout machine because of a mix of the primitive SRS system and the level lockouts. Particularly since Anki has switched to FSRS and people are comparing the relative workloads.
Be ware of availability bias. Wanikani is wildly popular, with a massive number of users. It dominates that particular space. And with a large user base, they will have a vocal minority advocating for changes. On the other hand I have met a fair number of users in the wild and not a single one has complained about this.
Cool!
btw in Mochi you can set the multiplier. It doesn't need to halve. I set mine to 0.1, which practically means "tomorrow" for most cards, or "in a few days" for cards with a very long streak of recall success.
Ok, I've identified the root of my confusion here. Mochi has two FAQs:
https://mochi.cards/faq.html Mochi uses SM-2 without EF adjustment and without resetting intervals. This is outdated.
https://mochi.cards/docs/faq/ says Mochi multiplies by a number >1 on recall and by a number in [0,1] on forgetting. This FAQ is linked from the front page and seems to be the correct one.
And, indeed, checking the review settings for my deck shows the multiplier settings.
Hey sorry about that. I will take down the old FAQ, or at least redirect it to the new one. The other thing not mentioned in that section of the FAQ (that I will add now) is the re-review phase. When you miss a card during review it will go to the re-review queue. Missing it again in that phase will reset its interval to 1.
Since I created Mochi there have been some new algorithis developed. Most notably FSRS [0] looks promising.
[0] https://github.com/open-spaced-repetition/free-spaced-repeti...