The author dives into the world of spaced repetition (SR) and introduces Mochi software that uses a modified version of the SuperMemo SM-2 algorithm. The unique aspect is the manual adjustment of ease factor (EF) of cards to avoid “ease hell”. The algorithm acts as a quantitative model of human memory, optimizing long-term memory retention and reducing study time. The code implementation in Rust showcases the calculation of intervals and updating card states based on user response quality. The explanation delves into the intricacies of the algorithm, highlighting the importance of perfect recall to prevent “ease hell”. The content provides a detailed insight into the workings of spaced repetition systems.
https://borretti.me/article/implementing-sm2-in-rust