Hacker News new | past | comments | ask | show | jobs | submit login
Anki: Memorization with Spaced Learning (ankiweb.net)
636 points by tarboreus 8 months ago | hide | past | web | favorite | 172 comments

Also worth reading is the excellent (and pretty extensive) article by Michael Nielsen[1] showcasing how he used Anki to create an in-depth knowledge about AlphaGo.

Personally, I've used Anki to keep remembering/revisiting the concepts that I use for a while and then move onto something else. Common APIs of programming languages and their standard libraries is one such area. I've found that while it's not really difficult to learn and get into the flow of using a programming language (or history, mathematics, physics for that matter), it's more difficult to try using the same knowledge after a break of few months.

My main language at work is C# and Web Development, but I keep trying to learn other languages and domains in my free time. If I do not use the knowledge for a few months, I forget everything. But with Anki I have to just open the app for around 10 minutes a day and it helps me to recall such concepts in a timely fashion.

I would suggest everyone who has the time and faces similar issues should give it a shot.

[1] http://augmentingcognition.com/ltm.html

This article is the best summarization of real, everyday usage of Anki outside of language learning and medical studies which are common uses of Anki. Reviewing flash cards is the highest leverage 10-15 minute habit I have besides planning my day. There's a certain joy and relief from having a reasonable confidence new information will be readily available to you for years to come. Much knowledge is better absorbed through practice, conversation, and writing. If you can distinguish between what you can learn through flash cards, and what you can absorb through other practices and not conflate the two too much—you'll be in a great place.

Some categories of cards I have that may serve as inspiration for others wishing to get into flash cards..

  * Basic information about countries e.g. population
  * Ingredients and dishes from restaurant menus I didn't know
  * Important people and places
  * History facts (typically from Kindle highlights)
  * Conversions between units (e.g. lbs to kg)
  * Season for various vegetables and fruits
  * Keyboard shortcuts for vim, readline, etc.
  * Learning words and terms I don't know from Kindle/Instapaper highlights
  * Useful statistics

Thanks for the inspiration, I've been using Pocket (and browsers) to bookmark everything I want to recall (like history facts or important people like you pointed out), I knew Anki but never thought about this, flash cards looks like a more simple and efficient way to accomplish this.

What specific techniques are you referring to when you mention planning your day as a high leverage habit?

Is there a convenient workflow for kindle highlights - > flashcards?

To my knowledge, there's no kindle API


Upon research, there's a few tools like https://readwise.io/ and clipping.io which are chrome extensions.

They webscrape your homepage highlights here:



Readwise is like evernote for kindle highlights. It sends 10 or so highlights as a daily message email.

that's a webscraper not an official api though, reading through it uses beautifulsoup.

The best way I know to get highlights from kindle (I only use iPhone) is to click the "My Notebook" icon (looks like a letter paper page), click the export button, and then send to email. There is a notecard option there as well but I haven't tried it. Not exactly a solution but I'm mentioning it because it took me a while to notice.

A great list! Very similar to the kinds of things I put in Anki.

Do you have any other ideas/suggestions?

Great inspiration, care to share the links?

org-mode has an implementation of several spaced repetition algorithms, which is what Anki is using under the hood and what was originally invented for SuperMemo. The module is called org-drill.

I'm in the process of turning many knowledge aspects of my life into a personal knowledge base inside org-mode. For books I'm reading, I find it invaluable to create org-mode items. One per concept. Sometimes I don't even bother filling the content. E.g. I just use a title like "Hadamard transform definition" and nothing else. It'd be to time consuming to write up the definition, and it's pointless as that's in the book anyway.

Then, org-drill brings up some of this cards according to the spaced-repetition algorithm. I answer them with pen and paper. Sometimes I need to prove a theorem, or recall a definition like in the example above. I then open up a book to check my reply is correct and grade myself accordingly. It's a great system to systematize learning.

What I've written also has a connection with productivity systems like GTD (which I don't use personally but serves to illustrate my point).

Many if not most people on HN are knowledge workers. For us especially, many tasks in our inboxes are non-actionable. E.g. a link you stored that teaches a great trick to use your editor, or an elusive shell one-liner you came up with.

What to do with these? A good productivity system should also include a knowledge base, so that those non-actionable bits of information that have future value can be easily stored and later retrieved. Here they explain it better than I do: https://praxis.fortelabs.co/gtd-x-pkm-8ff720ef6939/

A further tweak is to force spaced repetition on those knowledge bits you want to be able to learn by heart. In Emacs, you can achieve this by simply tagging them for later org-drill (spaced-repetition) sessions.

As a student I used to do this with pen & paper. I would patiently deconstruct books into extremely long lists of items that included definitions, theorems, corollaries, demonstrations, and whatever concepts in the right order. Then I recalled them during repetition sessions. Doing this with a spaced-repetition algorithm is a much more efficient way, as you focus your effort on hard stuff and you time sessions appropriately to maximize the chances of learning it.

Since we are talking about Emacs now, there's a package[1] for Anki just like everything else in Emacs. :) This basically connects to a background server of Anki, you create a card and press C-c C-c to send it to Anki. End of the day, just sync it.

I am one of those guys who try moving everything to Emacs, but personally I found Anki to be much better than org-drill just for the simple reason that I can go through the cards quickly using the phone app when I have some time (waiting for someone, something, etc.). With org-drill I have to be in front of my machine.

But yeah, I've pretty much sold to org-mode. I, too, have been creating a knowledge base inside org-mode. This contains the deeper knowledge and explanations, while the tidbits are in Anki. Org mode notes are like fat nodes, and Anki cards are the threads which bind them. I personally have found both to be very useful together.

[1]: https://github.com/louietan/anki-editor

One of the problems with this approach (one-way sync/extract from org-mode files to Anki database) is losing out the context (imagine org file notes from a technical books). I use org-drill in combination with org-sticky-header, which show the path of headings to that particular node. Normally in Anki, this requires to add some extra descriptions or tags for this purpose. In org-mode, we get this for free.

But on the other hand, org-drill will fill your org file with scheduling and metadata drawers (I did some hacks to hide them but not able to make it work without messing the org-ellipsis).

Another drawback with org-drill is it manages schedules for one "card" per heading, hence cloze items are not scheduled individually. So, either you remember entirely "Alfred North Whitehead wrote [Principia Mathematica] in [1910]" or not at all. In Anki, not only the book title "[Principia Mathematica]" and the written year "[1910]" are tested separately (same as org-drill), but also scheduled/scored separately too (where org-drill falls short).

I use both, org-drill mostly for books, Anki for "standalone" facts. But I'm always wishing for some kind of a system that hit the sweet spot between them two.

I experimented with anki in law school one semester.

I decided to feed all the concepts of my criminalistics class into the program and only study that way. The class contains a lot of procedures and tidbits you kinda have to memorize (It was a bad class, I think it should've been taught entirely different but that's another subject).

I came out GREAT. I aced the fuck out of that class and I didn't even have to use anki every day.

The system described here is in many ways similar to Incremental Reading [1], which also uses an algorithm to schedule when to read the URLs provided. (the Anki addon is fairly primitive though, would rather use a browser plugin that remembers how much I read from each webpage instead)

