Productivity tools I use & endorse

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.

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 6000 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 most 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.

foam - [ ] CHANGE

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. To organize my notes, I use Obsidian (free for personal use, macOS, Linux, Windows, iOS).

Another way of accessing the notes (which are just a bunch of text files in a folder) is by using Visual Studio Code (free, macOS, Linux, Windows) with the Foam extension, which provides similar interlinking of notes with overview graphs.
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.

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).

Screenshot 2019-09-21 at 00.25.38

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.

Reading & Annotating Papers

When reading a paper, I take notes on an eInk tablet—essentially a large ereader. I use SyncThing (open-source, all platforms) to synchronize the PDFs from the Zotero library onto the eInk tablet, where is scribble on them and highlight relevant passages.

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 take notes on a computer.

Keeping track of papers on has read is hard: over the course of my PhD I’ve read hundreds of papers (my Zotero library contains more than 2000, but some of those are ones that I’ll get to any day now, surely). To do that, I add a note for every paper to the database: the Citations plugin can automatically create a markdown file for every paper, prepopulating it with author information and abstracts.

To keep track of papers I’ve read, I add them an Obsidian Canvas for a certain topic, where the note shows up as a little card that can be connected to other cards. This seems a decent compromise between making reading papers too costly, and making too little information gained from reading the paper accessible months or years down the line.


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.

Screenshot 2019-09-21 at 00.16.14

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). vs code latex

Also: detexify is a neat tool that allows you to draw any symbol to get the LaTeX code for it.

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.

Tyme 3

Toggl (freeish, all the platforms) is another good choice for this.

Updated 02/18/24