Category Archives: Note Taking

Building a Serendipity Machine

In yesterday’s podcast, I talked about spaced-repetition and how I use Anki to help with my memory. Anki is a flash card system that uses algorithms to show you cards just as you might be forgetting them.

If you are just using this casually, like I am, you only need to “study” for a few minutes a day (and skipping days or even weeks will be fine—Anki will catch you up). If you are a student who is using Anki to cram for exams, you would probably do it differently.

I built up my deck over time. I make new cards while reading or watching videos. I made a bunch last week while watching WWDC.

In the podcast, I said to use a single deck with all of your cards mixed together. So, if in a few months, you read books in different subjects, you wouldn’t make separate decks for each book or subject. This makes it a lot easier to just make cards whenever you want without thinking about it too much. It also makes studying a kind of serendipity machine.

A couple of episodes ago, I had spoken about how to generate ideas by combining disparate knowledge. Going through an Anki session of uncategorized cards helps me do that regularly.

So, in my deck today, I was asked about:

  • The kinds of gates you find in QUIL quantum computing (I read Quantum Country this year which is a book with embedded spaced-repetition)
  • The goals of visual design
  • A specific Typescript operator
  • Covey’s 7 Habits
  • The parts of C4

As I think it over, there is perhaps something interesting about the communication principles in C4, the communication goals of visual design generally, and Covey’s 7 Habits—specifically “Seek First to Understand”, which is the core communication habit.

I should write a note about that.

Writing While Reading

In a Cortex podcast episode about their favorite apps, CGP Grey singled out Obsidian. The recommendation was so over the top that I had to try it immediately. Obsidian is a note taking app. I wrote a little about how I use it to make reading a game.

When I say note-taking, I mean original writing, not copied notes/quotes. To fully understand this, I highly recommend How to Take Smart Notes, which is the most important book I have read in years in terms of impact on my reading/thinking/writing.

The goal of notes, according to the book, is to be pieces that can be readily assembled into publishable work. Given that, a note must be original writing somewhat ready to be published. They aren’t long, though. Most of my notes are a paragraph or two. I frequently refactor long ones into smaller ones. They are supposed to be free-standing building blocks, linked together.

What do you write? You could digest and re-explain what you have read. This kind of note will prove to you that you understand what you are reading. It is also a useful building block later if you reference the book.

A better note is driven by your own questions. I have many questions that I think about.

  1. What does it mean for game-design to drive non-game app design (but, not gamification)?
  2. What is the sound equivalent of visualizations?
  3. What are programming books trying to do and is there a better medium to deliver that (is it games?, does it have sound?)
  4. What is the right format for a programming tutorial? Is it something more vague?

I read books with these questions in mind, and sometimes I have ideas about them. If this happens, I stop reading and immediately write a couple of paragraphs in Obsidian.

After developing a note, I link it to as many relevant other notes as I can. Sometimes it’s clear that there are holes that need further thinking. I make and link to place-holder notes and tag them as needing development.

This continues like an infinite game: generate questions -> read -> write -> generate more questions -> read -> write.

When I am not reading, I sometimes just engage with the notes. I pick a starting point, follow links, remind myself of my past ideas. This will also generate notes, refactorings, questions. Most often it shows me that I have a topic that is ready for publication, so I add it to my schedule.

When it comes time to write for publication, it is much more like assembly and editing than writing, which was the goal of these notes.

Playing Non-programming Books

Yesterday, I wrote about how to play a programming book by adding bosses to chapters so that you can’t move on until you beat the chapter.

I think it’s clear how you can do this with programming books. I published “bosses” for (as of now) the first ten chapters of The Swift Programming Language. I have more coming.

But, this basic concept can be applied to other books as well, and I am using two tools, Anki and Obsidian to do this for myself. Anki is where I put the facts of the books, Obsidian is where I manage my own thinking.


Anki is a flash card system that uses spaced-repetition algorithms to aid memorization. You make flash cards while you read to help remember the facts you want to keep top of mind, and then you just “study” them once a day. All the cards you ever make are in one pile, mixed together.

You tell Anki how confidently you remembered the answer, and it will show it to you less often the more confident you are. Over time, when you have made hundreds or thousands of cards, you will still only study 10-15 per day, but Anki will have chosen the ones you were most likely to forget.


Obsidian is just a personal system to manage your own writing. There are many apps in this category, but I use Obsidian because it creates simple markdown files in a folder on my computer, and has all of the features I need (tags, links, search). I like that it is an app on my laptop, not a website.

I am following the note taking system outlined in How to Take Smart Notes, by Sönke Ahrens. I recommend this book for the full details. The high-level summary is that you write notes while you read to develop your own thinking.

Your notes are not quotes from the book. A simple note might be your original restatement of the ideas of the book. My favorite kind of note is applying the ideas of the book to a problem I am working on. If you want to remember a quote from the book, put it in Anki or in a research note in Obsidian (a folder you create just to hold the source material notes). Most of your note taking should be original writing.

Once you have written a note, you link it to related notes, and over time you develop an interconnected web of short bits of writing. Each note is short and represents a single idea—it should be developed as finished, polished paragraphs.

When you want to publish something—a blog post, an article, a podcast script—you can draw on your notes with pre-made bits of writing that you can simply assemble, and then write the connective bits to develop it as an argument.

Playing the book

I have only been following this system for a few weeks, and I have written over 14k words in 81 individual notes. This post draws from some of my notes.

To get back to how to play books, I make writing notes and cards a gate to moving on in a book. If I literally have no original thoughts or nothing in the book is worth remembering, I give serious thought to whether I should continue reading it.