Also worth paying attention when reviewing flashcards, as described in [2]:

  And when I rush through my flashcard reviews, I’m not thinking. I’m focusing on the wrong question: “Do I remember this perfectly?”
  Instead, whether I happen to have perfect recall or not, I should focus on: “This is my time to think about this again.”
  Major paradigm shift.
[1] https://ankiweb.net/shared/info/1081195335 [2] https://yourawesomememory.com/reviewing-as-thinking/

Have you found any good tools other than Anki for Incremental Reading?

Supermemo has the best implementation of incremental reading and somewhat pioneered it. It's only downside is it's heavily tied into windows. [1]

[1] https://www.supermemo.com/help/read.htm

Not yet, there is a project here that is worth keeping an eye on though: https://github.com/burtonator/polar-bookshelf

I've used Anki over the past 8 years or so very successfully. I strongly recommend it to anyone learning a language. Here are some tips to get the most out of it:

* Only put things you know into Anki. An individual Anki card should feel a little too easy when you make it.

* Put in words with a good amount of context. Avoid single words as much as possible. The quickest way to do this is to just input the sentence from the book/TV where you learned the word. You'll learn collocations and grammar structures by doing this.

* Delete cards when they give you trouble. Language learning is a marathon, if the word is important you'll see it again. If you keep getting a card wrong then you probably didn't actually learn it in the first place, or the card is written in a confusing way.

* Avoid the temptation to input huge lists of words automatically. Lots of beginners download "3000 Most Common Words", put them all into Anki and then give up within a few weeks. A language is much more than just a list of words.

Sounds like the way you use Anki is more of a learning supplementary rather than a singular tool? Like you are learning of words elsewhere and entering them into Anki for memorization once you have learned about them?

I’m just curious. I’d like to use Anki to get better at reading and playing chords (on keyboard / piano) from symbol notation but I haven’t started yet. Would you recommend learning each chord one by one and entering them into Anki as I learn them?

I think that's a very fair assessment of how I use Anki. I think if you spend all your time using Anki and no time interacting with the actual language you're learning you won't get very far. Basically every sentence I put into Anki comes from a book, movie, TV show or conversation.

The question about piano chords is really interesting. I often compare learning a language to learning to play the piano. Both are real time skills that require practice, to just learning. I meet someone who loves reading grammar books I say "You can read a book on piano construction 100 times and you won't learn to play the piano.

As for your case, what is the skill you want to learn? Playing the chords right? Then that has to form the main focus of your practice. By all means, use Anki to help memorise chord names and chord patterns but be careful: You might just get really good at seeing a chord and saying it's name rather than seeing a chord and playing it!

Also, sight-reading is a very real-time skill. You have to read those chords and then play them on the right beat. If you practice chords with Anki you might get good at seeing them in Anki and then playing them a few seconds later, but it's not the same as doing it in real time.

So true. My goal with learning to play chords from symbols is to look at a chord progression and be able to play it without too much trouble. Not really for performance or anything, but to help with composition.

So perhaps a good approach would be to do the Anki spaced learning sessions in front of the keyboard and actually play the chord as the answer. I may not become a great real time sight reader, but being able to see a chord like C+9 / C95 and be able to play it a second or two later should be good enough.

Thanks for the advice.

Anki is king of med schools, and was huge among my classmates back then. The first thing you learn after failing to use it right for a while:

Anki is for retention, not learning. If you haven’t internalized what you’re flashcarding, it’s not going to stick just because you’re using spaced repetition.

I've tried using Anki for music and I don't think it works very well. You want to drill chords so your fingers don't forget them. If you get the flash card right you will only see it once. Flash cards may help with learning chords, but spaced repetition flash cards will not.

I would recommend putting in chord progressions (like in a normal song) rather than single chords. Also make sure to actually form the chords, either on the piano (definitely much better), or on the table (in a pinch). This will allow you to learn the chords in context and give your hands muscle memory, especially with common transitions.

>Delete cards when they give you trouble. Language learning is a marathon, if the word is important you'll see it again. If you keep getting a card wrong then you probably didn't actually learn it in the first place, or the card is written in a confusing way.

Anki has that feature built in actually, they're called leeches. By default I believe it's set to 7 mistakes. The idea is that if it happens, you need to either remake the card or do as you said, and wait for it to come up later.

I would also add:

* When learning languages, create your cards in a way that you must type the answers in Anki. It's way easier to acknowledge how confident you are with them.

* Your Anki cards/decks shouldn't be static: edit and tree-shake them often. It means that you got a deeper understanding of the subject.

I love Anki, but when it comes to language learning imo it is only great for bootstrapping a language and getting the first 250 - 500 words under your belt.

Beyond that it is like trying to learn how to ride a bike by putting facts about balance and motion into your Anki deck.

Take example sentences from your grammar book in Anki. Quiz from your native language to target language only. You'll be surprised at how useful it is.

Vocab is a grind no matter how you do it, but the best place to be is being able to read books. This will allow you to have a natural repetition in context and get you will easily and enjoyably acquire the vocabulary. However, once you're past the most common 3000 words or so, new vocabulary often shows up at pretty rare frequencies. So if you're free reading and you encounter a rare piece of vocab it's quite useful to jam it into SRS software like Anki and review it until you are up to about 1 month frequency -- which will probably be when you encounter the word naturally.

Those are awesome tips. Could you give a bit more detail into the actual process you follow, beyond those tips? What is your process / do you have a specific routine you follow with the cards?

The basic process is:

1. Read an article.

2. Encounter a word or phrase you don't know.

3. Keep reading!

4. If the meaning of the word or phrase "clicks" for you, put it into Anki. If not, look it up in a dictionary. For words you have to look up, think very carefully about putting them into a dictionary. There are no hard and fast rules but err on the side of leaving them out.

Review the cards whenever you have time. If you have so many cards that "Review anki cards" is something you have to schedule time for then imo you have too many.

Let's imagine I'm learning English and I read a BBC article and I see this sentence:

> They often have to get creative when "cashing out" or laundering the money they have stolen, according to a security expert.

Hmmm. I don't know what "cashing out" or "laundering" means. Let's keep reading.

> "They can try to sell the card, which is not big money because they only get a few dollars for each one," he said.

Aha! "Cashing out" must mean getting money from what they did. Now that I've learnt "cashing out" I'll put the original sentence into Anki. The back of the card will be an explanation of "cashing out". When you start you can use a translation into your native language. Then when you get better you can use a dictionary definition in English or even write your own definition. Anything that helps you remember the phrase that you already learnt.

After I finish reading the article maybe I check "laundering" in a dictionary or maybe I just leave it. Don't worry that you'll "miss" a word. If it's common you'll see it again. If it's extremely rare then you won't see it again and won't need to know it.

Learning a language is like walking through an orchard. Pick the ripe fruit and leave the rest. If you try to grab everything you won't be able to carry them.

> Learning a language is like walking through an orchard. Pick the ripe fruit and leave the rest. If you try to grab everything you won't be able to carry them.

Great analogy, it really resonates with my experience. Your Anki language learning tactics also.

Before Anki, I tried to learn Polish with Memrise and it didn't work. With public decks you will waste time on irrelevant words for your usecase and soon you'll get bored. You MUST do your decks. My tactic is to digest everyday one or two headlines from a Polish newspaper and create 2-3 cards with relevant words/expressions (3 x 365 = 1k+ cards/year!).

