As I mentioned in my last post, I have been looking at adopting the Zettelkasten method for my knowledge base. I finished the book How to Take Smart Notes and while it contained a lot of good information, I was having a difficult time figuring out how Zettelkasten would improve how I store and recall knowledge. I normally store two types of notes in my knowledge base: snippets and how-tos. A snippet is usually a piece of code or a command that I use regularly, but not often enough to commit it to memory. A how-to is a more detailed note that usually documents a larger process that consists of multiple code blocks or commands. In the Zettelkasten method, notes should be atomic and focused on a single topic and then linked to each other. It also has the concept of structure notes, which to me feel mostly like an index of similar topics. I was starting to think that I was trying to force myself into the methodology rather than improving my knowledge base.
Then I had a sudden insight. What if I think about my knowledge base (and the Zettelkasten method) the same way I think about writing software. Within my knowledge base, there is a lot of overlap between my code snippets and my how-tos. For example, I have a code snippet that I use for looking up the latest AmazonLinux2 AMI, but I also have that same code snippet in no less than three different how-to documents. What if I thought about my notes as reusable code blocks? In that context, my snippets would become the traditional Zettelkasten note (zettel) and my how-tos would be come the structure notes. This way I am reusing my code just like I would in a program, and if I want to make a change to how I look up the AmazonLinux2 AMI I only have to do it in one place instead of finding it in all my how-tos.
This line of thinking was a game changer for me in how I think of and organize my knowledge base. Now everything goes in as a zettel, a small atomic note, and then as I can reference it from multiple structure notes when it needs to be recalled. I think this keeps with the spirit of Zettelkasten if not the specific implementation.