A note about taking notes (part 3)
Note taking and Document Organization

This is the last article of a series on taking notes. In the previous ones, I shared the reasons why I think taking notes is useful as well as some of the things that I do when I take my notes. This article contains ways of making use of the effort that we have put into writing those notes. Some of them are specifically geared toward digital notes and won't be very useful for handwritten notes, but there is one which applies only to notes on paper. 😉
Using your notes
Even though I have mentioned before that you already get some value out of the process of taking notes, like structuring your thoughts and finding the gaps in your reasoning, we would like to go beyond taking notes for the sake of it. You want that knowledge to be useful to you.
Get your effort's worth
Use them… Duh!
Ideally, there is an app note for that, so every time that you need to do something that requires some knowledge beyond
what comes to mind right away, take a look at your notes before searching on the web. If you have a note for that, use
it. If you don't, create one. Particularly if this isn't the first time you would have used this knowledge. If the
note doesn't help enough, make it better.
Automate your workflows
If your tool has a simple implementation for some or, even better, all of your workflows, learn how to use those features. For example, if it can search in all the files of a directory for a regular expression and show previews of the candidates, learn how to do that.
Shortcuts are your friends here. It is hard to remember every shortcut by heart, but I have a good way to learn them. I focus on one or two shortcuts of actions that I do often. During a week, every time I have to do any of those actions, I force myself to use the shortcut. Even if it takes me longer because I have to find the right key combination again. And if I realize that I had done the action without using the shortcut, I undo it and use the shortcut to redo it. Since the premise is that I use them often, a week is usually enough to learn them. New week, new shortcuts to learn.
I have a couple of shortcuts in Emacs that use the consult-ripgrep package. I enter a regular expression and it finds every occurrence of it in any of the files of a given directory and its subdirs with a live preview of the currently selected one. Out of the box, VS Code has a feature that provides a similar behavior. You just have to right-click on the folder where you want to perform the search –the one that contains your notes– and enter the text. It can also be invoked with a shortcut and supports file name globbing and regular expressions for the text to search.
If you are using a tool that doesn't do the things you need and that isn't as customizable as Emacs or VS Code, that's fine. Script your workflows. Use your preferred shell or write some simple Python code, for example. Don't make it too complicated. The goal is to be able to do those things fast. Well, fast enough.
Increase their future value
Add indexes, journeys or paths
One of the things that was most disturbing to me when I started taking handwritten notes, was keeping track of them. An index was the obvious solution, but how many pages should I reserve for the index? That really depends on the number of pages available and the length of each of my notes. It might be the case that I have a notebook, with only a handful of long and useful notes. But it is also possible that I have many short notes in a different notebook. Among other reasons, the task at hand, being in a talkative mood, or the number of images used will result in different note lengths and there is no way to know in advance. But then I learned from somebody who was in the known1 that there was a better way of doing this.
The method is quite simple. You need to have a page number on every page of your notebook. You can buy one that comes with the numbered pages or add them manually. No fuss. Then you use only the first page for the index. When you are going to use the last available line on that page, you add an entry called "next index" or whatever you prefer and use the next free page number there. On that page, you add the pointer to the next entry that were going to create and continue from there.
I have been writing computer programs since I was a teenager and I had to re-learn single-linked lists on paper. 🤦
Back to digital notes. Finding the right notes should be much simpler. And if you are using a few directories and have a standard naming scheme, as I mentioned in the previous article, listing them should be trivial 😎. However, it might make sense to have notes that provide some structure to other notes. For example, let's say that I know the bare minimum about maintaining my car2 and I want to take proper care of it. I could have a note on how to check the tire pressure, another one on how to check fluid levels, and one more for testing the safety equipment. Then I can have a checklist that lists all the tasks and refers to those other notes that explain how each thing is done.
That same concept applies to other topics without involving a checklist. If you are using a very customizable editor or IDE, you don't want to have all of the customizations –that you care about– explained in a single note. It is a better option to have a note for each of the things that can be customized and have another one that explains things like what is the minimum set of modification that you want to have in place and refer to the individual explanations.
Boy scout rule