I used to agree with the traditional SRS criticism: learning is not memorising stuff. But after trying it I reshaped my beliefs: learning is understanding and memorising.

I'm always a little confused when I see articles on the internet extolling the virtues of spaced repetition learning. I don't doubt that it's a good way to memorize things; it's just that I have never really found that memorization was ever an obstacle to my ability to learn something. I've always found that retention proceeds from understanding.

Time spent flicking through flashcards for vocabulary or formulae or chemical paths or whatever seems like a poor substitute for time spent reading material that uses the vocabulary, explains the derivation of the formulae, or describes the chemical process, or whatever...

Is this just about passing tests, or is this genuinely how other people approach learning?

> poor substitute for time spent reading material that uses the vocabulary

You can't effectively read material without having enough vocabulary to cover at least some 80% of it.

My most recent language learning experience is Japanese. The difference between trying to read before cramming on an ~8000 word vocabulary and after is night and day.

And the comparison basis here is not reading hardcopy, but electronic text with the help of an instant dictionary lookup tool (hover the mouse over anything to get to the reading and meanings instantly). That is to say, even with that tool, which eliminates some of the barriers of the writing system, trying to read is still like pulling teeth compared to the experience when you're crammed on a decent chunk of vocab.

Vocab gets you to that point where you can guess the meanings of unknown words from context, as well as their readings. You can start using mono-lingual dictionaries and other resources.

Now if you're coming from, say, one European language to another, you may be able to get away without using spaced repetition, because of a lot of shared vocabulary (cognates) and concepts.

In any case, brute force reading is spaced repetition. It's just inefficient spaced repetition that fails to schedule the appearance of a word based on your recall performance for that specific word.

I'd like to add that this concept is not just for natural languages. Say you read your first Shakespeare or Nietzsche or any book where your wish to learn and understand the content trumps the plot. Cramming the perspective (historical, philosophical, ...) should help massively in the pursuit of knowledge.

Should, because I've never tried it, but wish I could. Something like Kindle + Audible + augmented learning would be my dream. I always get my additional info from deep-diving Wiki and the internet, but that's obviously not as deep as a good set of notes, or a teacher should get me. There's an undeveloped space between the layman and the scholarly level.

In high school there was this old-school paper database resource I really liked that gave you this perspective for all the great novels. It didn't help you directly with your book report, but it helped find the words, themes and directions to report about. I even remember one: the 'vatersuche'-motif, which is a literary concept where a young man is looking for knowledge about his father via his actions that make the plot. It's so obscure, I can't even google it right now. That, or I don't know the proper translation, which proves the point.

>electronic text with the help of an instant dictionary lookup tool (hover the mouse over anything to get to the reading and meanings instantly)

Can you tell me what text you were reading and what tool you were using? This sounds like exactly what I have been looking for my japanese learning.

Not the OP, but the reality is that you can read anything that interests you. Especially when you are starting, the first few thousand common words are incredibly common. So you'll get those over and over and over again. The main problem is that depending on what grammar is present, you may have difficulties.

There is something called the "natural order hypothesis" that states that the order in which people acquire the grammatical structures of a language is roughly the same, no matter what order the grammar is introduced. This is one of Stephen Krashen's hypotheses that has some good evidence in trials.

So the problem is that if you pick a piece that has a lot of grammar that you haven't acquired yet, you'll be spinning your wheels for a long time. The solution to this is simply to move on and find something else to read.

As for tools, the rikaichan plug in in Firefox and the Chromium port (rikaikun) are the main ones. There are lots of children's stories on the internet. Search for 昔話. You'll find lots to read :-) If you're a bit more advanced, then news is always good. TBS news is nice because they always give you both the video and audio along with the text (which is invariably exactly the same as what's in the video): http://news.tbs.co.jp/

But you can even read Twitter or and other social medium. I spent a long time reading the Ruby dev list in Japanese to learn computer terms. Good luck on your studies!

Thanks a lot for the tips. Really appreciate it.

> reading hardcopy, but electronic text with the help of an instant dictionary lookup tool (hover the mouse over anything to get to the reading and meanings instantly)

Care to share the tool you use to read and the dictionary tool?

I've been using Anki for a few years, here are my thoughts on your questions:

> I have never really found that memorization was ever an obstacle to my ability to learn something.

I think it depends what you are learning, for example when learning languages I find a lot of the difficulty is just in retaining the words.

Another place where I've found it useful is for memorizing definitions in (pure) mathematics. To be able to read the later parts of a book you need a good working knowledge of earlier definitions. You could look back for the definitions every time, but that breaks the flow of reading.

> I've always found that retention proceeds from understanding.

Yeah, I find that too. But this is something that I do after understanding something to help retain it better and for longer.

> Time spent flicking through flashcards for vocabulary or formulae or chemical paths or whatever seems like a poor substitute for time spent reading material that uses the vocabulary ...

The time I spend on memorization is very small, less than 5 minutes a day, and I usually do it on my phone while I'm waiting for something. It replaces checking reddit or playing phone games rather than deep reading of interesting material.

General guidelines for spaced repetition tell you not to memorize things you don't understand anyway, and say that you only waste your time by doing so.

In general, it helps with indefinite retention. And if you don't do something often, or regularly, any permanent footholds offer some scaffolding to get back up to speed quicker the next time you need to do it.

As a problem approaches looking like learning a language, spaced repetition gets more useful. If you learn a second language, you will probably hit a plateau if you never try to memorize anything, because language has a large set of symbols, some infrequently used, but still critical in some situations.

It probably helps anywhere that "deliberate practice" and "memorization" almost overlap in how they work or in effectiveness, say, in memorizing program hot-keys.

> it's just that I have never really found that memorization was ever an obstacle to my ability to learn something

I mean, taken to an extreme, that's clearly wrong - if you had no working memory (or, say, forgot everything after 10 minutes), you also couldn't learn anything, at least in the sense of being able to use that knowledge long-term. Learning and memorization go hand in hand - learning is, in a sense, the act of getting new things into your memory.

If you mean that there's more to learning than just memorization, you're right! (mostly, see note) In many domains, you need more than just to try and rote memorize a bunch of facts. E.g. when studying math, you need to memorize things like definitions, but also understand them, which is another way of saying "memorize what they really mean". You need to "memorize" how to solve problems. Etc.

You certainly need to have that initial understanding when reading the material the first time, otherwise you can't possibly remember it. But, all of these can reasonably be called memorization, because they are all things that you might know one day, but get lost over time, and are things you can "drill". Therefore spaced repetition is a good way to make sure the stuff you learned once will stay in your memory long term.

Note: some things are pure memorization of facts, in a sense. E.g. I memorized all the locations of countries of the world, then their capitals, and now I'm working on their populations. There is some understanding that goes in here (and one of the reasons I do it is because it forces me to learn more about countries and make interesting connections), but for the large part, this is just brute "practice this fact enough times" learning.

I’ve found it to be immensely helpful in medical school. I only add cards after I understand a particular concept—read about a concept first, then add cards to make sure I retain it. The most popular decks on r/medicalschoolAnki have many thousands of premade cards; with additional cards for microbiology and pharmacology, people may have as many as 20K Anki cards by the time they take Step 1 (standardized national exam of basic medical knowledge) after 2 years of medical school.

