Spaced repetition can allow for infinite recall
efavdb.com
efavdb.com
The qualifying exams were difficult until I reached some "critical mass" of knowledge. Then I could regurgitate proofs and even attack novel problems easily.
There's an analogy here somewhere to the "leetcode" style of software engineer interview. On one hand qualifying exams and leetcode questions are a stupid gatekeeping mechanism, but on the other hand the best researchers/engineers I know have a huge number of facts and examples memorized and ready at their fingertips. I didn't think I needed to do so, but perhaps there is something to suffering through the rote memorization phase to make what comes next that much easier.
Incremental reading (supermemo 18) to dissect books is even better I think.
I had the opportunity to write some MC68000 assembly code, at a time which was not too long after having written a complete emulator for it in C. Writing the emulator required me becoming familiar with every single instruction in all of its nuances, and exactly what they all do.
So, having that behind me, I sat down to write this code and it was like wow ... I could just spew the code without having to look anything up. It was so easy!
I suspect this might have something to do with neurological development. At least in my experience. Something about memory and recollection "clicked" (not a skill but more a capacity) at a really adult age for me.
Almost similar to being taught calculus after not knowing how most physics formula are derived and then looking back in confusion how you struggled with a straightforward thing.
That said, having used Supermemo for over a decade at this point, the hardest thing about SRS is deciding what's actually worth reviewing for a long period of time. I delete (really remove from repetitions) cards from my collection almost on a daily basis.
There's a lot of stuff that seems really important that I just didn't care about after even three months.
Supermemo's incremental reading basically lets you schedule chunks of text or images (alleged video too) like a flashcard from Anki. So, instead of bookmarking articles and never reading them, I can put them into Supermemo and know I'll eventually review it.
It basically counts as a separate type of flashcard, but all your reviews are mixed by default. So on a typical day, I'll have maybe 20 flashcards to review, and then another 10-20 articles.
Supermemo saves where you last were reading, so when I get bored of an article, I just hit next and go to the next one. Eventually, you'll process an article down to individual flashcards like you'd put in Anki, or remove it from your review process altogether. Also, you can just leave the entire article in there if you like rereading it.
But once you know how to "hold it correctly" it will be your companion for life.
I run it in a virtual machine with all its legacy dependencies like IE. Forget about running it on Wine, it barely works on any version of Windows (lol)
Granted, writing good cards is easy to say and really hard to do. Some specific pointers:
- cards should take less than 10 seconds to answer
- most questions should be 7 words or so
- if your question has multiple clauses, split those up into separate cards
- cloze deletions are great, consider multiple clozes per card
- around 10% of your cards should have images
- good images help a lot, mediocre images make it worse -- when in doubt, don't
- Answer this Question cards should have an opposite Question for this Answer like Jeopardy
I agree that making good flashcards helps alot. Another big thing is to make sure the knowledge graph is connected, eg there are no 'orphaned' individual cards / groups of cards. Those tend to suffer seriously from decay for me.
You don't really need to keep up with Anki's review sessions, even a partial session is very effective when you have lots and lots of cards. The tradeoff is that you might not actually maintain 100% recall of all items, but you'll recall most of them, and the scheduling algorithm will space out the items that you do recall even further.
I'm working on a program that solves this problem: we don't have mandatory daily reviews and we also have a Spaced Repetition Algorithm for reviews. Also it's much more flexible than Anki & Supermemo. So you don't have to stress over as to complete the daily grind.
Can you also give an example how you benefit from your workflow, and say a bit more why Anki wouldn't be sufficient? Wouldn't keeping a track of articles and making cards in Anki achieve the same purpose, or is there something else? Of course the implementation matters, and having a system for paper-reading and revising by itself is a nice feature.
Never tried it but all the comments made me curious.
To really understand something first you blindly memorize - but that is not enough, once you do examples and exercises using what you blindly memorized you get to understand things quicker, a lot quicker.
Not memorizing stuff and figuring things as you go is mostly recipe for disappointment.
Like in chess - people think that chess players are somehow super intelligent - but being super intelligent without rote memorization of loads of chess settings will not help winning grand master title.
Because of this sort of advice ppl equate memorization with "not understanding" and cramming.
Never memorize things you don't understand.
Memorization is important and understanding is important, and the two are not in any conflict whatsoever.
The suggestion in the book was that really Grandmasters have spent so much time practicing, that they have memorized the game and the board to a certain extant that allows them to more easily handle the board and all the pieces on it cognitively.
Chess and math are regular domains. They are bounded. There is right and wrong. Most domains are not like this. Ex: art, software engineering, investing, etc.
You can't memorize your way to understanding in an irregular domain. It also doesn't tend to do well in non-knowledge work domains. Ex: sports.
For sports rote repetition is basis to excel or at least getting good at any sport.
I agree one cannot "memorize to understanding" because one has to actually apply what he memorized in practice.
1. Read a text
2. Lookup unknown word/grammatical pattern
3. Create a flashcard for it
4. Apply SRS
and it works great. I've also tried to use other people's Anki decks and they've never worked particularly well. Personally engaging with the material is still the prerequisite for memorizing it, but memorizing means you don't need to struggle to figure out basic concepts constantly and can instead move onto the higher level of meaning.
I've used SRS over the years for many, many things. I've used it for memorizing divisibility rules, used it for annoying math lemmas, used it for data structures, and more. Each of the time I've attempted the material by myself and then turned my knowledge/engagement into a flashcard. I've even considered using it to learn tools like Blender so I can dial in workflows.
I've used it effectively for vim and photoshop.
If it walks like a duck and quacks like a duck…
"solve ___ on a blank piece of paper" is not.
Human brains drop unused stuff especially ones that dont fit a known pattern.
No Real understanding without repetition. Repetition breeds memorization.
One without the other is fooling yourself either way.
What did you do?
I had the impression, these techniques only work well for languages, but I really would love to get better at math.
Old HN discussion: https://news.ycombinator.com/item?id=18895613
Or this one: https://cronokirby.com/posts/2021/02/spaced-repetition-for-m...
Hasn't been on HN before so I just posted it: https://news.ycombinator.com/item?id=32390730
seems like countries should be investing money in this, potentially trillions in unlocked economic potential by improving and speeding up education. I think I read something like 20-30% of medical school students use SRS, yet only a fraction of the general population uses it. Insane to me that we have a tool like this and almost nothing is being done to improve adoption.
If anybody is going to integrate memory techniques into a curriculum, it'll probably be some Silicon Valley charter.
https://blogs.ams.org/mathgradblog/2010/12/28/spaced-math-re...
https://blogs.ams.org/mathgradblog/2011/03/10/space-math-rep...
And an example of some of my cards:
https://www.dropbox.com/s/z714xpq36nvn3o1/rudin.pdf?dl=0
If I'm being honest, I went overboard. Like I said, I literally memorized entire books. Entering cards into the system was the most difficult part. But it absolutely works! Had I stayed in academia, I would have loved to developed a set of flash cards to go along with course material.
The US is staunchly anti-memorization. It wasn't until I did a year abroad in a French university where the power of memorization was so obvious. One of the math students I spent time with told me it's the French tradition to "carry everything around in your head". They were studying symplectic geometry in their sophomore year of their bachelor's!
I don't understand where this coming from. In my experience learning and teaching math in the US, I've found it's almost _entirely_ about memorization. Calculus students are usually able to regurgitate algorithms for differentiation/integration, but can't answer the most basic questions about what they're doing really means.
This is just an aside. I'm not against memorization. I think memorization is the first step necessary for deeper internalized understanding since it lets you take the basic stuff and put it on autopilot so you can think about the rest that isn't as basic. That said my main complaint about US teaching of math is that that second step seems rarely to be taken and instead focus entirely on the memorization.
I guess our experiences are both anecdotal, but I'm having trouble wrapping my head around your idea that the US is anti-memorization.
With that said, someone else in the comments mentioned that while it might seem there's an emphasis "regurgitation" it's mainly because going beyond that and really digging into the why of things is vastly out of scope for the class.
Do you create cards with full proofs or do you write parts of proof? Or do you write down definitions?
Can you please give me an idea how you used spaced repeatition for grad school math?
Thanks.
I mean there are so many things that would be good to remember: math problems and leetcode are actually continuously relevant if you're in employment and ever thinking about moving jobs, software engineering tools that are important for daily work (those are changing so fast in some cases that I'm wondering again how much is worth committing to long-term memory), maybe there are some academic fields where you want to stay up-to-date on the research, all sorts of life hacks in the household / cooking / DIY space, literally everything about your family life, maybe some strategies in hobbies (just recently got into speedcubing, which is a lot about algorithm memorization),...
Maybe the problem is just that I have too much of a "finite memory" mindset and we can easily remember all of those, lol.
Assuming that there is some sort of logic behind the decisions made, I recommend using the same strategy that Napoleon is said to have used in his campaigns: first we start, then we will see.
For example, if I want to memorize a word I found while reading, I highlight it in blue in Apple's books, it goes to readwise, then I take it from readwise by copying and pasting from Apple's dictionary the translation or definition.
I am for the simplest things possible, the point is to learn/memorize and not to find the best pipeline. You may think that the optimal pipeline leads to optimal learning, but (1) what kind of difference are we talking about compared to the simplest method of building cards?, (2) if setting up the pipeline means having the pipeline as the goal (as in ML the platform and not the predictions become the goal) or abandoning the study because the whole process becomes too cumbersome, is that something we should aspire to?
One of my favorite novelists, Arturo Pérez-Reverte, when asked what software he uses to write his novels, replied: "I only use Word, but it's true that I don't know any other [software]".
I went from zero Japanese to JLPT N2 in just a few years and I attribute a great deal of that to Anki. However, I was also frequently talking in Japanese, and reading/writing in Japanese. I was constantly using what I was learning.
Maybe an analogy is, Anki is like steroids, but you still need to go to the gym. :P
I don't study Japanese at all anymore and I have very little exposure to the language. But I still do my flashcards. I've noticed my recall is excellent when doing the flashcards, but if I see some Japanese written on a billboard, or think to myself "how do I say this again...", I struggle to recall even things that are in my flashcard packs.
Only when memorization has laid the basic foundation does it make sense to spend more time to read and write in the new language. In my opinion reading is the most efficient activity at higher levels.
I said early on the most efficient use of your time is memorization of words and maybe grammar. Duolingo does that well, in my opinion. It doesn't do the usual flashcard stuff, but it does favor repetition and you can practice speaking and listening from the first time.
However one big mistake people make is to think an SRS helps you learn. That's not true. It helps you not forget things you've already learned. You still need some real world interaction with the material.
The argument is quite weak when we discuss learning words in a foreign language. You learn that lunch is "almuerzo" in Spanish, but is it learning or just memorization/association? To me the lines are blurred, even at first sight of the word.
I used Anki myself to learn foreign languages and it is tremendously effective for words and short sentences too. I use it also for words in my mother tongue, and it made be much more articulate than I used to be.
I think there's a difference. "Almuerzo" -> "al muerzo", I know "al" means "the", from Arabic, I look up the etymology, the "muerzo" is from Latin "morsus", from which we get "morsel" in English. Mnemonic: "the morsel". Then I can guess that the form of the verb is almorzar, which is indeed the case. Even learning a simple word embeds and thickens a web of associations in one's mind. SRS strengthens this, makes it scale better.
preview: https://www.google.com/books/edition/Learning_Spanish_Words_...
It's just a bunch of vocabulary paired with etymology notes and observations/sounds-likes to make the vocabulary memorable.
EDIT, hm he seems to be missing some obvious cognates, e.g.
>propio, own (adj.); proper (cognate). Proper in modern English no longer has the meaning "own", but this word in Spanish, propio, still retains it. if this knowledge is too uninteresting, use a mnemonic such as "A truly proper lady behaves in her own natural style."
wtf? What about just the English word "property" instead of this silly lady business?
I'd often come up with little stories to teach myself some of the more complex Chinese characters when I was learning quite intensively and found I never struggled to remember those words after doing so.
I think we should try, and I include myself among those who have an approach to learning that is at times too cerebral, to look at how things work more than how interesting would be if they worked in a particular way.
>> As one more flashcard, another pillar, additional context, they will to deepen your understanding. It is creating more inter-connections between your neurons.
This is a hypothesis, identifying a mechanism that leads to an effect. But I don't see any tested hypothesis for either the mechanism or the effect. And we have millions of people who have mastered other languages as children and as adults who have no idea what etymology means.
I mean, it sounds reasonable, in theory. Like knowing the evolution of tactical formations in soccer would like one to become a better player. But it is common sense it has no effect whatsoever on soccer abilities.
I am learning Mandarin now and my approach is completely different. Speaking and listening are the most important, I'm letting muscle memory of mouth (and sometimes gesturing tones with my hand) be my memorization technique. Six months-ish in and I can already express myself in rudimentary ways, it's way better than my Japanese was in that time frame. I have some Mandarin Anki decks that I do in the cracks of my day but I never finish my daily cards anymore and I don't spend a lot of time on it. I'll schedule an italki lesson or listen some speak-and-repeat courses instead.
Memorizing the notes in a song isn't learning to play music, memorizing a bunch of vocabulary isn't learning a foreign language.
You need to be able to recall it very fast, and that only comes through repetition beyond the "I won't ever forget this" stage. SRS doesn't make a statement about this, and you can still use it to achieve that over-learning, in my opinion. It may be better to achieve it through reading texts in the foreign language because the repetitions are faster.
Do you manage that yourself. I.e. you time your own response, and if it feels slow you mark the card as forgotten?
But people get spaced repetition wrong. Most people think you need a spaced-repetition schedule for long term memory of facts. You really don't. The only proposition of spaced repetition is that you spend less time studying when using this schedule than with a more dense repetition schedule, if both lead to the same long term memory effect.
Another schedule might be to review your complete vocabulary list every day. This will also lead you to long term memory, eventually. Earlier probably (in terms of calendar time). But you'd spend more hands-on-time studying. However, you'd much prefer the former method over the latter when preparing for an exam on a specific date.
Also: formal methods of managing the schedule aren't really necessary. Reading in a foreign language counts as repetition of the words. Exposure to the language and the vocabulary counts, for example what Duolingo does with its various activities is partly spaced repetition, but less formally so.
This is what I have been thinking. If whatever you can remember is bigger than all experiences and lessons you could remember, then your memory is effectively infinite. I don't know if having a continuous effectively infinite memory is good or bad. As someone who play the classical guitar, having a better memory would do wonders for me.
Very interesting. Do you typically process all claims as literally as you just did for this one, notably when you're interacting with people outside of the Internet? In which case, do most people react positively to your behaviour, or do they get annoyed because "you know what I meant"?
> We first posit that the number of days T that a fact can be retained before it needs to be reviewed grows as a power-law in s, the number of times it’s been reviewed so far, ...
Obviously this assumption will be false in our physical universe, but that doesn't make the proof itself invalid (edited).
Here we have a valid mathematical argument which is unsound in this world, where its assumptions do not hold up.
Nicky Case's intro to spaced repetition is pretty stellar, both as a crash course and the reasoning behind it: https://ncase.me/remember/
;)
It was a fairly long article, probably a 20-30 minute read, dark background (though I guess this may have been dynamic since I was reading at night), with a broad overview of SRS, several studies cited, and a personal anecdote from someone with somewhere around 10k cards that the author reviewed daily.
I wish I could remember more details. I've combed through my browser history in all browsers (desktop and mobile) and have tried a few site-specific timeframe-limited searches with no luck. Does this article sound familiar to anyone? It was a good read and somehow I failed to pinboard it.
Funny to have forgotten how to find an article on a memorization technique.
The model also doesn't account for how you feel about doing this activity. This includes the pain of not doing reviews for several days and then having to catch up. The probability you eventually throw in the towel is also a function of how useful you're finding the activity, which in this case since we've opted to keep the per-day study time as fixed will likely be when the interval that you are required to wait before you can add a new fact becomes so large you are routinely bothered by occurrences where you encounter a fact you wanted to put into your SRS but didn't have the bandwidth to.
Source: input 35 new vocab a day into Anki while learning Japanese a decade ago and grew my vocab deck to 18000+ cards. Reviews would take several hours a day, and at one point I stopped adding new words to try and wait for the daily review load to go down. When it never did despite this, I just deleted the entire thing and say fuck it.
The rate at which you can add new items is the inverse of the review period. What you're effectively doing is increasing the review interval, but you will still run into the fact that the number of items you can remove from the queue is finite. Eventually you will have only interesting items on the end of the queue equal to the number of items you can review. You're now back at square one: you don't have the time to add any new items.
The only way to deal with this is to review items a finite number of times and hope for the best.
But what I'm trying now is to ruthlessly suspend any card that I get wrong even once after the learning phase (i.e. the day after). I've noticed that some words stick much easier than others, there might be an 80/20 kind of distribution where 20% of the words are responsible for 80% of the time spent. In that case it might be better to add a bunch of words every day and then suspend the ones that don't stick very easily. The idea being that they'll stick more easily at a later point, at least this has been my experience with Chinese.
Actually I'm going to dig through my Anki database and see if my hunch is right.
Edit: it's more like 25% of the cards are responsible for close to 45% of reps. But 25% of the cards are responsible for 58% of review time, and then it's 36/70. That indicates to me that dropping the something like 30% hardest cards would save you a disproportionate amount of time. Of course there's some nuance here where I should probably do this per card type, otherwise you'd just drop the hardest card types.
In my experience doing both in tandem was the magic combination. Anki without native media is mildly pointless. Native media without Anki is super inefficient. Used in equal measure you find your access and understanding of native media continually ratchets up day by day every 3000 cards I would notice a very significant jump in my abilities when consuming native media and partaking in conversation.
Nothing else has really come close for me out of all the other things I've tried.
I also want to minimize time spent in Anki because it's just not fun, you know? I know common wisdom says it _should_ be painful, that means you're learning, but I'm not so sure. Me and everyone I know learned English without much pain or Spaced Repetition Systems after all. It's a much easier language to learn than Japanese/Chinese though, but it makes me feel it shouldn't have to be this difficult.
I wrote my own spaced repetition app (see my profile) and one thing I experimented with is an "ETA" function which goes through your deck and tells you how long before you learn everything "well enough", where "well enough" just means the intervals between all cards is at least some fixed threshold, like one month. I was surprised that even with a few hundred cards and a fixed number of cards reviewed per day, it would still take a few months.
I haven't added the ETA feature yet, but if I do, I think I would need to make sure to show the user how adding new cards affects that target date, and also how reviewing more cards a day or fewer cards a day affects it. I think there's a way to design a nice UI so users feel like they are in control of that end date so they can choose if it's worth it to add new cards or not.
I think a spaced repetition app should also make "falling behind" not feel catastrophic. I think memorizing a smaller set of facts consistently is better than trying to memorize a larger set and then giving up, and an app's UI can probably help to that end.
In general, existing SRS does a very bad job of supporting priority and prerequisites between items. There's no way of saying "learn A, B, C, then learn X, Y, Z once you know the former well enough." This limits the domains where SRS can be applied most effectively to ones with very little structure, such as raw language vocabulary.
This is a feature I've wanted to implement for a while, but I think it would be hard from a user's perspective to set up the dependencies. Specifically, I mean marking a card unlearnable until another card (or cards) is learned. It's something that I think requires a good UI so you can see at a glance which cards depend on which other cards. You'd go in and essentially make a skill tree of all the cards. It might be something more useful for more serious deck creators.
My dream is being able to create a deck where you have both vocab and then sentences that use the vocab. You'd make sentences that use the vocab dependent on the vocab being learned first, so that over time you'd gradually unlock more material that uses your base knowledge.
Pretty unnecessary in my experience. I only did around 2k sentences and that was for the express purpose of internalizing grammar, and found that 99 times out of 100 it was pretty natural to just learn the new vocab that came with the sentence. There would be the occasional one that would take a few times before I got it, but it was pretty insignificant problem.
After I smashed out all the grammar I just did purely vocab after that and it worked like an absolute charm.
You can also go the other way. Have a huge database of sentences, and pick example sentences for new cards which only use vocabulary which you already know (besides the new word which you want to learn through that card, of course). I do that for my Japanese SRS app, and it works decently well from the feedback I get from my users.
35 a day is excessive for sure. Even with foreign language stuff which is the lowest time to solve per card, I limit myself to 10 new cards/day. Math problems 2 new/day. Daily workload ends up around 50-100 cards, which is very manageable. You do need to be consistent though.
In my first year studying Japanese I first did Remembering The Kanji, which was a slow to get through and I didn't manage that pace really due to several periods of starting / stopping. After I got through it though I knew bugger all Japanese functionally speaking but the language became extremely accessible due to having a solid command of recognizing Kanji and being able to look them up easily when needing to read stuff, so I decided to front load grammar after that. At the time the JLPT was about 4 months away and I wouldn't have even passed JLPT5 (well, JLPT4 back then) at that time. I found a really amazing Anki deck that I don't know if you can find anymore called Kanji Oddysee 2001. It contained 2000 sentences which covered up to I would say around about JLPT2 grammar as well as teaching vocab + readings for the 2000~ Joyou Kanji (hence the name). The cards also had audio as well. So given 4 months and 2000 cards with 2 card types I smashed out 4000 cards and sat the JLPT2 after just under a year of study. I think I needed 60% to pass at the time and got like 55%? So, not a pass but I took it more as an impossible challenge than anything, and was stunningly happy with the result.
After that I had a vocab of around a couple thousand words, a decent command of grammar, and some limited ability to converse. I just turned my efforts towards building a vocab deck at 35 words a day. I managed to add another 10k vocab in that second year after which point conversation was fluid and I was reading novels (still needed a dictionary for that, but it was huge at the time). I got in some Japanese room mates too and we had loads of parties.
Hands down one of the fondest times of my life.
Yeah, but that isn't really inherent to the concept of SRS; it's just an unfortunate consequence of Anki's geriatric SRS algorithm.
For reference, for my Japanese SRS app (which is using my own custom SRS algorithm) I have a user who currently maintains ~18k known words, with a consistent ~23 new cards per day for months, and they don't take that long with only something like ~20 minutes spent per day reviewing.
Include base (hex, binary) and .. its getting worse.
Numeracy, numerical literacy and fluency, understanding both the symbol set, and its behaviour in rules of arithmetic, needs to be a given, to talk cogently about numbers.
Simply teaching all kids the 12x tables, and how to handle the arithmetic of change giving at a till from the specific units of coin and note available, how to run a total in their head, how to calculate % will be life skills which might literally save their job. And its foundation is recall, and rote learning.
Not everyone is heading to 3rd order differential analysis.
I use it whenever I have a few minutes of downtime, no fancy state persistence between sessions.
Satire is fun! And I think the folks taking the math seriously are probably in on the joke.
[0] or whatever brand of comedy “imagine a cow approximates to an oblong sphere” is. “This is strictly satire” is not a hill I must die on.
If you're interested, I've worked in a Spaced Repetition Algorithm where they is no card accumulation, you review whenever you feel like. In order to maximize pleasure.
In the future I'll also configure it to give you subject you "feel" like reviewing at the moment, since pleasure is also associated with memory.
Also, they seem to be holding this learning technique like it is a mathematical fact of the universe. I am not an expert, but nothing in the human brain works that consistently. I can't imagine every single person in the world can learn equally well with this technique.
Although this is likely some form of satire, because there is no way anyone could seriously think the brain works like this.
In my Ankid ecks, I have items that have 10+ year intervals. And some, which were introduced at around the same time as those, which have intervals in months, beaten down by lapses.
Anyone who thinks that some simple math leads to infinite recall has not suddenly lapsed on a card whose interval had reached 7 years.
this guy is a genius in my opinion.
This guy has been in this game since the 70s
Carnegie Mellon University Professor of Psychology and Computer Science
My flow right now for learning things is.
1. Find sources copy and paste large swathes of revelevant text and images.
2. Re-read the copy and pasted text and create a detailed summary of it in my own words.
3. Come back a few hours or day later and summarize the summary.
4. Use this as the basis for cards to load into Anki.
It isn't about building a massive repository of facts, and you can do plenty with just steps 1-3 without ever using Spaced Repetition, but the reason I fell in love with spaced repetition and have jumped on it so heavily is that I've done steps 1-3 with a lot of information and subjects, and over time have forgotten all but the most basic things about them. This makes me feel as if part of my time or life was wasted, because if I have to revist something again latter like Sorting Algorithms it feels like starting over. Whereas things I have started to use spaced repetition with, I retain the fundamentals the "outline" of the subject for much longer, and if I have to revisit it I feel much more familiar because to paraphrase Piotr Wozniak. The things we remember well are things that are well located/connected within our knowledge tree.
For those IT people out there as well the other thing spaced repetition and especially Anki is super useful for is learning how to use your tools more effectively because it helps you to remember those features and tricks that you don't use often but super speed things up. For example I used grep for a long time, I often found myself having to hit up the man page, or the DDG if I needed to do something unusual, or more often I'd end up trying to cobble something together with the tools I had. I reviewed a "most useful flags" in grep page a few months back and decided to Ankify it. I am now an order of magnitude more proficient with grep because I can quickly recall the flag or option I need to provide to do something wonky with it when I need to, simply because I remember a relatively obscure feature, that I don't use often and would've forgotten otherwise.
Finally in conclusion
The 4 states that made up the Austro-Hungarian Empire were Boznia-Herzgovania, Croatia-Slavonia, The Kingdom of Hungry and Cieslenthia. Because sometimes memorizing one or two random facts just makes life more interesting.
If you ever move to Android, the app is free and open source, and I've contributed code to it!
But calling it "infinite recall" is a bit misleading. Improved long-term retention at the cost of minimal unintrusive prompting is probably closer.