I basically ruined myself for Anki. I started like gangbusters, and also created some really cool jazz music theory decks for myself that have lilypond notation snippets and sound samples of various chord qualities and advanced jazz modes. And this is on top of other subjects like ML, scala, logarithms, etc.
And then... I hit this mathematical limit where I just couldn't keep up. You can't add 20 new cards a day for any length of time without the review cycle getting overwhelming. I'm not sure it's even physically possible to Anki full recall of everything learned in a college course - each class would need to be much longer than a term to keep up with the review.
One solution is to just keep plugging away, reviewing what you can and hoping the things you answer correctly will relieve the pressure as they come up less frequently. But since you're late on many card, recall sucks and I never really made much headway.
I also have a really hard time retiring cards. It's like deciding to cross things off your TODO list that you'll never do, you always want to keep it on thinking you might do it someday. Same with a not very relevant piece of info, it's right in front of you, it still feels like it might be useful to know...
> You can't add 20 new cards a day for any length of time without the review cycle getting overwhelming.
1. You have to take breaks from adding cards, and just be in review mode sometimes.
2. You have to tweak the settings. The defaults are bad. For instance, you probably want to adjust the percentage by which a lapsed card's interval shortens. If you lapse on a ten month card, you don't want it resetting to just several days, but say to 50%: five months. Another thing is to tweak the custom intervals to reduce the number of initial reviews for newly added cards, and also tweak the interval steps for lapsed cards to control how many times a card is reviewed before being returned into the deck.
How large is your deck? I'm at 14k (which is considered a reasonable size). I definitely do average about 30 minutes + a day, but the productivity at work has helped me much more.
A large part is also now using the proper visualization techniques (ie. using intensive memories, an anecdotal use case is I've memorized certain ideas behind neural networks by always putting them in a "closet"). This helps. Truncation of dumb cards is useful.
Another really important thing is just to delete an entire deck (which I've done), when I realized I frankly ... just don't care about the subject any more (in this case, music composition).
I've been using Anki for learning foreign language words for at least 2 years during my commute. At the start of using flashcards I could learn near 20 words for a day, but now, based on my experience, the number of learned cards decreases. At the same time repeat learning helps me do not forget words which were learned a year or so ago and rarely used.
I also noticed, for me, the best approach for better remembering is practicing during the morning commute. It became my everyday routine :)
Using Anki is very helpful if you need to repeat much information for a small period of time, e.g. before exams or interviews.
I was the most consistent with anki when I had a 30 min commute by train every day. Once I started working from home it became much harder to consciously allocate 30-40 minutes for anki every day.
Why were you adding 20 new cards a day? IMO its better to adjust your new card rate based on your retention rate. Your ideal retention rate probably depends on how you react to the "stress" of missing cards. Personally it would majorly stress me out if my retention rate was below 80%, I ideally liked to keep it around 90-95% because for me this was where it went from feeling like work to actually being fun and exciting.
I might go for a couple of days without adding anything, do a couple days adding 5, add 10, 15, 20, or even 30 depending on the circumstances.
20 new cards per day to review is the default. You can add as many or as few as you want but if you didn't change the default it will put 20 in your review queue daily.
It’s only going to put 20 new cards in your review queue daily if you have a huge backlog of unseen cards, which will only happen if you mass import a whole bunch of pre-made cards, which is not recommended. Actually creating 20 new cards a day would imply a pretty heavy study schedule.
> It’s only going to put 20 new cards in your review queue daily if you have a huge backlog of unseen cards
Correct. However, using a huge premade deck is not a bad idea in the sense that it's a huge time saver.
For me, creating an anki card takes between 1-2 minutes, depending on how slow the dictionaries (plural) are. So, 30-60 words per minute (45 avg) means it would take me almost 4.5 hours to input a measly 200 words.
I can write down 200 new words from one episode of a tv show. You can see where this is going. For Korean, about 5-6k words are recommended to begin having non-basic discussions. 5k words at 45 words/hour is ~110 hours.
Instead, I suggest using a parent deck that has a premade deck + your personal deck as children. This lets you have the best of both systems. You can use the Hoochie Mama! plugin [0] to properly randomize your review queue for child decks. Anki by default pulls cards in order from child decks.
Note: All of this assumes that your pre-made deck is of good quality. I can't speak about other languages, but Evita's Korean deck (5.8k cards) is sorted by frequency. It's fairly good, at least until you get to more of a intermediate level.
It also assumes that you are trying to learn thousands of new words in a foreign language, which requires less effort per card than almost any other exercise. Humans are natural language learners, after all. The OP was struggling to deal with 20 new cards a day on music theory and computer science.
Ah yeah, I'd typically create cards "just in time", so to speak, because I found that my retention would drop significantly without the context of what I was learning fresh in my mind.
Ideally this is how cards should be made. Most anki word decks neglect to have meaningful context, making them much less useful. Especially once you begin to study more advanced vocabulary.
What I ended up doing was modifying a pre-made deck to have more fields, and I edit a card as it pops up into my new queue. This takes more time, but it makes it easier for me to learn a word seeing example sentences and other information.
There's probably a masterclass in the making regarding this, but the Anki defaults can and probably should be tuned. In particular, the multiplier for time between reviews should be tuned until you're hitting about 80 percent successful reviews. I've doubled mine and it really helped.
I think there's also a setting to limit new cards based on review size, and that also helps avoid review hell. I imagine it's not the default because a popular use case is students in courses where there are high stakes deadlines.
It's kind of well known that anki has some seriously bad defaults for long term studying. Not to plug myself but I've written about this at length. [0]
There are a few big issues, but the easiest one to fix is the reset interval.
When you forget a word that you're reviewing (that is, when you hit "Again"), anki resets the interval to 0%, as if it were a totally new card.
This is bad for 2 reasons. 1) A lapse is not the same as learning a completely new word. When you review a lapsed card you're just refreshing that connection that you've already made. So it's wasteful to completely reset the interval unless you've really totally forgotten the word.
2) The interval reset can be huge (going from 7 months to 1 day) so it makes it tempting to just hit "Hard" instead. I know I've done that.
The fix here is to set a more reasonable reset value like 40-60%. I use 45%.
---
The other big issue is the algorithm works differently than you would expect. I discuss this in more detail in my post, but essentially anki gives each card a modifier value. Starting at 250%. Every time you hit Again/Hard/Easy, it -- permanently -- modifies this card. This is quite unintuitive! When people grade a card, they're really grading their own memory / ability to recall. Not how hard the card itself is.
Why is this bad? Because if you hit "Hard" a lot, then you're seriously capping the interval growth rate for a word. In other words you'll see it way more often than you need to. Most people don't hit "hard", -then- "easy" once they learn it. A lot of people I know hit "hard" to be on the safe side instead of "good", purely out of habit. This picture explains why a low modifier is bad. [1]
The way I fix this is by using 2 plugins: the first makes grading buttons not modify a card's modifier, and the second one resets ALL cards to 250%. Low-Key anki goes over this in detail. [2]
However! This fix assumes a relatively homogeneous deck in terms of card difficulty. I.e. words for a language. If you're studying, say, algorithms or something where the difficulty may be heterogeneous, then you may want anki's default behavior.
It's a pity that they don't pay more attention to the defaults.
I have been using Anki for Chinese with a premade deck (Spoonfed Chinese, if anyone is curious) for around 1.5 years and reviewing time has crept up too much. I have lowered the number of new cards per day several times (started at 20, now at 12, thinking about going to 10) but I am very averse to change the rest of the defaults since they are very technical things and it's hard for a layperson to know the optimal settings. I trust the Anki devs to have more data on, e.g., the typical rate at which we forget things than I, a random language learner, can have; what do I know about that? So I fear that changing something may harm my learning (currently I get more work than I would like, but I do learn).
You seem to know what you're talking about so I'll try your advice (thanks a lot for it!). But if any Anki dev is reading, please, pay attention to the defaults. I'm sure the overwhelming majority of users are going to use them, out of lack of information and/or fear of tweaking things that we don't know much about. It's a pity to have such an awesome software not live up to its potential due to bad defaults.
Would it be hard to ask the user a small questionnaire, like "how long are you planning to study this subject?", "do you have a specific goal (learning X cards by date Y)?" and "what is the average and maximum time you are willing to devote per day?", and use that to set reasonable options for that user?
> I trust the Anki devs to have more data on, e.g., the typical rate at which we forget things than I, a random language learner, can have; what do I know about that?
IIRC the anki defaults seem to be geared more for short term, dense studying (like for tests). In those situations you would want a lapse to reset the interval to 0.
For longer term learning, you ideally want an 80-90% recall rate. [0] In my post on anki I have two studies that look at the effects of longer intervals on learning. [1]
Of course the purpose of "hard" is to reduce the interval. When I hit "hard", I'm saying that I don't remember this well enough and need to see it more often.
If you hit "hard" on a card, and then months later it re-appears, at which point you now remember it well and hit "good", doesn't it reset the state of that card back to normal?
Strictly speaking, you don't need to keep up with any fixed review schedule. Anki understands when you're remembering a card that was part of a backlog, and gives you some "extra credit" for the added time interval that you've incurred as a result. This means that these cards will soon be scheduled with very long recall intervals, which in practice helps you clear the backlog fairly quickly.
Sure, it's not optimal to miss a scheduled recall because then you might forget the card, which is quite bad. But most of the time you'll be doing OK, so it's always worth trying more cards.
I've been using Anki to memorize Chinese characters. It's near-ideal for the task. It's a pretty memory-hard task, and I find a sustainable average is only 2 - 3 new cards a day. I've done stretches where I've done 20 new characters and I pay for it in the reviews for weeks and weeks. It feels frustrating too since you keep reviewing the same 5 or 10 items that won't "stick".
I find SRS software like Anki is best taken with a "slow and steady wins the race" approach. I only do new cards when I start running out of daily reviews now, and I find it a lot less punishing.
The default leech threshold for Anki is 8. (You have to fail recall 8 times after graduating a card from new status). I recommend lowering this to 4.
If you keep on failing to memorize a card, then you should suspend or delete it. I know this sounds crazy, but you end up wasting so much energy on those cards; energy that you could have spent on memorizing characters that you don't struggle with. When you do anki for years this really adds up.
If that character is "important" relative to other characters, you can take it outside of anki and write like 15 sentences with it, etc.
You can filter by suspended (or leeched, I think) cards easily. What I do is set aside time once every ~2 weeks to go through my suspended cards and see if they need to be modified to be simpler, etc.
What really kills you is missing reviews. I did kanji study at 10-15 words/day for a few months, and then missed reviews due to work/life issues. Going back and slogging through that backlog of ~400 reviews was very demotivating.
I recommend changing the defaults of mixing new cards and reviews, to showing reviews first. That way it's easier to focus on knocking out reviews, which only really takes like ~15-30 minutes. Even at 20/cards day.
The "leech" thing is not a useful feature in Anki. I have configured it so that cards marked as leeches keep being scheduled normally instead of being suspended.
I have found in the past that
(1) with sheer persistence, I busted through leeches. For instance 催促 used to be a leech, in a deck of cards where that is the front. Now I know the word so well I can recall it in the reverse direction: for instance to talk about how it used to be a leech. :)
(2) given enough time, cards you know well will turn into leeches, simply due to occasional gaffes. The conversion of a card to leech is based on an absolute count of how many times you got it wrong, ever, regardless of how many times in between you got it right.
> with sheer persistence, I busted through leeches.
Thats totally fine too, it’s just that energy could’ve been dedicated to other cards where there isn’t an issue. I also power through some of these occasionally if I don’t feel like busting out pen and paper, etc.
> given enough time, cards you know well will turn into leeches,
Yeah this is an issue. Particularly if you keep periodically doing Anki, with just enough time to have lapses. So I set Anki to mark leeches instead of suspending them, and when I go through suspended / leech cards I do an assessment.
It's a proprietary, closed-source program for Windows that runs as a web service on localhost, using your browser for UI.
It's specialized for learning Kanji meanings and readings, nothing else. You can't use it for Japanese vocab, you can't use it for Russian, or for memorizing capital cities or dog breeds.
It does one thing, and well.
> Going back and slogging through that backlog of ~400 reviews was very demotivating.
You will love Tankan if you try it, because in Tankan, you can easily test yourself on 400 Kanji in the space of some 15 minutes, and refresh your knowledge efficiently.
Tankan is not based on self-assessment ("do I know this card?"). It generates test sheets where you fill in answers for each Kanji. The machine decides if your answers are right or wrong, not you. The Kanji are all displayed in one page. You can read the next few kanji ahead while your fingers are answering the current one. You can tab quickly from one field to the next. If you don't remember something, you can skip it, and then backfill it before submitting the test for grading.
When the test is graded, you can then instantly take another test which just has the kanji that you got wrong. You can iterate on this until everything is right, and the the next batch of cards will be drawn from your deck.
When you know the material well, literally your typing speed is the critical factor. The problem with flashcard programs like Anki is that you're blocked from seeing the next card while on the current card. And even if you aren't, you're limited to seeing one at a time. Your brain needs to see a "sliding window" of multiple cards so it can think ahead.
For learning, Tankan has a rich selection method for kanji; by grade, frequency, stroke count, string search.
Large sets of kanji can be partitioned into sets labeled 0 through 9, A through F, which are selectable through checkboxes. So, say you want to learn some set of kanji according to some selection criteria, which happen to produce a set of 1000 kanji. What you can do is use the 16 subsets to divide it arbitrarily. Say, make a four week plan: This week you drill on sets 0+1 early in the week and 2+3 later in the week. Then the next week, 4+5 and 6+7, the over the remaining two weeks 8+9 and A+B, and C+D and E+F. Then, you start combining them.
Before long, you can casually take a test of all 1000, in one sitting. Bang away at the keyboard for half an hour. Have it graded. 92%, very good! That means 920 were right; only 80 are wrong: just a couple of minutes to re-test on those and after that round, maybe 7 will have to be done again in just seconds.
Tankan has a natural vacation mode: when you've drilled yourself, just put it away. Come back to it in weeks or months, fire up those 1000 kanji, slog through it, and you're back in the game before you know it.
Tankan also identifies which kanji you're confusing for one another. You can select those as a deck, and drill yourself on it. In this mode, the confused groups of kanji always appear together in the test. The groups themselves are mixed up relative to other groups, and the order is scrambled within the groups, but the confused kanji are always in successive runs. The relation is transitive. If you confuse A for B, and also C for B, then A-B-C are a confused set. You will be startled! If you're mixing up 住 and 注 主, it will know. If you're mixing up 姉 and 妹, it will know.
Tankan keeps no permanent record. Only the most 20 recent answers for any kanji are retained, and are not associated with any scheduled time, or time interval or anything. You must click a save button to explicitly checkpoint your state. When the program starts up, it doesn't automatically load the saved session state; if you want, you can ignore it and start in the initial game. It works exactly like checkpointing a game: re-start the saved game, or begin a new one.
There is none of that "Anki tyranny" ("OMG, my 3.5 year card lapsed to 1.0 years, waah!"). It doesn't take over your life in any way.
Any chance of releasing this for other systems? I only use mac and linux, but am interested in checking this out.
> There is none of that "Anki tyranny"
Anki isn't really tyrannical, it just has some defaults that aren't good in my opinion. If you lapse on a word, it's likely that the interval -should- be reduced a bit.
> It feels frustrating too since you keep reviewing the same 5 or 10 items that won't "stick".
I think the idea is that eventually you'll be recalling even those "leech" items, due to the sheer exposure you're getting in the meantime. Frustration is part of the game.
> due to the sheer exposure you're getting in the meantime.
This helps less than you'd think. Many of my leeches are due to word similarities. Sometimes I'd have an issue of erroneously swapping two similar words, and my brain would get "stuck" following that circuit. If that makes sense?
The fix that I found was suspending one or both of the words and making up a lot of sentences for them. And physically writing them.
I can relate, more than half of my leeches are due to word similarities as well. In particular, they tend to happen if two similar words start appearing at roughly the same time (if a word has had enough time to "consolidate" well in my memory before a similar word appears, I tend to be OK).
When this happens, I find the Anki "leech" feature to be useful. I just let it remove (suspend is the word, I guess?) those words automatically. Flashcards are not my sole learning method, so I will probably learn them anyway by other means at some point, so spending lots of time on repetitions to get them right is not worth it.
I just signed up as a paying customer about 3 hours before this HN thread. Mochi has been fantastic so far - it has most (all?) of the power of Anki, but a much more thoughtful UI. Although Mochi imported my Anki decks seamlessly, I prefer Mochi’s native Markdown support.
Awesome! I'm not on Twitter, but would like to be a beta tester. Do you by any chance have a mailing list or RSS feed? If I buy a subscription will you email subscribers when the beta comes out?
How do you get to it? The version of the site I got on my phone was completely unusable (buggy even if I had my mobile browser view it as a desktop site and zoomed completely out)
Edit: I was unfair. Just tested in Chrome Android and it worked fine, and Firefox Android and it worked mostly fine with some minor bugs (mainly clicking on menu icon does a text selection). The complete failure was in Firefox Previous, which is incomplete and completely reasonable not to test with.
maybe i'm just a jerk, but it bothers me when someone posts a project and doesn't link to an example of give a full description. i have no idea what anki cards are so i googled it and it's a pretty cool little open source flash card program. most people aren't going to do the research so it's best to have an explanation what all the components are. you don't have to be overly verbose, just a one liner explanation is fine most of the time.
Technical writing is a skill. Little things like linking related topics requires foresight into the range of knowledge your audience could have. It is easy to assume everyone shares the same knowledge you do.
Thank you so much for adding that Wikipedia link. For years (no exaggeration), I've been trying to remember the term for the problem of forgetting what it was like to not know something. I was never able to come up with the right search query.
And now I'm going to add it to my queue for making Anki cards.
which is why i always follow the "assume nothing" rule. when writing something, assume you have to explain everything. again though, it doesn't have to be verbose, just a one liner is more than enough.
I had the same response, so i googled it. The home page that came up for the Anki application (https://apps.ankiweb.net) doesn't really explain what it is either (it has a lot of fluff about how its useful and where its useful, but no actual information on what it does and how it does it.) I had to go to the docs link and read a good way into the user manual to get a sense of what it actually does. Still I'm not 100% sure I know what it is and how it works. Ok, its a flash card app. There have been hundreds of those going back to at least the 80s. And before that people were writing on 3x5 cards for a very long time. How is this better or more useful that?
Anki specifically is a spaced repetition [0] [1] flashcards app, similar to supermemo.
When you review a card, you can mark it as "Again", "Hard", "Good", or "Easy". The new interval of a card will depend on the grade, so it might be like 1day -> 2days / 3days / 4days, and so on. "Again" resets the interval to 0, like a new card.
The documentation is "open source tier", because anki is open source. It should be better, I agree, but something something you get what you pay for. Anki is free on pc/mac and android, but not on ios.
As someone who has used it for the last 2.5 years, I can wholeheartedly recommend it. In fact, I've written at length about it [2]. However I think the manual is pretty good [3] (for anyone who's curious).
Feel free to ask if you have any specific questions.
It's not just a plain old flashcard app, the point is to implement a scheduled recall system to help you memorize the content effectively while minimizing effort.
Anecdotally, it's also a lot more engaging than your average flashcard app. Using Anki feels like playing a video game, except that you also get quite valuable results out of it.
I figure the appeal of this tool is largest to those who already use author flashcards in Anki. There's been a number of posts related to Anki in the past year on HN, so there is some overlap.
I've spent many years using Anki and I have thousands of cards. I love it but I notice a few very common failure modes:
1. Putting far too many cards in a deck.
2. Putting in information that you want to learn rather than information you have already learned.
3. Using large pre-made decks (which is really just 1 and 2 together).
If you're planning on using Anki longterm (such as for language learning) then keep the number of new cards low. Something in the range of 3-5 a day is totally fine.
You should put things into Anki after you have learnt them. In general I suggest putting in information at the end of a study session when you feel like you know it so well you couldn't possibly forget it. Cards should feel a bit too easy when you create them. By the time you come to review you will have forgotten a little and the difficulty will be perfect.
I'm almost sold on downloading this, but I have a question.
Let's say I create notes.md with 2 cards:
## hey
hi
## hello
howdy
But, then I modify card #2:
## hello modified
howdy modified
and recreate the deck.
Does the 2nd card that has now been modified get treated as a whole new card? (In other words, if I've been using card 2 to study, do I have to start all over?)
MDAnki produces a file with a deck for importing to Anki. Every new import will generate new cards. I don't know anything if it's possible to make updating cards during the import. I'll try to investigate it. Thanks for this note!
This would change a lot of the current design but one option is to use AnkiConnect[0], it provides a network interface for interacting with Anki and creating/updating cards.
There's a somewhat similar project[1] that lets you use Org mode to make cards. It uses Emacs so there may not be too much you can apply but could be useful to take a look at.
The program requires notes (written in Markdown, with one section for each slide) along with the pdf slides and it produces a deck which can be practised in Anki. It may prove to be useful for someone here.
This is very nice. I recently tried creating a bunch of Anki flash cards for theorems in real analysis, but found it too tedious. Is there any support (current or planned) for converting latex fragments?
And then... I hit this mathematical limit where I just couldn't keep up. You can't add 20 new cards a day for any length of time without the review cycle getting overwhelming. I'm not sure it's even physically possible to Anki full recall of everything learned in a college course - each class would need to be much longer than a term to keep up with the review.
One solution is to just keep plugging away, reviewing what you can and hoping the things you answer correctly will relieve the pressure as they come up less frequently. But since you're late on many card, recall sucks and I never really made much headway.
I also have a really hard time retiring cards. It's like deciding to cross things off your TODO list that you'll never do, you always want to keep it on thinking you might do it someday. Same with a not very relevant piece of info, it's right in front of you, it still feels like it might be useful to know...