Taking notes

March 5, 2024

I was asked to give recommandation on taking notes and knowledge management tools by colleagues a couple time last year so I’m sharing it here too, might be useful for other people.

Types of note

Your mileage may vary here. Personnaly, I separate my notes in a few categories with a template for each. It clarify the intent of the note and allow me to get started rapidly.

  • TODO: self-explanatory. You have stuff you need to accomplish and you don’t want to worget.
  • “capture”: more “interesting” than TODO list, this is where you can write down ideas, observation etc. At first it might sound silly but then when you are able to link those notes to other notes, you might find out that patterns or new ideas emerge. It takes time to get values from these note, that is why consistency helps.
  • “review”/“learning”: you read a book, you watch a conference, you follow a course… and you might want to write down something you found interesting about it.
  • “troubleshooting”/“tutorial”: steps to accomplish a task. Usually when I’m debugging a thorny problem, I write down everything I do and the documentation I read because most of the time I need to go back to those notes later to understand better how to solve it efficiently.

You can also choose to not have any category/template and always start from scratch.

Tools

Features I care about

Most important features to me are:

  • not being vendor locked. I want to own my notes and my files: being able to export them, use source control on them, write tooling for it…
  • bidirectional links (“wikilinks”): being able to see/navigate from a file to where it is referenced is really useful. It allow to get tools to build a graph of note, links ideas together etc. It’s not needed however if you only write down TODO list.
  • being able to stay in the text editors I use regularly (Emacs and VSCode right now).

You probably care about another set of feature but this will put in perspective the tools listed below.

Tools I use

  • org-mode: Killer feature of Emacs. And you get bidirectional links if you use tags, org-super-links. But hard to get started if you don’t already use Emacs.
  • [Foam]: Plugin for VSCode. Has everything you need to get started if you are a regular VSCode user.

Other tools I’m aware of

  • Obsidian: has everything you need if you don’t want to stay in your text editor. And even then, it probably has plugins to help with that.
  • org-roam: org-mode on steroid.
  • Logseq: Looks promising if you don’t care for the Electron app…
  • Roam Research: one of the best tool, inspired a lot of the others in this list. But not free and vendor locked. I am also biased because the tech stack it uses (Clojure/ClojureScript and Datalog) is fascinating me.
  • DokuWiki: Never tried it myself but it’s one of the recommended tool in the Zettelkasten community.

Going further

You can get inspiration from a few sources for knowledge management or writing to help you think:

Most important tip

Just. Do. It.

It’s easy to spend too much time procrastinating by comparing the differents tools, how to improve your workflow, how to organize your notes, making template, making shortcut to create specific type of notes… But it does not matter. Just write down a few notes regularly. And then only when you have the habits of taking notes you can worry about the details slowly.

Good luck!

If you have questions, suggestions or want to discuss about this subject, I'd be more than happy if you reach me at conta-remove-ct@julienrouse.com. See also my open invite
Nifty tech tag lists from Wouter Beeftink