|
|
|
|
|
by gwern
1117 days ago
|
|
One idea you could try to make the repeat load less of a burden, and enable more notes or items to be included, is to not just track whether they've been shown before, but to use a spaced repetition algorithm to try to estimate whether an item has been forgotten, and surface the most likely-to-have-been-forgotten items. Those are the ones you would benefit from serendipity, because presumably, if they had become relevant and you already remembered them, you'd've made use of them, and it's the forgotten ones where serendipity strikes. I call this idea 'anti-spaced-repetition': https://gwern.net/note/statistic#program-for-non-spaced-repe... |
|
This "exponential" repetition it's not as optimized as the kinds of algorithms you're describing, but I find it good enough and it comes with a few distinct advantages:
1) Spaced repetition algorithms are hard to get right with two buttons like remembered/forgot. Anki for example added more buttons (easy/normal/hard/forgot or something like that), but I could never really intuit what would happen if I clicked any of them. Having 4 explicit choices makes it easy to understand what will happen, and also lets you "manually" push back notes on axes like "how much do I still care about this" and not just "how well do I remember this".
2) I really wanted to keep the metadata fields stored in the note and easy for a human to edit and understand. Right now, you only need `repeat: spaced every N days` (and similar) and the plugin adds a `due_at` field that has an easy to read ISO timestamp. You can also add `hidden: true` but don't have to.