With this approach, Anki is much more about retention than learning. Books and lectures are good for learning, but Anki is ideal for ensuring I can remember side effects of a particular heart medication months or years after cardiovascular lectures ended.

It’s certainly useful for passing tests too, but the main value is in retaining knowledge long after a particular test has been taken.

> Time spent flicking through flashcards for vocabulary ... seems like a poor substitute for time spent reading

I've been using Anki decks in tandem with native reading material to study Japanese. Whenever I encounter a word I don't know, I add it (along with a sample sentence demonstrating usage) to my Anki deck. Whenever I don't do this I get frustrated by having to look up the same words multiple times (often times a new word is used infrequently enough that I forget it even if I look it up every time I encounter it).

Also, when learning Japanese, there are a lot of things where memorization is very useful like learning to map between English words and kanji and learning the readings of place names and people's names.

I've been using Anki since 2013 (almost 5 years). One really nice thing about Anki is that it has analytics. I currently have 4532 cards and my numbers are 99.18% correct answers for "Learning" (very young) cards, 98.44% for Young cards and 92.52% for Mature cards. No way I would be able to remember over 4000 pieces of information without spaced repetition. I truly believe this is the best learning "hack" there is. I've wrote about my experience here: https://www.blinkingcaret.com/2016/05/04/hack-your-brain-lea...

I've been using Anki for some time and I love it but it's not a perfect tool. What I especially like is it's flexibility when it comes to designing flashcards. You can adjust colors, font-sizes and pretty much every visual aspect using css code. You can even embed your own font within a deck, which can come in handy when you are dealing with Japanese kanji (Printed and handwritten kanji sometimes differ and iPhone contains only "printed" versions of kanji fonts. I searched online for a "handwritten" font and embedded it into my decks).

There are cons too. The flexibility comes at the price - while reviewing the flashcards is smooth and easy, creating a deck can be very frustrating - the interface is not the most user-friendly. I ended up creating decks in Excel, exporting to csv and importing in Anki. That made the whole process much easier but I still had to jump through some hoops to achieve that.

Another problem (with the algorithm, not Anki itself) is that it's very easy to forget what you've just learned if you don't keep using the app. It's super easy to learn hundreds of vocabulary within a short period of time and pass the exam, but you need to keep reviewing the deck for at least a year, otherwise you'll forget it as quickly as you've learned it.

> Another problem (with the algorithm, not Anki itself)

My main gripe with the algorithm is you can't take weekends off. I used Anki a lot in College, and Mondays where terrible, due to the backlog built-up over the weekend.

One could also say, one shouldn't be drinking the weekend away ...

Actually, it's mentioned several times in the docs that you shouldn't think that backlog build-up means you have to crunch―or more specifically, IMO, 'backlog' isn't a thing here at all. If you can only put in thirty minutes a day, then do it and then close the app, this doesn't change because of a missed day. The cards will be there the next day, it's not like they catch fire when you skip a session. Stressing over the backlog would likely only make your mind work worse.

Instead, change the limit of cards to review to the number that you can get through in the time you have.

(Unless your college schedule requires you to actually crunch some number of cards every day? I don't know if that's a thing, but using spaced repetition in such a case would seem ill-fitting anyway.)

> Instead, change the limit of cards to review to the number that you can get through in the time you have.

I actually brought this up with the devs. The way Anki counts this limit is just how many draws from the stack. A better way (and much more intuitively aligned with the wording) to count this, would be to limit the size of the stack you draw from.

> Another problem (with the algorithm, not Anki itself) is that it's very easy to forget what you've just learned if you don't keep using the app. It's super easy to learn hundreds of vocabulary within a short period of time and pass the exam, but you need to keep reviewing the deck for at least a year, otherwise you'll forget it as quickly as you've learned it.

Wouldn't it be more accurate to say that this is a problem with human memory in general?

I really like the idea of spaced repetition learning, but it's the little details that are driving me crazy.

I cannot get Anki working on Raspberry Pi. (I have a Raspberry Pi connected to a TV in front of my rowing machine so I can study while I'm exercising.) I tried Mnemosyne but I can't get the sync server working, and I'm disappointed in the formatting options provided. I tried org-drill but adding images to cards is quite difficult.

Right now I'm working on writing some Javascript that can be plugged into web pages to provide the spaced repetition functionality. That way I would have the full capability of html5, css3, javascript, etc. Syncing would be handled by whatever file syncing software the user preferred. Creating/editing cards would be by whatever workflow the user wanted.

If anybody has any other solutions to the problems I'm having (running Anki on Raspberry Pi, Mnemosyne syncing/formatting, etc), I'm ready to listen.

Have you tried just going to the website https://ankiweb.net/decks/ and reviewing your cards there? It should work on any device with a browser including your RasberryPi.

I tried going to the Anki website and I discovered another thing that I don't like about Anki. I went to one of my old decks and tried one of the cards; the spacing options for this card were <10 minutes, 1, 2 and 6 YEARS. I'd really like more control over the spacing of the card presentations.

You can actually change that up all in the settings (even on a per deck basis). It takes a bit of tinkering because it's not clear from the beginning what each setting does. Typically if I get something wrong I reset it to 20% of its previous time (so if it was a month since I saw it last I'd see it in around 6 days).

I'd trust the system though. Typically once you get to the point where you won't see it for more than a year you're highly unlikely to forget the content anyway. Although it depends on what you're trying to learn. The default settings are optimised for learning Japanese.

That’s the point of using the algorithm. The recall intervals are based on Ebbinghaus’ forgetting curve. If you want to see the card sooner than one year choose <10 minutes even if you remember it perfectly.

This is why you should turn off showing time until you next see a card in preferences. Trust the algorithm.

You could set the maximum time in the deck options: e.g. set it to 1 month, and all cards will have that as the next interval if you answer them right. After you work through the cards, you can increase this maximum. There's a chance, however, that after all this time you'll have many of cards reset back to beginning.

