Hello HN, i've been trying to use spaced repetition to help with my studies but creating cards in anki is a pain, do you have a better way to create cards? ( or an anki alternative that makes this easier? )
CSV import (from Excel / Google Sheets) is my go-to for this as well. Added bonus is being able to script things - I have some Python scripts that will do a lot of the hard work for me when making cards for a new language (looking up definitions and example sentences from Wiktionary, adding synonyms / antonyms, etc).
I've put them in a Gist for you: https://gist.github.com/andmikey/4da65e0085104e514286678c431.... The script I run is wiktionary_scraper.py, it assumes you've got a vocab_main.xlsx that contains a "lookup" sheet with the first column being all the words you want to look up. Definitions and related words are put into a new file, vocab_defns.xlsx.
I will warn you - it's not very clean code and mostly based on scripts I'd found on GitHub. It's something I threw together over a summer because I needed to learn a lot of Swedish words very quickly, and my usual Anki-adding methods were too slow. Worked out well, but I do keep meaning to come back to it and make it a proper bit of software...
For Japanese (I realize that's not what you're looking for, stay with me) there is a chrome plugin called Yomichan which allows you to create an anki card from any japanese word you.
I wonder based on your study environment (if it's web based) if you could find a similar plugin that's more general purpose or develop one yourself.
Though, in my experience using both Anki with pre-made and custom cards, the custom ones tend to promote better retention and cover individual knowledge gaps more thoroughly and efficiently.
If you're comfortable with Python, https://github.com/kerrickstaley/genanki is amazing. You can pull your content from any source, use templates for the question and answer format, and even add media to each card (image, audio).
I love genanki. If you create your cards such that they have an ID in the first field, you can also update them over time. This is useful for pulling from online sources whose underlying data may change over time. It's also nice when you want to update the template for previously-generated cards, perhaps to format the question/answer differently.
If it's a matter of creating cards one by one, instead of in bulk, I would argue that's a feature rather than a bug. Consider it extra study time, especially as creating a good card makes you think about the topic more.
An alternative is to use LaTeX with the flashcards [1] package if you want physical cards. The results are quite nice and the process is very scriptable.
I take a lot of notes in Vim (neovim) and am planning to build a connector from Neovim to Anki. Haven't looked into it deeply but I'm guessing an easy way is to run the Anki connect and execute curl from inside Neovim, passing structured note details.
Some of the other comments have good suggestions for scripts and tools. I'd like to offer a slightly different opinion.
Make your Anki cards one at a time. Quality over quantity.
It's very easy to add 10,000 words and translations/definitions into Anki using import tools and scripts. If this works for you, great! But I often see people do this and then a month later feel totally crushed by hundreds of reviews information completely out of context.
Instead, try studying and only make a card when you have an "Aha!" moment. "Oh, that's what that word means" or "Ahh, I see how the past tense works". Ideally, cards should feel a little bit too easy when you make them. It should feel like you're never going to forget the new word that came up 20 times in this chapter of your textbook. Of course, after a week or so your memory will be a bit more fuzzy and the Anki card will be a helpful reminder to prevent forgetting.
A bonus of this method is that now doing Anki reviews is like remembering all your best hits and moments you were really clever. It's the complete opposite of a grind.
I agree with this. I generally spend a bit of time creating a single card, with the front being a question that I come up with myself based on the concept I want to understand.
For example, when I was learning about DIY Bio, one of my cards might look like:
Front: "What allows plants and algae to photosynthesise sunlight, carbon dioxide and water into energy?"
Back: "chloroplasts"
My memory isn't great and I think rewording what you've read helps in the process.
I agree with laurieg[0] and dustincoates[1], there is value in creating your cards one at a time, because then you initially learn the card as it goes in, and you are using the system to help retain it in the long term. Their comments should be read carefully and the points considered.
But I also use a Spaced Repetition (SR) system to memorise things, and sometimes there's value in simply dumping things in "in bulk", learning them when first presented, and trusting the system. When I first had need of a SR system I needed it quickly, and I didn't have 'net access, so I wrote my own. My usage is perhaps idiosyncratic, but I can see why one would want to install cards en masse.
Actually, that pain actually helps you remember your studies, possibly even more than reviewing the cards themselves!
It's similar to how taking notes during a lecture help you remember better, even if you never review the notes again.
Fluent Forever[1] teaches an effective method for maximizing the benefits of SRS. It specifically targets foreign language learning, but the concepts can be applied to whatever you want to learn.
23 comments
[ 3.3 ms ] story [ 71.8 ms ] threadI will warn you - it's not very clean code and mostly based on scripts I'd found on GitHub. It's something I threw together over a summer because I needed to learn a lot of Swedish words very quickly, and my usual Anki-adding methods were too slow. Worked out well, but I do keep meaning to come back to it and make it a proper bit of software...
[1] https://github.com/ankicommunity/ankidown/
I wonder based on your study environment (if it's web based) if you could find a similar plugin that's more general purpose or develop one yourself.
https://ankiweb.net/shared/decks/
Though, in my experience using both Anki with pre-made and custom cards, the custom ones tend to promote better retention and cover individual knowledge gaps more thoroughly and efficiently.
It supports curl, python, javascript, etc to add cards and supports an incredible amount of actions to interact with Anki.
Example: curl localhost:8765 -X POST -d '{"action": "deckNames", "version": 6}'
I setup a crude "GUI" in Jupyter Notebook to create and manage my decks.
I use this approach in my Spotify + Anki app, described here: https://www.reddit.com/r/Anki/comments/g0zgyc/spotify_anki_l...
If it's a matter of creating cards one by one, instead of in bulk, I would argue that's a feature rather than a bug. Consider it extra study time, especially as creating a good card makes you think about the topic more.
Otherwise, card types/templates are your friend.
[1] https://ctan.org/pkg/flashcards
[0]: https://github.com/lervag/apy
Make your Anki cards one at a time. Quality over quantity.
It's very easy to add 10,000 words and translations/definitions into Anki using import tools and scripts. If this works for you, great! But I often see people do this and then a month later feel totally crushed by hundreds of reviews information completely out of context.
Instead, try studying and only make a card when you have an "Aha!" moment. "Oh, that's what that word means" or "Ahh, I see how the past tense works". Ideally, cards should feel a little bit too easy when you make them. It should feel like you're never going to forget the new word that came up 20 times in this chapter of your textbook. Of course, after a week or so your memory will be a bit more fuzzy and the Anki card will be a helpful reminder to prevent forgetting.
A bonus of this method is that now doing Anki reviews is like remembering all your best hits and moments you were really clever. It's the complete opposite of a grind.
For example, when I was learning about DIY Bio, one of my cards might look like:
Front: "What allows plants and algae to photosynthesise sunlight, carbon dioxide and water into energy?"
Back: "chloroplasts"
My memory isn't great and I think rewording what you've read helps in the process.
I agree with laurieg[0] and dustincoates[1], there is value in creating your cards one at a time, because then you initially learn the card as it goes in, and you are using the system to help retain it in the long term. Their comments should be read carefully and the points considered.
But I also use a Spaced Repetition (SR) system to memorise things, and sometimes there's value in simply dumping things in "in bulk", learning them when first presented, and trusting the system. When I first had need of a SR system I needed it quickly, and I didn't have 'net access, so I wrote my own. My usage is perhaps idiosyncratic, but I can see why one would want to install cards en masse.
Good luck with your studies.
[0] https://news.ycombinator.com/item?id=32407331, in which they say: "Make your Anki cards one at a time. Quality over quantity."
[1] https://news.ycombinator.com/item?id=32398200, in which they say: "Consider it extra study time, especially as creating a good card makes you think about the topic more."
If you prepare a file which looks like this:
you can just import it. Way back when, I created all my Japanese decks with some text processing over scraped data.Actually, I saved the list of flashcard makers from this article: https://custom-writing.org/blog/how-to-make-and-study-flashc...
It's similar to how taking notes during a lecture help you remember better, even if you never review the notes again.
Fluent Forever[1] teaches an effective method for maximizing the benefits of SRS. It specifically targets foreign language learning, but the concepts can be applied to whatever you want to learn.
[1]: https://www.nateliason.com/notes/fluent-forever-gabriel-wein...