[Update 2021-06-22]
If you’re more interested in the Tiddlywiki aspect of this post you can also check this Tiddlywiki Google Groups thread.
[Update 2021-06-18]
This post caught some attention on this Hackernews thread. You might want to check the comments. Based on the recommendations in the thread I’ve put together a list of (digital) solutions (besides the preferred ones)
Almost 6 years ago I was blogging about organizing and visualizing knowledge. At that time I was just playing around with Tiddlywiki and using it to collect notes during my CCNA course. I couldn’t anticipate to which extent personal knowledge management systems would become famous and trendy. And people nowadays don’t blog anymore: They take care of their digital gardens. While most of them seem to be just a collection of random notes, there are actually good ones where you can actually read through the thoughts/notes and learn something new. Here are my favourite ones:
- Andy Matuschanks Digital Garden
- Jethro’s Braindump (build with ORG Mode) and ox-hugo)
- more in his github repository
- Personal Zettelkasten of Soeren
- Did I already mention what a Zettelkasten is about?
And what about me? Yes, I still blog but I also have a digital garden available at brainfck.org. For me blogging and maintaining a public source of inspirations and ideas is not the same. A blog post should be readable and contain full sentences. A collection of ideas/thoughts can be just some bullet points with some random links (for me they’re not random, since I actively set those links in order to inter-connect notes). The idea is that I use my PKMS
to lookup things and generate new content (like this post). That’s for the introduction. Now let’s talk about the importance of having and maintaining a source of notes/thoughts.
Motivation
After all: What’s all the fuzz about “note taking”? You have them somewhere, you use them somehow. Well, there it’s more than that. In my job as a Security Engineer I need to keep up with new technologies and arising attack vectors. Additionally I tend to read about non-IT topics I’m currently interested in. Each time I want to make sure I don’t have to re-read/review that source again when I think I might use an interesting idea/concept out of it. Making future-proof notes (a terminology used in a Zettelkasten system) is essential for me also because I use that content to generate new one.
Not only in a professional context, but also for private purposes it does make sense to actively read your books/articles. Try to apply some analytical reading, a concept I’ve read about for the first time in How to read a book (book). The idea is to interact with the content you’re reading about: Ask questions, try to link ideas in your mind, make notes, lookup complex definitions. The worst thing you can do is to just passively read something, finish it and then you move on to your next reading. After finishing a book, I always take some time (1-3 hours) to go through my notes, adjust already existing ones or link them to other ones.
The perfect setup
I’ve spent the last years, trying to find not only the perfect note taking system but also the most proficient note storage system. I don’t want to dissapoint you, but there is no perfect solution. You just need one system that fulfills your needs, is easy to use and will most probably still work in a couple of years. Let’s have a look at my current setup which has envolved over the last 2-3 years and definitely will change whenever I think I can optimize each step individually.
Note taking
For me this is the most important step when dealing with sources of information in general. The process of note taking is supposed to help you to internalize the main concepts and the authors ideas. In this step taking temporary notes as described by Söhnke Ahrens in his book “How to take smart notes” (german: Das Zettelkasten-Prinzip) will give you a good starting point for storing them in a permanent manner. But more on this below.
Pen and paper
This is still my favourite way of writing things down and collecting so called temporary notes as described by Söhnke Ahrens in his book “How to take smart notes” (german: Das Zettelkasten-Prinzip). All you need is just a piece of paper and something to write. You’re free to use whatever structure you want as long as it doesn’t disturb your reading flow. Add diagrams, bullet points, symbols or everything you think is necessary.
The downside of this analogue method is the fact your notes could get lost at some point. You have no automated backups in-place and if you lose your “paper” notes, also your work is gone.
Some examples
Smartphone
Yes, this might surprise you, but I do use my smartphone to take notes, especially when I don’t have a “piece of paper” with me. The best thoughts will come to your mind when you don’t expect them to do so. And in that case you should be better prepared to write them down.
orgzly
At some point I’ve started using orgzly which worked fine for ORG mode in combination with syncthing for the cross-device synchronization. However, once I’ve came back to Tiddlywiki I’ve somehow abandoned orgzly in flavour of miMind.
miMind pro
This little (mobile) application has great usability and it does help you to quickly add new notes, structured as a mind map. You can then easily export your map as XML which can then be converted to ORG format.
In the application itself (as shown in the video) you can export your mind map to a XML file which can be converted to ORG using this small Golang utility:
Once you have download all files included in the gist you can run it against your miMind XML file. In my case I had this XML:
|
|
|
|
Desktop
GTD suggests to always capture what has our attention. Also minizing the number of possible capture locations makes your life even easier. But I also tend to capture my thoughts where it feels most comfortable. If I’m doing some work at my laptop and suddenly some idea comes to my mind, then I’ll capture it on my laptop. In that case I won’t grab a piece of paper, put a label on it (to remember what the thought was about) and then put it aside. I’d rather use tools on my desktop system.
During the last months 2 input capture systems established and have become part of my note capture routine:
- ORG Capture
- Intergrated within Emacs and ORG mode
- I use it mainly for events, appointments or TODOs
- I’m not using it anymore for storing thoughts, bookmarks, ideas since I’ve moved back to Tiddlywiki
- Tiddlywiki
- I always have a running (nodeJS) instance in my browser (here you can view the exported version)
- Whenever I think something should be added to an existing note, I open that tab, search for that specific tiddler (a page/note in the Tiddlywiki ecosystem) and make the changes
- I also used for storing notes to podcasts, articles I listen/read to/about during the day
Note storage
Contrary to what Niklas Luhmann was doing with his “slip box” (german: Zettelkasten) I like to have my notes stored digitally. Not only I can easily make multiple
backups and store them at different locations, but I can also apply batch operations (text modification, add/remove tags etc.) using command line tools like sed
, awk
& co. And as with the Unix philosophy everything is a file I like to cluster notes (on the same topic) in one single file. This solution is completely software agnostic and files can be modified accordingly to be imported into different note-taking systems.
Requirements
I wrote this post in order to give you some ideas what worked best for me but it’s up to you to define which requirements you need for a simple, working solution. For me these requirements were essential:
- digital solution
- like I’ve mentioned before I do think digital solutions are the better long-term storage systems
- you can easily backup them
- you can share between multiple devices
- you can have version control in-place
- edit from (almost) everywhere
- well in theory you should be able to view, modify your notes regardless of the device:
- desktop system
- smartphone
- terminal
- web client
- I also like to add/modify notes on the fly
- well in theory you should be able to view, modify your notes regardless of the device:
- good looking UI
- Being a “terminal guy” for many, many years now I didn’t thought I would put this as a requirement
- However, once you can actually “visualize” your content or more important see the connections between your notes, you’ll definitely start to appreciate UI
- Adding new content or modifying existing one shouldn’t be a rocket science
- export content
- solution has to be software agnostic
- Imagine in 20 years you’ll have to import your notes into some fancy, AI-driven, blockchain-based note system :)
- You should be able to do this without massive data manipulation
- You should be able to export all content to a common format (who knows if JSON will still be around in 20 years)
- no proprietary format!
- If you use tags and extra fields for your content, then it should be easy to use them in the new system
- You should export all content to a readable form and share it online (like a digital garden)
Other digital solutions
- Agenda
- date focused note taking
- Bear
- only for Apple devices
- Craft
- only for Apple devices
- Curio
- Evernote
- foam
- personal knowledge management and sharing system for VSCode
- Google Keep
- I also use it for cooking recipies
- has tags
- I can easily search in the mobile application
- Inserting new notes is very easy
- instanote
- for Apple devices only
- Joplin
- cross-platform
- has encryption
- How I take notes
- logseq
- supports Markdown and ORG-mode files
- very similar to Roam
- still in beta though
- Nextcloud/Notes
- chronically underrated
- has sync already built-in
- Noteable.app
- available for different platforms
- notes are written in Markdown
- notational-fzf
- works fine with Noteable
- Notational velocity for VIM
- NotePlan
- Obsidian
- uses Markdown
- maintaines an index for linking things
- OneNote
- ORG Mode
- requires Emacs
- organice
- implementation of ORG mode without Emacs
- built for mobile and desktop browsers
- My ORG Mode setup
- Roam Research
- also check TiddlyRoam
- Stroll is also amazing
- if you want an awesome interface have a look at TiddlyResearch
- SparkleShare
- for sharing documents/folders
- supernotes
- has an API
- uses notecards (similar to tiddlers) for storing content
- The-Archive
- built with Zettelkasten philosophy in mind
- also check the Zettelkasten introduction which is really great
- vimwiki
- personal wiki for VIM users
- Zim Wiki
- missing mobile support
Final thoughts
I really recommend taking this whole topic more seriously since it will pay off on many layers. Not only you’ll be able to deep-dive into multiple topics at once, but you’ll have a solid collection of notes/thoughts for later. Having a solid note eco-system will definitely increase your productivity and overall focus since we already spend to much time googling stuff. Use your brain for what it was built for: Thinking, cognitive processes and creativity. Definitely not for storing information.