Or, you can fire up the desktop card browser and reschedule all the cards in those decks—choose "return to the learning queue" so they pop up like new, or set some interval like, again, a month. Then you can do a “custom study” to work through the cards right away. (I haven't tried this method, though, so not sure it will work.)

If you have access to a smartphone or tablet, there are some great apps for this available...

"running Anki on Raspberry Pi"

It's a bit hard to help without knowing:

- what OS you're using

- what exactly you mean by "I cannot get Anki working", i.e. the standard stuff in a bug report: what did you do, what did you expect to happen, and what actually happened

- what peripherals you're trying to use (e.g. some people using treadmills control their PI using an Xbox controller; perhaps your problem is related to getting that working?

I'm running a Raspberry Pi 3B+ with the latest Raspbian image (Stretch dated 2018-06-27). I used apt to install Anki version 2.0.32. Starting Anki from the command line results in "Import error: no module named QtWebKit".

Apparently, QtWebKit has been unmaintained for quite some time, and has been removed from the latest version of PyQt. When I get the time I'm going to load Jessie onto a spare micro-sd card and see if that solves the problem. If that doesn't work I may fall back to Plan A and roll my own SRS application.

Edited to add: The Raspberry Pi is not attached to the rowing machine or anything else besides keyboard, mouse, and TV. I'm using it to read ebooks, study, surf HN, etc, while I'm exercising.

Anki 2.1 was released 3 weeks ago, and is the current stable release. It depends on newer versions of QT. It might work better than the one from apt.

If you really want to install the one from apt, e.g. because your favourite plugins haven't been updated to work with 2.1, then perhaps this approach will be easier than re-installing the OS:


Thank you rahimnathwani. The procedure took a while to complete, and I'm getting some warnings, but the procedure from https://github.com/gnprice/anki-jessie worked. This should hold me until Anki version 2.1 becomes available for Raspbian stretch.

There's a third-party web client mentioned elsewhere in this thread: https://ankimono.com/

I haven't tried it so not sure if it syncs with AnkiWeb and really works as a full-fledged client, but it sounds like a fitting solution for your stack.


By the way, there are bluetooth remotes/joypads for one hand, e.g. Zeemote or mini gaming pads [0] — they may be more comfortable to use with Anki and the TV while exercising, compared to the keyboard and mouse. Afaik people are using them with Anki in text-to-speech mode on phones. And media server apps like Kodi have “big picture” interfaces suited for such remotes.

[0] https://i.imgur.com/EM8HQr4.jpg

Pretty sure that ankimono site is a knock-off. It doesn't seem to be affiliated with Anki in any way, at least.

Ah, it appears that you're right. That makes it at least a second such app leaching off the Anki name.

I couldn't imagine learning a language without Anki. I had to learn Coptic in a month, which required memorizing the most common ~1000 words in the language. Anki made this as easy as it can be. I don't think I would have been able to meet my deadline had I been making paper flashcards or using some more informal system.

The nice thing about Anki is that you can use it at any time without any overhead associated with beginning or ending your session. There are so many scraps of time in my day (on the bus, waiting for someone to meet me, waiting for my food to heat up in the microwave, walking to the store, etc.) that are mostly only useful for being a zombie on my phone, enjoying my surroundings, or being alone with my thoughts, which are all also sometimes appropriate uses of the time, but in all of these times, I can also just pull out my phone and start reviewing my cards, even if I get in just a few.

What was your list of the most common ~1k words? Do you have a link?

This is an Anki deck that was made from the book I used: https://ankiweb.net/shared/info/1657789477

I made my own Anki deck because this deck didn't have tags by chapter, and I wanted to study only the words I'd been exposed to so far.

Thanks for that - do you know if there is a way to export the list of words without going through the full process of installing Anki? I'm interested in different people's concept of "the thousand most useful words" and would love to extract the list you've used. It seems like it would be less overall work for you to do it than for me to do it, although I realise I'm asking you to do work.


Looks like the APKG format is a SQL dump[0], so perhaps, depending on how determined you are. My cards wouldn't be too useful as they are because many cards contain English prompts ("Which verb forms must have their direct objects incorporated into bound states?"), and the cards that do contain words have various inconsistencies depending on the part of speech, such as lemma-like forms that you would never see in an actual text as-is for prepositions, or multiple conjugation bases for verbs. So yeah, it'd be a hassle to put it into a normalized format. Sorry about that.

Not sure what the nature of your interest is, but I'm sure you must be familiar with what a Swadesh list[1] is? It's only a couple hundred instead of a thousand, and the words (or rather, their meanings) are chosen in advance, but it's a close concept.

[0]: http://decks.wikia.com/wiki/Anki_APKG_format_documentation

[1]: https://en.wikipedia.org/wiki/Swadesh_list

>I had to learn Coptic in a month

What kind of job do you do?

I'm a PhD student in computational linguistics. My advisor is the principal for a repository of digitized Coptic texts[1], and while I wasn't required to learn the language as a part of my role as a research assistant on this project, I wanted to because it'd make my contributions better. (And I had a couple of months of free time in the summer after I quit my job and before I started school.)

[1]: http://copticscriptorium.org/

That's really cool. Was expecting more of a intel / research role answer, but that makes a lot of sense

I use supermemo, and the vast majority of my collection isn't language related. For languages, something like clozemaster, supermemo.com, or premade anki decks/courses are fine.

I still find it odd that the only two groups of people who seem to use the software a lot are med students and language learning enthusiasts.

Supermemo is really buggy, and the website is extremely disorganized, but has a lot of useful information on it. The main reason I use it is its incremental reading function. Essentially, you can import articles, and turn them into flashcards in one swoop, while still having access to the full text via built in search (if you choose).

For example, I just finished importing most of the CSS reference [1]. And it only took me ~10 minutes to open the tabs and import them into Supermemo. Each page will get whittled down into flashcards over the next few weeks.

As others have stated, my srs usage is actually quite a small portion of my day, and extremely high leverage.

The hardest skill to learn is learning how to make flashcards properly [2]. I almost exclusively rely on cloze deletions now.

I do my repetitions in the morning when my memory is still fresh.

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

[2] https://www.supermemo.com/en/articles/20rules

There's a plugin for Anki for incremental reading: https://github.com/luoliyan/incremental-reading

(Though I'm not sure how the internal database structure works with that, I think you can't save the whole text along with a deck instead of individual notes―but maybe addons can change that.)

I tried it awhile ago, and it didn't work well, but I'll try it again. Incremental reading is kind of finicky to get right. Incremental reading is the real draw of these programs for me, and Supermemo (despite it's flaws) is kind of the only one that has a decent implementation of it.

That's my story as well. I tried the Anki plugin and didn't find it as per my taste.

Now incremental reading for me is a multi-monitor and multipass approach. One monitor has Anki, the other has the thing I'm reading. I keep on reading and keep noting down questions.

I've also come to realise that the context is totally different when I frame a question during reading, and when I revisit the same question later. A lot of times I have to clean-up the question: perhaps add a little more context, change wording etc. so it becomes a bit easier to answer.

Ah, then the plugin likely won't work for you, as Alki is already not a paragon of usability for editing, and since the plugin is bolted on the existing app, it probably results in an inferior experience for such an interface-sensitive task, compared to a specialized app.

I just thought that it might be of interest for people already using Anki and curious about incremental reading.

I tried it and it did not work well as well - I have been thinking about building a piece of software to solve this issue because I find incremental reading so useful (potentially)

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.

Is there a popular repository of shared Anki decks other than https://ankiweb.net/shared/decks/?

Not that I know of, but I recommend making your own decks. Two reasons: you only add what you're interested in learning as you're reviewing material and figuring out how to make the cards for your material helps learning.

I recently started a new job, and wrote a quick script that scrapes a slack team for all the names and profile photos and creates an Anki deck out of it. I'm usually terrible with names and faces so this helped me immensely.

Do you mind sharing the script? Because the company I work for has grown at an insane rate - and there are a good 300+ coworkers I don't know. It'd be nice to know peoples' faces for when I see them walking around the building.

Thank you very much!

Sure, I'll paste a link to a gist or something later

Hah! I used the Meetup.com API for the same reason. Super annoying that lots of people use avatars though right ;)

I also do this for friends and the ever growing list of baby names that I can't keep track of.

Some people's Slack avatars are dogs, pictures of two or more people, etc, so I'm overtraining a lot but overall it's positive.

Seconded. I'm pretty sure that every minute spent making your own cards saves at least 2 minutes spent reviewing them.

I've had huge success using Anki in taking required professional exams. I'm in finance, so at various times I've had to take the JSDA, the Series 56, and Series 65.

I originally signed up for a Kaplan class for the 65, thinking it was going to be a cram class. In reality, it turned out to be a review class. Halfway through the first day on Monday, I told the teacher I hadn't started reviewing the material yet for the test on Friday. He said I was essentially a lost cause, and I should sign up to take the test again in a month.

I immediately left the classroom and spent the rest of the day entering every question from the practice exams into Anki. I spent 8-10 hours the next 3 days doing nothing but running Anki questions. On Friday, I crushed the exam.

Other useful things I've learned with Anki include the Number Major System and the answers to a bunch of those useless "brainteaser" interview questions.

For anyone who wants to use spaced repetition for learning languages, I recommend Clozemaster[1]. It uses the cloze deletion technique and has thousands of sentences for most languages. Using it has significantly improved my German.

[1] https://www.clozemaster.com/

[2] https://en.wikipedia.org/wiki/Cloze_test

Interesting, I just tried it for Japanese. But too often I could fill in a word without understanding it (there's often only one grammatical form that fits). Also each sentence is accompanied by English translation which feels a little bit like cheating ;) Does the method still works even with the translation available?

It works, but you can actually disable the translation in the settings, or make it show after you've answered.

Anki is great, but it's easy to use wrong. It can't be overstated how important it to design your flashcards well. Do it wrong and you'll quickly be frustrated and overwhelmed by the work you have to put towards memorizing the info.

The best guidelines I've found on writing flashcards are Supermemo's 20 rules: https://www.supermemo.com/en/articles/20rules. Honestly, this is a seminal work that anyone jumping into SRS or flashcards in general should read.

I also found this recent discussion about spaced repetition on HN to be very helpful: https://news.ycombinator.com/item?id=17706776

As far as Anki itself is concerned: Make sure to check out some of the add-ons that are out there – they can really improve your workflow and motivate you to keep on going: https://ankiweb.net/shared/addons/

Anki has become the de-facto standard for memorizing the large swaths of information required during medical school. Not everyone uses it, but pretty much everyone that does and sticks to it sees impressive results.

> Not everyone uses it, but pretty much everyone that does and sticks to it sees impressive results.

This is another way of say "everyone that it works for gets good results"

It's interesting to note in studies comparing spaced repetition vs. massed learning, when students are asked afterward which method works better, they more often choose massed even though their own test results favor spaced repetition[0]. The upshot is people can use spaced repetition, it can "work" (in the sense that they remember the material better and test better) yet still drop it thinking massed practice to be superior.


Yeah that's a fair assessment, and I agree that it's not for everyone. But I do feel strongly that everyone should at least give it a shot.

I found Anki the only software that can easily make flash cards using LaTeX. I typically have a lot of equations and I prefer to write my cards using the outlines package in LaTeX. It makes it very easy to write bulleted lists. https://www.ctan.org/tex-archive/macros/latex/contrib/outlin...

In the latest version of Anki, the LaTeX is rendered using SVG and looks great on Retina and HiDPI screens without having large file sizes.

I know others who maintain their cards/latex in a text file and import the changes rather than working in the Anki software for creating and maintaining cards.

About a week ago I developed a browser plugin for chrome and firefox which replaces the new tab page with anki flashcards to review. The idea is that with it, each time I open a new tab I will review a few cards, thus making it more lightweight than an hour-long anki session. If anyone is interested the code (licensed under The Unlicense) and links to the web stores can be found at https://github.com/corollari/ankiTab Note: In order for it to work you need to be logged in ankiweb.net

wow this is a great tool, I have been searching for something like this.

If only there was a way to quickly add cards that would be nice.

I use Anki everyday for medical school and for personal learning-- geography, notes from books I've read, research ideas I've thought up I want to review later, etc.

If you put in the time (I do at least 45 minutes of Anki a day, which turns out to be roughly 300 cards, 50+ of which are new) and you're consistent, the volume of information you can retain is truly staggering.

I have a retention rate of 90.1% and I've learned 15000 cards over the last 16 months.

About 2000 of those cards are my own-- the rest are fromv arious premade medical decks. Using premade decks is perfectly fine, but you do need to make you get a first pass of the material through some other method first-- Anki is not ideal for learning material, just retaining it.

Mnemonics can be successfully integrated into Anki cards-- but I think they're best for information that's easily confused with other bits or for really tedious stuff. Example: remembering which random medical drug is best for which genetic mutation, or which chromosome is mutated in which disease. Stuff like that is just pure tedium-- so translate it into images with the Major Mnemonic System or into memorable images like Sketchy Microbiology does.

It seems there's a lot of evidence spaced repetition is an effective learning aid. Two things come to mind:

First, some times I see ppl calling spaced repetition a "trick" or "hack" (I read "shortcut"), but the truth is, using SRS actually entails a lot of work! [0] It seems a pretty important part of the process is to formulate your own cards, which also puts more emphasis in understanding first and memorizing later [1]. SRS is a hack to memorize as much as going to the gym is a hack to gain muscles...

Second some ppl object that "memorizing is not understanding", but I think better recall aids in faster learning, so one feeds the other. [1], again, talks about this: one should only strive to remember what one has already understood. OTOH, a lot of types of knowledge requires mostly memorization. For instance: irregular verb conjugations.

0: I tried SRS and failed to keep up a bunch of times... and I want to give it a sec^H^Hthird chance at some point!

1: https://www.supermemo.com/en/articles/20rules

I see SRS as simply automation of the natural need of the memory: facts have to be repeated to be remembered. It's not like one can just dismiss that neuronal connections get stronger on repetition.

Then, a computerized approach allows for fine control of many variables in the scheduling of individual cards.

Some people use mnemonics to boost memorization, essentially supplying context and associations where there's none—hijacking another natural tendency of memory. But you can't invent many mnemonics e.g. for geographic facts, and rote memorization is the primary approach there. (And IMO mnemonics are fragile and unreliable due to their nature of being invented out of thin air.)

It works well. I recommend not making too many flashcards at once, and using the mobile Anki apps to get repetitions in throughout the day.

Derek Sivers (CD Baby guy) had written an article about how to memorize a programming language using SRS and Anki:


I started using Anki a few weeks ago when the SuperMemo article popped up on HN. I really like it, and it has helped me remember key terms and learn a new language, all in a really short time...

Feel free to ask me questions if you're confused about how it works! I'm fairly experienced now.

I want to learn Spanish. I have a basic vocabulary and understanding. What’s the fastest way forward in your opinion?

"Fluent Forever" has a suggestion of putting a picture (from, say, google image search) on the front of the card, and the foreign word as the answer. That way you test yourself by producing the correct word without translating it from language 1 to language 2.

Example for Spanish:

Front: picture of a "gatito" from google image search. Back: gatito

The word "kitten" is not used at all. No translations!

The reason you search images in the foreign language is that sometimes the foreign word has a different connotation, and isn't a direct translation. (The example he used was for "girl" in Russian. девушка supposedly means "girl" and yet when you search it, it's (mostly) seemingly a certain type, not "girl" in general.)

That only works for simple words. For example when I google for "Zufriedenheit" (satisfaction), I get a picture of a red boat.

What you say makes sense.

In that particular case however, there might be a simple mistake: девушка doesn't mean "girl" in russian - it means "young woman". A "girl" would be девочка.

On AnkiWeb there are a ton of decks available made by other people, including some really high-quality ones for Spanish. I'd recommend you download one of those, and then if there are words/content you're already familiar with, I believe you can go and set that you've already "learned" those words.

Other than Anki, clozemaster and supermemo.com are two good paid options. I'm currently paying for supermemo.com*, and the two decks I'm using for Spanish seem to be pretty good.

Clozemaster uses word frequency lists and sentences. Honestly it's (clozemaster) one of the best free SRS products I've seen for multiple languages.

I'd avoid memrise (too many horrible quality decks). Duolingo isn't bad but certainly isn't comprehensive by any means.

The reason I'm paying for supermemo.com is because it has a good quality Chinese deck and those are hard to come by. I also want to use the updated SRS algos that it uses. SM-2 is really old and does not handle skipped days well at all. The newer versions of the sm algo are much better in that respect.

Note that flash cards have only limited usefulness with learning languages: you can use them to remember grammatical rules at first, then do isolated word-choice tasks and expand the vocabulary. You'll still want to do massive amounts of reading in the target language to absorb the proper word usage, and the grammatical practices will stick better this way.

I recommend https://supercocoapp.com - it’s my app, so I’m biased, but it has great content and one of the few apps that really focuses on listening and speaking.

Spaced learning really works. I've started to slowly convert python, sql, and postgres docs to flash cards in Anki.

Anki's implementation has some rough edges, but for $0/mon for multi-device use, it's an amazing way to get your feet wet with this learning technique.

The iphone app costs like $25 tho.

And I bought it even though I use AnkiDroid on my Samsung Note 3.

Why? Because it is the only way to support Anki's sole developer. He cannot take donations due to Japanese laws. AnkiDroid also does not take donations, though I do intend to start contributing code to that project.

If you really enjoy Anki, consider buying the iPhone app even if you don't have an iPhone.

I was taking a Japanese course couple of years ago. The course was difficult and if you did not pass mid-term and end-of-term exams you had to repeat the term which costed a lot of money. Fearing that I could fail I decided to invest in Anki. Needless to say it was the best spent $25 ever.

$25 is surely expensive for a simple app, especially if you are a student without a steady income. But if anyone wonders whether Anki is worth this much money - try thinking of the potential benefits.

If the Anki iPhone app were the only way there was to do spaced repetition, I wouldn't hesitate to pay $25,000 for it. $25 is a pittance for the work Damien Elmes puts in, not to mention his efforts in maintaining the sync server so you can easily stop and resume your sessions on any device.

While it won't work offline, you can use the web version on iPhone (https://ankiweb.net/about).

There’s now a free app that seems to do the same thing.

If you mean the one on iOS, that's a proprietary knock-off that's pretty terrible: https://anki.tenderapp.com/kb/anki-ecosystem/ankiapp-is-not-...

Afaik this one cannot connect to Ankiweb, therefore you can't sync your status with other devices.

It does seem to offer sync, too. Not sure how well the sync works, but the app says it will sync.

This looks like a derivative/expansion of the Leitner Method[0] which I first came across over on Reddit in /r/flying for flashcard-based studying. I have definitely always had more success with paper-based studying than studying electronically--I recommend that you take a look at that document if you fall into this category as well!

[0] https://drive.google.com/file/d/0BzlHy07nfEjOQ2hXWjU3LWpDdmc...

I'd say one of the main benefits with Anki or SuperMemo is that the automation of the algorithm allows for many more variables than you could track manually. For each card, the history of its reviews can be remembered and taken into account―e.g. both Anki and SM have several possible answers for how well you remember the card instead of just "yes/no," varying the next interval relative to the previous one. You can tune parameters for each set of cards, allocating more or less attention to them depending on how easily you remember different kinds of information. This control, IMO, optimizes the schedule over the course of months. (Though it does make tweaking the params rather complicated sometimes.)

I also just use a leitner box. Or rather a pair of business card file boxes.

Wikipedia actually has a great explanation, the labels are pretty ingenious.


I've used anki for learning German a few years ago and it really worked for me - I was able to learn a few (<500) hundred new words in about 2 months. Not bad at all for a person with no language talent. Although, I've stopped learning the language 3 years ago, I still understand German texts, thanks to anki.

When using anki, a browser extension, enabling creation of flashcards, from the content found on the Internet, is handy. I find a website fluentcards.com and its browser extension, quite OK. Unluckily, it seems not to be maintained and there is no official add-on for Firefox, but you can build it from the github repo [1] and it will work on FF, too. The webpage also allows export of the words saved on Kindle to the anki.

There are also a few extensions for learning Japanese specifically. [2] seems to be the most popular.

[1] https://github.com/katspaugh/fluentcards-extension

[2] https://foosoft.net/projects/yomichan/

I started Anki about two weeks ago and I've already reviewed over 1,200 cards. It's a fun way to start the day and is surprisingly therapeutic. It really makes remembering a choice.

Related and useful website I've found - https://codecode.ninja/, spaced learning for devs

Not to be an ass, but is there some new feature of Anki I'm missing? Or is this kind of like posting "Google: A Search Engine Worth Checking Out"?

I would absolutely read "Google: A Search Engine Worth Checking Out". For the past few years, one can be longer do verbatim searches with operators, and every short search is filled with movie and pop music results even though I consume neither.

If there is anything worth checking it about Google's search engine today, I would want to know.

Rant off: I'm sure that those in the HN crowd who don't yet know what Anki is, would like to. It is the whole secret to my career success.

I got through all my medical anaesthesiology board exams with anki,although i do prefer flashcards where the order is the same rather than anki style algo.

I'm a big fan of spaced repetition, made a lightweight browser extension to carry around with me when I'm surfing the web https://chrome.google.com/webstore/detail/harvest-take-notes...

If anyone is familiar with memrise, is it simmilar?

It does, but many of the decks on memrise are horribly made, so I stopped using it. Clozemaster is much better in my opinion.

It uses a similar algorithm, yes.

I’m using anki to gradually learn japanese kanji using the RTK method. Working really well so far, up to about 800 with little struggle.

Take my advice, as a somewhat advanced learner: don’t do this. RTK is this weird honeypot for beginning learners, but it’s nearly always a mistake. The “discouraged RTK user” is almost a comic meme in Japanese language study.

You will spend months “learning kanji”, only to discover that knowing kanji meanings, in isolation, is unhelpful in most situations. You can get all of the same benefits, with more immediate utility, by just learning words.

Thanks. So, I'm actually doing it as a side thing while learning German. I have found I can't do two languages at once, but that learning the characters doesn't interfere.

I should finish them by April or so, and be advanced enough in German at that point that I can switch to Japanese. At which point I'll do Pimsleur and Assimil.

I think having the character base will accelerate that process. I previously tried Pimsleur Japanese, but found it didn't go smoothly compared to European languages I've done. The lack of characters was a big hurdle.

Thanks though. Is discouraged RTK learner someone who completed RTK, or someone who fails to

Someone who fails. The usual pattern is: new learner goes all-in on RtK, makes it a month or two, then gives up after realizing that they’re making no discernible progress, even though they “know” lots of kanji.

There are useful parts of RtK, but they’re the parts Heisig didn’t invent: radicals and mnemonics. You can (and should) employ both, but in the context of words. As you learn words, the “meanings” of kanji will naturally settle in your brain.

RtK people love to argue that it helps them infer the meanings of words and discriminate similar kanji. But in practice, it’s insanely difficult to do the former (except for simple words), and the latter is rarely necessary. It’s far more common to encounter 2-3 kanji compounds with unique meanings that recombine into words, than it is to find words that compose meanings from their individual kanji.

Yeah, I could see that happening. I'm not expecting it to be a panacea, just a mild accelerant I can actually do while waiting to finish with German.

What do you think of that plan? My assumption is that I'll better be able to learn the words in the Pimsleur course the second time around when I can see the writing, and that this will make the overall process easier. It felt like too much, cognitively, the last time.

And at my current pace, the Kanji are about 30 min per day, so it mostly feels fun. If I were doing more I don't think it would be worthwhile, it would be stressful.

To be honest, I think you’d be better off just studying words. Studying kanji really doesn’t help you.

Right, but zero? I can’t study Japanese words at the moment without interfering with German.

If you're doing it mostly for fun with a side benefit of recognizing a few characters here and there, go for it. Just know you're choosing to learn in a way that's not really recommended for most.

If your learning goals are mostly focused around reading, it's helpful a bit.

If you want to actually understand and use the language, hiragana, katakana, vocab and grammar have much higher utility.

This is correct.

My most complete advice would be to focus exclusively on the language you’re learning and don’t futz around with half-measures, but who am I to tell you what to study? If you’ve gotta satisfy the itch, then sure, you might learn something.

While searching the AUR for Anki I just found this extension for Firefox which has some Anki integration. Looks promising for people who want to learn Japanese:


Looks super useful, thanks! May try it for German.

The system I'm doing isn't s reading one though. Instead, you associate each of the 2200 Kanji with an English keyword. You break down the kanji into component primitives, and then you remember how to draw each one by visualizing a phrase associated with that keyword.

For example, Seedling:

The top part is flower: 艹

The bottom part is rixe field: 田

You can make a story like: if you plant seedlings in a field, they will flower. And you imagine it visually. (Note, I have terrible visualization, but can do it well enough for it to work)

This is a really simple example, but you can get more complex stuff. The system generally sticks to Japanese etymology, but sometimes will make up new primitives where it's more convenient for learning.

have you tried readlang? I'm really happy with it, but I'm studying German. Not sure if it works with asian languages.

The website doesn't emphasize it, but readlang has a spaced repetition vocab tool. With multiple (at least for romance languages) built in dictionaries.

Readlang sounds quite promising, I will try it for my Spanish! Thanks for sharing :)

