Note Taking for Minimalists
Confidentiality and technology selection
Personal notes reveal a lot about us: our unfiltered thoughts expose our (political) opinions and feelings and make us thus vulnerable in a social environment where a thoughtless word could mean the end of our (political) career. This is why note taking is counted as a severely individual, private, intimate activity.
In contrast, modern content management systems are designed for a different goal: As written knowledge becomes an organisational asset only when it is shared, effective storage and information retrieval are fundamental requirements. At large scale many of these systems are cloud based distributed databases. Their information confidentiality depend on various factors beyond the end user's control. For example, the quality of the access restriction management, of the encryption and of the system administration impacts the system security. To mitigate this risk, one may decide to store his personal notes only on an owned device. It may be argued that this choice only shifts the risk as information stored on a personal device only remains confidential as long as the device is not compromised. As we can see, the choice of technology expresses not only our personal privacy needs, but most of all to whom we decide to trust for providing privacy and for respecting it.
It is anecdotal that in 2013, according to the Telegraph, Russia's Federal Guard Service (FSO) returns to typewriters to avoid computer leaks. So should we go back to our paper notebooks? Probably not. But what about changing our habits to use technology in a more minimalistic way? For example, does a light bulb really need to so smart that it is able to connect to the Internet? Does this little gain in comfort really outbalance the privacy risks related to it? Minimalistic use of technology does not mean we should avoid modern technology and go back to candle lightening. It is rather using the best and most efficient technology we totally master in its complexity. Applied to our example this would mean that we still prefer the most modern energy efficient LED light bulbs, but in this case we chose the not smart version.
Minimalistic note talking
Following this lifestyle, how would minimalistic note talking look like? Considering our goal which is to improve our informational self-determination, we must assure not only the control over our data itself, but also over the related processes and tools. To illustrate this, consider a typical note life cycle with its related processes:
- note creation,
- note editing,
- note rendering,
- note retrieval and
- note archiving.
While the life cycle always starts with the creation of a note and ends with its archiving, the intermediate stages can repeat in any order. From this observation we can derive a set of technology choices for minimalistic note taking comprising the usage of:
- a text editor (supports: 1. creation, 2. editing),
- a Markup language (supports: 3. rendering),
- the UTF-8 text encoding (supports: 4. retrieval, 5. archiving).
It is important to note that the informational self-determination enforcing key element, is the usage of raw text files in UTF-8 encoding. As any text editor can create and edit such UTF-8 text files, we become not only vendor independent, we also solve the problem of long term archiving. In addition, all current operating systems support full text search in UTF-8 text files, so retrieving the stored information is supported by default.
Workflow support with Tp-Note
Besides the basic concept, there is room for improvement: for example, the usage of a Markup language like Markdown greatly improves the structure and readability of note files. Also, the practise shows that a structured file header, holding the note's meta data like date, author etc., is very useful. Finally, a convention about how to name note files improves the retrieval process considerably.
By design, the above workflow is conceived to work without any specialized, proprietary software. When I first started taking notes as text files, I used nothing but the Vim text editor. Very soon I realized, that a template system would be handy. Although my first templates were implemented as simple Bash scripts, this solution speeded up the note creation process remarkably. Then I added a function synchronizing the note's filename with its meta data in order to ease information retrieval. Today, about 10 years later, the former Bash script evolved into a sophisticated Rust application Tp-Note simplifying many workflows related to minimalist note talking:
- when a note is created, a configurable template system evaluates the user environment and the clipboard content,
- another template takes care that the note's filename is always in sync with the note's meta data,
- an internal Markdown/ReStructuredText renderer allows to view the formatted note with the user's default Internet browser.
Most of the time you do not see Tp-Note in action as its works invisible in the background: all what you see, after creating a new note file, is that Tp-Note launches the user's favourite text editor1, renders the note file and opens the rendition with the user's default Internet browser.
Conclusion
Minimalistic note taking is a life style aiming to improve informational self-determination, by minimalistic means such as raw UTF-8 encoded text files, text editors, full text search and light markup. Although no special software is required, tools like Tp-Note and your favourite text editor make minimalistic note talking an efficient and pleasant experience.
Read more
A good start is Tp-Note's project page, the introductory video or other blog posts about Tp-Note. The source code is available on Gitlab - getreu/tp-note and some binaries and packages for Linux, Windows and Mac can be found here. To fully profit of Tp-note, I recommend reading Tp-Note's user manual. When you like Tp-Note, you probably soon want to customize it. How to do so, is explained in Tp-Note's manual page.
The user is free to choose a simple text editor like Notepad, a complex IDE like VSCode or a markup language text processor e.g. Typora or MarkText.