How I get more benefit from technical reading with Anki

Anki is one of my favourite pieces of software ever, and it’s great to see that it seems to be getting more and more attention as a valuable tool.

I often do a kind of learning-and-note-taking exercise with Anki when reading technical content, which I’m writing up here.

It’s not complicated or dogmatic, and the current version boils down to three tactics:

Here’s how each of those works for me. I’m using the article “Some SQL Tricks of an Application DBA” as an example technical text that I recently went through with these note-taking approaches.

Cloze deletion for easy note-taking

One powerful aspect of how Anki works is that it lets you set up any number of different note types. One of the built-in types is for Cloze deletion, which is an old and powerful memory reviewing technique.

Cloze deletion simply means removing part of some material to make it into a mini-test with the chance to be wrong.

What makes Cloze deletion so useful as a note-making technique is how easy it is. Any text can easily be made into a note by applying Cloze deletion. This takes a couple of seconds but is highly effective. You just copy-and-paste some short text you’d like to use as a memory prompt, highlight a key part, and use the keyboard shortcut to Cloze that part out (Ctrl + Shift + C or Cmd + Shift + C).

For example, in the SQL article, I made some Cloze notes like these:

Note that the goal with these is to act as a prompt for existing knowledge. It’s supposed to keep you recalling what you learnt on a regular basis, so that your mind keeps working on the memory and keeping it “alive” for you.

In other words, you are not trying to write down textbook-like explanations. You are trying to create a memory trail of prompts that keeps your working knowledge fresh and available.

Spaced repetition is a way to remember, not a way to learn.

Have a dedicated Code note-type

As well as the versatile Cloze deletion note-type, I also have a Code note-type in Anki. This is just a basic prompt/response note, except that I’ve named the response side as “code” and applied a bit of CSS to it to put it in a monospace font.

When I see short but useful or exemplary bits of code in technical content, I just copy and paste them as one of these Code notes. Here are some examples that I took from the SQL article:

Prompt:

“Sort a table physically on disk according to a specific index.”

Code:

CLUSTER sale_fact USING sale_fact_sold_at_ix;

Prompt:

“See correlation of columns in a table.”

Code:

SELECT tablename, attname, correlation
FROM pg_stats
WHERE tablename = 'foobar_table';

Note that they are short and readable in a couple of seconds, which is important to make an effective card. Sometimes I edit the sample to make it a bit clearer, and sometimes I just leave it.

Again, the goal here is not to perfectly memorise the response down to the character. It’s to build a stronger memory along the lines of “there’s a way to check column correlation in PostgreSQL and it looks something like this”.

Use screenshots to turn anything into a prompt card

The third tactic is to make liberal use of screenshots to make general memory prompts. This is similar to the Cloze deletion in that you can use it to turn pretty much anything you have on screen into a long-term memory prompt.

There is an Anki plugin that lets you do actual Cloze deletion on images, but I tend not to bother with that.

Instead I just grab screenshots of various things and chuck in a simple prompt/response note, with “What does this represent?” above the image as the prompt.

It doesn’t matter if it’s very obvious from the image what it represents. For example, I might put in a captioned diagram including the caption. The point is to keep this diagram fresh in mind so that you can build on the knowledge it represents.

There’s a big difference between looking at a diagram in an article or textbook once, and seeing it over and over again in your spaced repetition system. Pausing briefly each time to think about what the image represents makes it a more active and useful memory for you long-term.

Wrap

Those are three ways I quickly make notes when reading some technical content that seems useful to try and retain long-term. My Anki deck ends up as a low-effort way to continuously review things I learned, often from several years ago.

Finally, just as you can quickly create notes in this way, be willing to delete them just as quickly. If a note turns out to be bothersome or unhelpful, delete it. Both the deck and the knowledge-building are ongoing processes, and they should be as frictionless as possible.