It has been a while since I used Anki and I vaguely recall I have a horrible experience with creating cards.

I really wish there is a way I can create cards in vim or something, but that sounds really limited when it comes to things like Chinese where you need to somehow write out the character or find an image of it on the Internet.

Honest question, what is so hard about writing Chinese to create carss? I find at least typing in pinyin on windows and android isn't so bad, or did you mean specifically in the context of vim?

specifically with vim.

I always kinda wondered how to make Anki stuff for like algorithms and the like.

For Anki, I'd grab the complete article from Wikipedia/textbook/[good source], and then write a few examples. The flashcards would be a number of cloze deletions, and then I'd have a separate deck with a practice question to recall from a blank state. For example [1], I'd take this Wikipedia article, and break it down like so:

In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations: pop and push.

This sentence would become a number of flashcards that look like ([...] is a cloze deletion where you have to insert the missing word, each cloze is a flashcard):

In computer science, a [...] is an abstract data type that serves as a collection of elements, with two principal operations: pop and push.

In computer science, a stack is an abstract data type that serves as a [...] of elements, with two principal operations: pop and push.

In computer science, a stack is an abstract data type that serves as a collection of [...], with two principal operations: pop and push.

In computer science, a stack is an abstract data type that serves as a collection of elements, with [...] principal operations: pop and push.

