I used Anki for about a year, and it definitely didn't work for me. Going through and remembering the answers was always a struggle. I only ended up with 36 cards -- the idea of making a bunch for every person I meet and book I read would overload my memory like crazy.
My memory has always been really good at indexing "what's the word for that", "there is an algorithm for this called X", "the keyboard shortcut for this is Y", "there is something weird about the way Z works in situation W". But it's index only, and I have to look up the content every time. At least since I turned 35 and realized I was forgetting the answer to every problem I'd solved before.
It's been 2.5 years and I don't remember the answers to any questions. Maybe using it for precise definitions is the wrong way, as that might be more like remembering 20 things in a row. I had questions like
Q: What is type erasure?
A: Java implements generic types by deleting them. It does a compile-time check that your types match, then replaces the types with their bounds (eg, when T extends Number) or with Object.
I have retained a vague, but not precise knowledge of what type erasure is. I know exactly what to do when I program something that uses it. But even Anki can't give me the kind of sharp memory you might need for a job interview or quiz.
It's so easy for me to learn things by working with them. Hundreds of concepts, functions, keywords, and strategies a year, more than all my colleagues. I tried to memorize the things I don't use every day. It was unpleasant and that made it unsuccessful.
Your answer doesn't answer the question. You ask what type erasure is and then answer with some very specific information on Java's generics. Nothing in your question indicates that it's about Java or generics.
> Maybe using it for precise definitions is the wrong way, as that might be more like remembering 20 things in a row.
This is exactly what it can be like. The 20 rules from SuperMemo are really useful for trying to formulate and transform the cards.
It's always odd how failing at most things leads me to ask "how am I doing this wrong?" and overcome, but I never asked this about Anki. Thanks for the link.
I was not aware till this moment that type erasure was something that C++ also has. I thought it was a specific gotcha for Java like the whole "no == for Strings" thing. In that context, I've only seen it connected to generics.
> Going through and remembering the answers was always a struggle.
That's a definite hint to adjust the procedure, e.g. change the schedule. There are plenty of variables: some cards are better learned together because they are too similar, and you'd have trouble recalling them among other ones (I have this when going over geography, with countries that are in busy regions like Oceania or the Caribbean) ― you can pull them into a "filtered deck" by a tag and study them separately. Or, you do the opposite and put several decks into a grouping deck so you have to remember different kinds of facts in mixture instead of drills on specific topics.
Some answers are poor fit for one's memory, so you change them until you feel comfortable and retain the knowledge. E.g. I can't remember population of countries and cities with good precision, so I allow myself some slack with the answers.
Regarding the schedule, I found that I have to have a tighter schedule than the default, and I also employ the "bury" feature to repeat some cards. Plus, I have different limits on the numbers of new and reviewed cards for different decks.
If you find that you need more context to retain the knowledge, I'd think it suggests that you should have more cards, not fewer, and they should have closely related information, even partially duplicating each other. Maybe also have more info on each card, such as code examples. It can be time-consuming to create the cards yourself, but there are ready-made decks, including plenty on programming, and it's also possible to convert cards made for other apps. (Might be also fruitful to see how others make cards, and borrow some ideas.)
Generally, IMO spaced repetition simply "automates" the natural need of the memory to have the facts repeated to remember them―and other tricks, such as addition of more context, would also help. But, of course, for some people the right approach might be to abandon flash cards altogether and employ something else, such as practical exercises.
My memory has always been really good at indexing "what's the word for that", "there is an algorithm for this called X", "the keyboard shortcut for this is Y", "there is something weird about the way Z works in situation W". But it's index only, and I have to look up the content every time. At least since I turned 35 and realized I was forgetting the answer to every problem I'd solved before.
It's been 2.5 years and I don't remember the answers to any questions. Maybe using it for precise definitions is the wrong way, as that might be more like remembering 20 things in a row. I had questions like
Q: What is type erasure? A: Java implements generic types by deleting them. It does a compile-time check that your types match, then replaces the types with their bounds (eg, when T extends Number) or with Object.
I have retained a vague, but not precise knowledge of what type erasure is. I know exactly what to do when I program something that uses it. But even Anki can't give me the kind of sharp memory you might need for a job interview or quiz.
It's so easy for me to learn things by working with them. Hundreds of concepts, functions, keywords, and strategies a year, more than all my colleagues. I tried to memorize the things I don't use every day. It was unpleasant and that made it unsuccessful.