If you are a developer, most probably you have heard about the boy scout rule: "Leave the code better than you found it." This rule applies to your notes too: Make them better when you visit them. Add what's missing, improve the text, fix typos, connect them to other notes… This way, the notes that are most useful to you, the ones that you visit more often, will also be the most up to date and better maintained ones.
Especially for the notes that are about ideas, concepts that you have learned, or even third party sources like videos, articles, or books, it is extremely useful to keep connecting them to other notes. The better you understand something, the easier it is to figure out where it can make sense to use it or to try it. Learning and thinking is as much about knowledge and understanding, as it is about establishing relations3. Hence, include "adding links to other notes" in the list of tasks for "note maintenance."
Split or combine your notes
Your notes may also be different in a different way. While most of them should be focused and to the point –i.e., a how-to should just explain that, and maybe some necessary context,– long term logs, by their nature, will contain different types of content.
I frequently capture things that I am trying or solutions to the problems that I face as part of tracking the progress of a project. But, once this content has proven to be effective and I want to reuse it, it is better to move it to an external note of its own and refer it from the log. Then, I know what I did in that entry, but the knowledge that helped me there is easier to reuse.
It can also happen in other situations. For example, if you started with a simple note, but you made it grow over time to cover multiple scenarios, you may come up with a note that contains too much information. Don't be afraid to split it into multiple notes and keep one that defines the main structure.
Keep in mind that maintenance goes both ways. Sometimes you have to act like Wreck-it Ralph and split the notes, but some others you have to be Fix-it Felix Jr. and combine them in a way that they are more useful to you. There is no one-size-fits-all for notes and the ultimate motivation is that they suit your needs. Experiment as much as you need, because no persistent damage is done here, particularly if you have a versioning system in place, as I explain below.
Keep them safe
Putting all this effort into taking notes only makes sense if you use them regularly. They need to be available to you when you need them. You should have access to them from all of your computers –should you use more than one– and you must be able to recover from undesirable scenarios, like a hard disk failure or an accidental deletion. There are many ways to solve this, but the bare minimum is to include them in your backups.
Version control system
I use a Git repository for all my notes. Just one repository, a monorepo4, and all the information is there. I can also keep track of what I have add or changed and even come back to a previous version of a particular note if needed. This requires some familiarity with a (distributed) version control system, but it is worth every minute that you invest in it.
This setup could also be helpful for synchronizing them across your devices. You put them in a git repository in one of the service providers in the Cloud (GitHub, GitLab, BitBucket, …) and clone it in every computer that you use. You push the changes and they are available to the other computers. And if you don't feel like trusting your information to any of them, you can self-host any of the available options (Forjejo, Gitea, Gogs, …) and use a VPN to access your personal service from anywhere in the world.
Backups too
The 3-2-1 rule is a very sensible thing to put in practice.
- Have 3 copies of your data.
- Use 2 different media. For example, a external hard-disk and a storage service.
- Keep 1 of the copies off-site, to avoid that if something happens to your place all of the copies go with it.
Add your notes to your backup policy and remember that backups are only as good as your ability to restore them. Testing that you can recover your data from your back up is a must.
Archive
Some notes expire with time. For example, software development changes over time, and what used to be best practice becomes obsolete. Nevertheless, do not delete them. You never know if you will have to use "obsolete" knowledge, but what you can be sure of is that if it is considered obsolete, it will be harder to find the right information. Instead, flag them in a way that they can easily be excluded from your searches. You can use a keyword or move them to a subdirectory. Any solution will do as long as it meets these two conditions:
- They should be shown after the not-archived notes in your workflows or only when explicitly requested.
- If you open one of these, by accident or on purpose, it should be clear that it has been archived.
Keep your information, but don't let it bother you.

Summary
This is the final article on the series on note taking. I wanted to cover some of the things that I do to exploit the knowledge in my notes, making them more convenient and enjoyable. I would like to hear from you. Share the things you do with your notes and let me know.
In the next article, I will move the knob one notch up and I will try to answer the following question: Is it worth taking notes if the IA is omniscient? I will be using some LLMs and our AI Optimizer and Toolkit project to challenge them and see the results. You don't want to miss that one!
Stay curious. Hack your code. See you next time!
Footnotes
I am not 100% sure who I learned this from, but chances are good that it was from no other than José A. Lobato. And if it isn't the case, I learned from him so many other things.
Which is true: I had to search for a few car maintenance tasks.
That is part of the essence of the Zettelkasten method.
This is one of the few instances where I will defend a monorepo.