In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations: [...] and push.

In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations: pop and [...].

You'd do that for most of the article. Find a few examples of a stack, do the same thing from cloze deletions, and then in a separate card, make a few questions to have you write from scratch, parts of a stack.

The separate deck would be so your regular reviews don't take forever, when you get a question asking you to write out a stack. The other deck would be done say 3-4 days a week, and have many fewer cards, because they're going to take awhile to answer. You could even use the index card method for this part as it's closer to actual practice than recall.

In another deck, I'd also have short answer questions. For example, what's the difference between a stack and a queue, or stack and array, etc. This would also be more for practice sessions, rather than daily repetitions, as the questions could take awhile to answer.

Note that you'll have a ton of flashcards this way for each algo, but they'll be extremely easy to answer (a good thing). Five flashcards you can answer in 2-10 seconds each, is much better than one flashcard that takes you a minute to answer.

Assuming five seconds to answer a flashcard, you could easily do 120 repetitions through the day. The nice thing about Anki is the mobile clients, so you can do a few cards while you have some downtime. When I was in school, I was usually doing flashcards while I was waiting for class to start or going to the bathroom etc.

That seems like a waste of flashcards to me, but if it works for you, it works. I would just create one flashcard for front and back. What is a stack in CS? A stack is an abstract data type that's a collection of elements, with two principal operations: pop and push. If an answer's longer than 1-2 sentences then it's time to break it apart into different questions.

