Use of Anki for Programming

Posted on May 1, 2022 by Richard Goulter
Tags:

Anki is software which helps you to review flash cards. What’s notable about it is it uses the idea of Spaced Repitition; by getting you to recall something at approximately the time you would otherwise have forgotten it, you’re better able to recall some fact at increasingly long intervals.

This is useful for foreign language learning (or health science) where you’ll want to recall terms, sometimes with low frequency.

One serious article I’ve seen about using Anki for non-language stuff was this: http://augmentingcognition.com/ltm.html

One quick take-away I recall is just the emphasis that Anki isn’t a completely magical to help you remember everything.

For things you use frequently anyway, Anki won’t be of much help. And for things you wish to recall in infrequent contexts, Anki is going to require much more effort than it’s worth. (As in, it’s harder to remember because you won’t have motivation to use it).

For programming, I’ve only used Anki slightly.

To give a somewhat specific example of how I’ve used it: e.g. I noticed I wanted to be able to recall the different ServiceTypes of a Kubernetes Service. e.g. per https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
I think once you understand the concept, recalling the facts of it is easier.
Short of that, the easiest flashcard to make is with a brute-force approach which enumerates the types. (Which is not terrible in this case, since there are four types).
I’d say it would be better to then later create more flash cards about the topic. e.g. in this case, flashcards about what the default service type is, and flashcards in the form “service type which exposes service on a port on each node” or “service type which uses cloud provider’s load balancer”, etc.

Another example I have been trying recently has been keybindings. e.g. I want to be able to use the fancy Helix editor, or to get more out of Doom Emacs.
Keybindings which work well in you workflow are easy to remember.
But.. I think it’s always easier to continue doing something in an known-and-adequate-but-bad way rather than a nice-but-unknown way.
I think writing up flashcards for anki helps to build the mental model for what the mnemonics for the keybindings are. And I think “I’d like to use this functionality, but can’t recall the keybinding” is close to that margin of “frequent enough to want to recall it, infrequent enough such that you’re not using it all the time”.

In the worst case, I think Anki flashcards are a useful intermediate artifact to aim for when studying.


Newer post Older post