Reading, and not forgetting


I forget everything I read, as soon as I am done reading (a sentence). Over time, reading turned from leisure to labor. Pressure of having to remember things took the fun out of reading. Small attention span and easily getting distracted made it even worse.


Take notes to outsource remembering, and make reading more engaging.

Creating well-organized notes take the burden of remembering away. The act of taking notes keep my attention tethered.


Note taking process need to be designed to reduce the burden that note-taking itself can become. Key here is not taking notes, it is crafting a smooth note-taking workflow.


My reading workflow involves 3 major components

  1. Emacs
  2. Denote, an Emacs package for managing notes
  3. Spookfox: An Emacs package for controlling Firefox from Emacs


Emacs is the center stage on which everything else plays. I chose Emacs, because

  1. It is where I spend most time on my computer
  2. I am very comfortable hacking on it, so tuning things to make my workflow smoother is an already acquired habit.
  3. I already have a thriving documenting system/workflow in Emacs. I have to externalize a lot of my mind, for which I've been using Emacs for over a decade now.


Denote is my present choice of note-taking Emacs package. It provide structure to my notes, and thin tooling to navigate this structure. Notes are kept in <timestamp>-<slug>__<tags>.org format. This makes it easy to find a note by keywords and tags even from outside Emacs.


Spookfox is my answer to "but what about when you need to leave Emacs?".

I consume most of the educational content on the web, that usually means Firefox. I built myself a small system (Spookfox) to make Emacs speak with Firefox.

It is sort of a launch-pad for quickly creating Firefox addons which talk to Emacs. Most commonly I use it for accessing content I have in browser, e.g getting information about current browser tab, video being played etc.

The workflow

It boils down to a single key-combo: C-c n r open a "reading note" in my scratchpad. C-c n r opens the same note regardless of when I open it; i.e it don't re-create a new note every time. This is super useful when you are blessed with the combo of laziness and forgetfulness.

Scratchpad is a mechanism for quickly launching an Emacs window for capturing some information. This usually means bringing an Emacs window to focus with a keypress.

A reading note is a note which has

  1. reading tag
  2. A source property, which is 95% of the times the web URL (from Firefox)
  3. reading subdirectory in my notes

    It seems redundant given that there is already a reading tag, but I keep it not for categorizing the notes but to keep them out of my normal notes-search.

My "normal" notes are conceptual, they come from different sources and are essence of my understanding from different sources. My reading notes are these sources.

"Reading" notes free me up to not worry about the structure of the notes I am taking or its impact on other notes. After taking the "reading" notes, I review them and move appropriate parts (or summary/rephrase) them in my "normal" note(s), while linking back to the reading note.

This create a neat web of sources and concepts. I get to be free from the burden of keeping track of where the knowledge in my notes is coming from. When I need to track something back to its source, I get nice hand-drafted summary of the original source.

With Spookfox I extend this workflow to (Youtube) videos as well. In addition to automatically opening the note, I have Emacs configured to insert video timestamps with my notes. This essentially annotate Youtube videos, and have come super handy recently in my German language study.