It is a profoundly erroneous truism, repeated by all copy-books and by eminent people when they are making speeches, that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them. Operations of thought are like cavalry charges in a battle — they are strictly limited in number, they require fresh horses, and must only be made at decisive moments.
Alfred North Whitehead
I’m a firm believer in outsourcing as much cognitive work as I can. Combined with a tendency to optimize my work processes instead of actually working has led me to build up a stack of useful technological tools over the years. Tools are no substitute for being productive: if one isn’t productive with pen and paper, then these likely won’t change that. Likewise, using tools comes with the danger of distraction and being pressed into certain ways of thinking. That being said, the tools below do work for me.
Reading & Annotating Papers
I use MarginNote (iOS, macOS, 24$ for students) to read and annotate papers and digital books both on a laptop and a tablet. The highlights and notes I take are arranged in a (hierarchical) mind-map. They’re also viewable in a hierarchical outline.
I maintain a few mind-maps which each contain many papers centered around a topic or project. Being able to see the notes next to each other on a large canvas becomes useful in the later stages of reading when one focusses more on the entire debate as opposed to the text at hand.
I’ve found that using any system (even pens) to mark up while reading brings with the danger of the reading becoming mechanic, not aimed at understanding, but building up annotations and markups. To avoid this, I read without marking anything, a chapter or section. Once I am finished, I go back and, with the benefit of hindsight, mark up the section or chapter. When I have the luxury of a desk, I often try to split the task of reading and annotation between devices: I read and mark out sections on a tablet, and then move into the mind-map and annotate the sections.
In doing so, I try to extract the argument and interesting thoughts so that I can come back in a year (once I have invariably forgotten everything about the paper) and just have to briefly look at the mind-map.
I use color to code for different kinds of items on the mind-map: blue for signposting (what is happening here?), green for definitions and concepts that are introduced, yellow and orange for important points, red for counterarguments, purple for things I find interesting but not immediately important, dark blue for quotes that I’ll need later and gray for everything else.
Everything is searchable across papers and even mind-maps.
MarginNote has an abundance of features (flashcards! integrated research browser!) and a steep learning curve, document management is a bit of a pain and it could be faster. But my biggest gripe is the lack of spatiality: the nodes of the mind-map are only anchored in the hierarchy, but not spatially. Inserting new ones sometimes leads to the other ones jumping around. Putting a node in a certain place and finding that it has moved somewhere else when the map has reshuffled is a bit jarring. For an alternative that nails this notions of spatiality and heavily focusses on using handwriting but is worse at everything else look at LiquidText (iOS, free).
Planning tasks and everything else
This might be the most important of these: I use Things (somewhat expensive but very pretty, macOS & iOS) to mark down anything I want to do. Whenever something comes to mind (a friend I should write, a movie I should watch, a paper I should check out when its published in 3 months) I put it in the manager and can trust that I will be reminded of it at the right time—then I can stop thinking about it and concentrate on the thing at hand.
To date, I have over 3000 completed tasks—I use this a lot. Things allows you to set a keyboard shortcut that allows you to quickly add a task with due date, tags and project level from anywhere on your computer. This allows me to note a thought down before I get distracted or loose track of what I was doing.
I also use this to keep track of the queue of papers that I am trying to read (but never get around to).
A good free alternative on all platforms is Todoist.
A personal database of notes
Pretty much all of the smaller things I write (including this blogpost) I write in Markdown. Markdown is a file format that has no way of formatting text. It has headings (made by typing #heading
, with the number of #
corresponding to the depth of the heading), bold and italic and so (*italic*
,**bold**
), and that is largely it. There’s very little to play around with and get distracted. Since a .md
file is just a text file, it can be opened by pretty much any text editor under the sun, meaning my notes remain accessible even if the particular tools and services I use are discontinued.
To organize my notes, I use a system of interlinked markdown notes. I try keep the individual notes short, with one note expressing a single idea. [[title_of_note]]` refers to another note. By referencing other notes, my notes become a network over time. Importantly, this enables backlinks: when I have a particular note open, I can see which other notes link to it. This also allows for the successive growing of a graph of interlinked notes, which can be quite helpful to find and understand connections.
I use Visual Studio Code (free, macOS, Linux, Windows) as an editor. For the graph of interlinked notes I use foam, which is a set of plugins for VSCode. I also keep my notes in a local git repository so I can see how they change over time and when I added a particular line. This is really useful when working on subjects on which my thinking changes over time: it allows me to see how recent a particular line is. It’s like an automatic history of the notes. If you’re comfortable with tinkering around, this is a powerful combination. If you prefer it simpler, Obsidian (free for personal use, macOS, Linux, Windows) offers the same workflow in a neater, but more constrained package. If you don’t mind your data being on machines you don’t control (something I don’t feel comfortable with in the case of something as important as years of notes), roam provides something similar in the browser.
Writing Papers
To write larger papers I use LaTeX—a very serious version of Markdown. A footnote is just typing 'footnote{Content}'
, a heading is section{title}
, if you have it connected to your citation manager a properly formatted citation is just \cite{Heidegger1927}
(and it’ll build a reference list as well)—its beautiful.
On the one side is the text, on the other side the formatted document as PDF. Since the text you write is not directly what you see, you can format it like computer code: make breaks that won’t show up in the final document (great for separating thoughts), comment out entire paragraphs and so on.
I use Visual Studio Code with the LaTeX workshop plugin (open-source and free).
Also: detexify is a neat tool that allows you to draw any symbol to get the LaTeX code for it.
Managing Papers & Citations
I use a citation manager to keep track of all the papers I have read (and a lot of papers that I haven’t yet). Using one is crucial for academic work. I prefer Zotero (Win, Mac, Linux). I like having correctly named PDFs in a sensible folder structure on my harddrive. With Zotero, the plugin ZotFile takes care of it (bit of a hassle to configure, but worth it).
When I see a paper I’m interested in, I click the button of the Zotero browser addon on the journal page of the paper. Zotero then automatically downloads the PDF and files it and adds all the metadata (author, year, tags, etc). I can then just insert a citation in LaTeX or elsewhere.
Remembering Information
Spaced repetition is essentially flash cards (a question and an answer on the back) combined with an algorithm that presents your cards just about before you’re about to forget them. The time it takes to forget a piece of information increases every time one is presented with a piece of information. As a consequence, the intervals between being shown a particular card get very long, meaning the total time it takes to memorize a particular fact is quite low.
I use this to memorize papers I’ve read. It’s frustrating to feel like I have little memory of a paper that I’ve read half a year ago. If I consider a paper worth memorizing, I make sure I remember a few key points of it by putting it into my deck of cards. I try to review my cards for a few minutes every day—doing this on a phone is a nice way of filling a few empty minutes on the train.
The software I use is Anki (free, macOS, Linux, Windows, iOS, Android). I currently have about 500 cards that I’ve collected over the years, which is on the low side—having tens of thousands is not unheard of. It’s definitely worth buying the mobile app, even though its pretty expensive (at least for iOS, the Android one is free). I try to write cards after I’m finished reading a paper or based on notes from a talk (during is too distracting, I find)—at least if I’m not too lazy to do it. It usually takes a bit to write a card, as I need to make sure that it’s actually correct. I also keep a todo list of things to add if I can’t do it in the moment. I like to paste screenshots of notes and figures as answers or at the end of an answer as illustration. I’ve added a field for the source, which is the URL or paper in which I’ve read the information.
I highly recommend reading Michael Nielsens and Gwerns much more in-depth intros.
Tracking Time
I track the time that I spend working on things. I use Tyme 3 (Mac, iOS), but any other time tracking software for freelancers would do just as well. Besides pretty graphs, this allows me to get a better intuition of how long a task is going to take. Often, I feel like I haven’t made progress for hours only to look at the tracker and see that only 15 minutes have passed. I often try to guess in advance how long a task (reading a paper, writing an essay) will take and can check that against how long it actually took. I also find it helps to focus to consciously decide to work on something and to have to consciously decide to clock out once I drift to doing something else.
Toggl (freeish, all the platforms) is another good choice for this.