I find it somewhat excessive (and I still make poor cards even my by own guidelines all the time), but I try optimize to make my flashcards as easy as possible to answer according to [1].

Especially in the long run once you get thousands of flashcards, and have a few breaks because of life. A general rule of thumb I go by is that my answer should be shorter than the question.

Even in your answer there's three or four separate parts to it. You have:

1. An abstract data type 2. collection of elements 3. Two principal operations 3a. Pop and push

[1] https://www.supermemo.com/en/articles/20rules

Fair enough. I guess I'm pointing out with cloze questions that don't hide all the selected text, you're perhaps making it too easy. I prefer hiding all, showing one. On a test, you might be able to get similar hints but if the understanding isn't there you might be thrown off by different wording. If I'm creating the knowledge for work, I'd rather simplify as much as possible, break up into different parts where necessary, and learn the answer exactly. Relying on additional context is not something I'd do. For those reasons, I'd prefer regular flashcards when possible. The other benefit of a single flashcard is it's easier for organization purposes.

I really like the https://ankimono.com webapp, although creating your own clone is a great way to learn a new framework or language.

That's a clozed-source knockoff of Anki. With SRS it's important that you choose a solution that will still be working in 5, 10, or even 20 years. Anki being open-source and sporting an open format fits that bill. Also, it has a proper desktop app, so you never need to worry about losing access to your data ahead of an important exam, etc.

Does anyone here have suggestions or similar experience with strategies to maintain physical practices like sports, martial arts or playing musical instruments?

Always wanted to try this, never was sure how to use it for algorithms and the like though.

While I do like the project, the webui is horrible :/.

It's a lot better for the desktop app and the add-ons make it more powerful.

$39AUD for the mobile app with no free / demo version is more than a little steep IMO.

The desktop version is free and open source. You'll want to start with the desktop version anyway, because it's easier to make your cards on a computer than a phone.

After a while you'll know if it's for you or not. Then you can buy the iOS version.

The Android version is made by a different set of people, and it's completely free as well. It's called AnkiDroid.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact