Great post!
You say you've been using Anki for ~3 years and have 37k cards. Assuming you've been adding cards at a roughly constant rate over this period, that's ~12.3k cards per year, or ~34 cards per day. Relying on Piotr Wozniak's formula for approximating the daily time costs of studying a single card in a given year
we can see that it costs 2.03E-03 mins to study a card the 1st year, 7.40E-04 mins the 2nd year, and 4.18E-04 mins the 3rd year. Multiplying by 12.3k, we get about 25, 9 and 5 minutes for the 1st, 2nd and 3rd years, respectively. So, on your 3rd (most recent) year of study, this calculation indicates that you should be spending about minutes per day in reviews. Does this match your experience?
I was motivated to calculate this because upon reading your post I felt that reviewing so many cards would impose very high time costs. But after crunching the numbers, the costs seem considerably lower than I expected.
Here's the promised Anki stats PDF: https://drive.google.com/file/d/1EwqIAUbgeYU9czF1YcxITZvL3D0JNe5N/view?usp=sharing
In case anyone is interested, here's a spreadsheet I just created that computes the daily costs, after arbitrarily many years, of reviewing a deck which has been growing by a constant number of cards per year.
An interesting implication is that after three years one has incurred roughly 50% of the total time costs of reviewing a card, assuming a time horizon of 50 years. So if Michal keeps adding new cards at the same pace, his daily costs will converge to minutes. Still, it will take another 12 years for the costs to increase by another 50%, so even after 15 years his daily costs will be minutes.
Hi Pablo. Thanks for the link to the formula, I did not know someone already looked into it. At some point I estimated that it cost me ~250 s to learn a card in the first year.
In the last year, it looks like I spent ~1 hour per day reviewing on average. When I'm on my desktop computer, I'll share the Anki statistics PDF.
I think one reason the formula might be underestimating is because I keep expanding my deck over time, so there's a mix of newer and older cards.
I am also a bit concerned that I might be adding cards not always for what's most useful to learn, but for what's easiest to Ankify. So recently even though I've been wanting to study more ML papers, I've been mostly adding programming because it's easier... :/
OP refers to "Alex Vermeer’s free book Anki Essentials" but so far as I can tell Anki Essentials is not free; it costs about $5 (exact price depending on whether you get it as PDF or as an Amazon ebook).
Hmm yeah, looks like you're right. That's surprising, if memory serves me right I read it for free and legally. If you Google for "Anki essentials PDF" the first result is a PDF that seems to be from Alex Vermeer's own site, but maybe that's a limited version. Or maybe I'm misremembering the circumstances of how I read the book.
What datasets do you use for the people cards? That is, whose names do you memorize and where do you get their names and photos?
Set of people:
Photos: publicly available photos if googleable, pics from names and faces slides from meetups
Excuse me for the necro. I think saying all the synonyms is better than letter based constraining. If the word that fits the constraint is found later than most other synonyms, the act of checking for the constraint takes longer than just listing. According to the 20 rules of formatting knowledge by Wozniak, its better for the mind to follow a set path even if it is longer, and that is the act of making a list. It is probably good to have sets of synonyms memorized for writing. Adding a constraint makes the question longer, which is something Wozniak advises against.
problem with set of synonyms is that it can be long. i have, however, started using cards like "remember at least 4 of these 6 things" - e.g. "symptoms of acute HIV infection"
Cross-posted from my website.
I’ve used Anki for ~3 years, have 37k cards and did 0.5M reviews. I have learned some useful heuristics for using it effectively. I’ll borrow software engineering terminology and call heuristics for “what’s good” patterns and heuristics for “what’s bad” antipatterns. Cards with antipatterns are unnecessarily difficult to learn. I will first go over antipatterns I have noticed, and then share patterns I use, mostly to counteract the antipatterns. I will then throw in a grab-bag of things I’ve found useful to learn with Anki, and some miscellaneous tips.
Alex Vermeer’s free book Anki Essentials helped me learn how to use Anki effectively, and I can wholeheartedly recommend it. I learned at least about the concept of interference from it, but I am likely reinventing other wheels from it.
Antipatterns
Interference
Interference occurs when trying to learn two cards together is harder than learning just one of them - one card interferes with learning another one. For example, when learning languages, I often confuse words which rhyme together or have a similar meaning (e.g., “vergeblich” and “erheblich” in German).
Interference is bad, because you will keep getting those cards wrong, and Anki will keep showing them to you, which is frustrating.
Ambiguity
Ambiguity occurs when the front side of a card allows multiple answers, but the back side does not list all options. For example, if the front side of a English → German card says “great”, there are at least two acceptable answers: “großartig” and “gewaltig”.
Ambiguity is bad, because when you review an ambiguous card and give the answer the card does not expect, you need to spend mental effort figuring out: “Do I accept my answer or do I go with Again?”
You will spend this effort every time you review the card. When you (eventually, given enough time) go with Again, Anki will treat the card as lapsed for reasons that don’t track whether you are learning the facts you want to learn.
If you try to “power through” and learn ambiguous cards, you will be learning factoids that are not inherent to the material you are learning, but just accidental due to how your notes and cards represent the material. If you learn to distinguish two ambiguous cards, it will often be due to some property such as how the text is laid out. You might end up learning “great (adj.) → großartig” and “great, typeset in boldface → gewaltig”, instead of the useful lesson of what actually distinguishes the words (“großartig” is “metaphorically great” as in “what a great sandwich”, whereas “gewaltig” means “physically great” as in “the Burj Khalifa is a great structure”).
Vagueness
I carve out “vagueness” as a special case of ambiguity. Vague cards are cards where question the front side is asking is not clear. When I started using Anki, I often created cards with a trigger such as “Plato” and just slammed everything I wanted to learn about Plato on the back side: “Pupil of Socrates, Forms, wrote The Republic criticising Athenian democracy, teacher of Aristotle”.
The issue with this sort of card is that if I recall just “Plato was a pupil of Socrates and teacher of Aristotle”, I would still give the review an Again mark, because I have not recalled the remaining factoids.
Again, if you try to power through, you will have to learn “Plato → I have to recite 5 factoids”. But the fact that your card has 5 factoids on it is not knowledge of Greek philosophers.
Patterns
Noticing
The first step to removing problems is knowing that they exist and where they exist. Learn to notice when you got an answer wrong for the wrong reasons.
“I tried to remember for a minute and nothing came up” is a good reason. Bad reasons include the aforementioned interference, ambiguity and vagueness.
Bug tracking
When you notice a problem in your Anki deck, you are often not in the best position to immediately fix it - for example, you might be on your phone, or it might take more energy to fix it than you have at the moment. So, create a way to track maintenance tasks to delegate them to future you, who has more energy and can edit the deck comfortably. Make it very easy to add a maintenance task.
The way I do this is:
I use the same system also for tracking what information I’d like to put into Anki at some point. (This mirrors the idea from the Getting Things Done theory that your TODO list belong outside your mind.)
Distinguishers
Distinguishers are one way I fight interference. They are cards that teach distinguishing interfering facts.
For example: “erheblich” means “considerable” and “vergeblich” means “in vain”. Say I notice that when given the prompt “considerable”, I sometimes recall “vergeblich” instead of the right answer.
When I get the card wrong, I notice the interference, and write down “erheblich/vergeblich” into my Keep. Later, when I organize my deck on my computer, I add a “distinguisher”, typically using Cloze deletion. For example, like this:
{{c1::e}}r{{c1::h}}eblich: {{c2::considerable}}
{{c1::ve}}r{{c1::g}}eblich: {{c2::in vain}}
This creates two cards: one that asks me to assign the right English meaning to the German words, and another one that shows me two English words and the common parts of the German words (“_r_eblich”) and asks me to correctly fill in the blanks.
This sometimes fixes interference. When I learn the disambiguator note and later need to translate the word “considerable” into German, I might still think of the wrong word (“vergeblich”) first. But now the word “vergeblich” is also a trigger for the distinguisher, so I will likely remember: “Oh, but wait, vergeblich can be confused with erheblich, and vergeblich means ‘in vain’, not ‘considerably’”. And I will more likely answer the formerly interfering card correctly.
Constraints
Constraints are useful against interference, ambiguity and vagueness.
Starting from a question such as “What’s the German word for ‘great’”, we can add a constraint such as “… that contains the letter O”, or “… that does not contain the letter E”. The constraint makes the question have only one acceptable answer - artificially.
Because constraints are artificial, I only use them when I can’t make a distinguisher. For example, when two German words are true synonyms, they cannot be distinguished based on nuances of their meaning.
In Anki, you can annotate a Cloze with a hint text. I often put the constraint into it. I use a hint of “a” to mean “word that contains the letter A”, and other similar shorthands.
Other tips
Redundancy
Try to create cards using a fact in multiple ways or contexts. For example, when learning a new word, include a couple of example sentences with the word. When learning how to conjugate a verb, include both the conjugation table, and sentences with examples of each conjugated form.
Æsthethethics!
It’s easier to do something if you like it. I like having all my cards follow the same style, nicely typesetting my equations with
align*
,
\underbrace
etc.
Clozes!
Most of my early notes were just front-back and back-front cards. Clozes are often a much better choice, because they make entering the context and expected response more natural, in situations such as:
matplotlib.pyplot.bar(x, y, color='r')
, you can cloze out the name of the function, its parameters, and the effect it has.
Datasets I found useful