Knowledge Management Systems

You will make better use of any note taking system if you familiarize yourself with some type of knowledge management system, or KMS for short. It is essentially an approach for capturing, storing, and sharing information.

Two popular ones are Zettelkasten and Second Brain, but you could also add on top of them a GTD approach. One popular quote of its author describes the gist of why should have one:

Your mind is for having ideas, not holding them -– David Allen

Whichever system you choose, the goal should be be finding one that you can trust. One where you can quickly put down any thought or task plan while having total confidence you will be able to find it again at the right time. That trust comes with discipline, consistent use and continuous reviews.

Be aware, that doesn’t come easy. Most of it will not be achieved from the app you choose, but from finding the workflow, procedures and system that works for you.

While most popular apps hide this concept from you, you should have an understanding of ids if you want to future proof your notes.

If you are already familiar with html or markdown, relative linking your notes with a path should already be second nature to you.

Some text [linking](./ to other markdown file

The previous example will break really quick once you start moving files around.

Use relative paths for nearby notes. If you decide to split an existing note and write a file next to it, just reference that file. If the link breaks it should be easier to repair. I will not deny how nice and convenient they can be in these cases.


If you go to an opposite extreme, you could just use a random UUID.

Some text [linking](129b7f02-f294-437b-9ce2-d2ec8131cfb9) to other markdown file

Now that looks ugly, doesn’t it? And yet the worst is yet to come: this is the first approach for linking in TaskFolders! and we call them uid. I say first because they are safest way to survive the test of time. Even if you stop using TaskFolders, it will always be possible to find manually track that ID with a normal search.


But not all hope is lost, because there is also a second alternative where you manually set the name of that id, we call them sid. Any note can define one.

uid: 8c5e2063-1f25-4d5a-9bd9-5bdd7a9914f1
sid: weekend-trip

some note

And now any note or code comment can reference that sid.

Will be done during the :weekend-trip

Did you find a problem with that id? Good naming is a whole art in itself, but we got you covered in a blog post.

A sid is expected to be all lowercase in kebab case but you can write them in any way you like as long as it is a single word and does not conflict with our relative time markers. Most notoriously, you are not supposed to use a month name.

You should not expect them to always work as a valid link though. If you reference a sid like that, we assume your purpose is to hint the existence of a recurring topic.

If having some feedback when they break is important to you, you can always create a proper link.

Will be done during the [weekend trip](:weekend-trip)

or also during the [[weekend-trip]]

Use sids for frequently referenced notes. They are convenient and really sexy looking. Not only they are specially handy when referencing frequent tasks, but they are extremely grepable in a text search

Use uids for less frequent or shared notes. If you are not going to link frequently the same note, use the one solution will never break. When sharing notes with a team, it is not nice forcing other people to memorize your naming convention.

Time markers

One tragic event in a journey to app lock-in freedom is the joy of having a widget to ensure all date fields are good. So here comes one more lesson: ISO 8601

What is wrong with just typing 10-03-2024? In the US, this means October 3rd, 2024. But in countries like France, it would be interpreted as March 10th, 2024.

No, you are not allowed to argue that you will have a consistent approach. The moment you copy paste a date the pandora box might open.

Reasons to love ISO 8601

If the previous example were written as 2024-03-10 it would be clear that it was not written in a localized system because those tend to write the year at the end. Just looking at it, it should be clear that 03 stands for the month of march.

Starting a file using this format also ensures they will be sorted in the order you intended.

My favorite aspect though, is that the standard has week notation. Anyone with a little bit of love for task planning should know that week numbers are a huge deal. Week planing is an undeniable concept in many productivity systems.

We have a great deal of respect for the week notation, so don’t hold yourself back just typing something like 2024-W11

Relative time

There are situations when you might want set a date without thinking in a calender, but in how long from now

We have a notation for those cases:

3w  -> three weeks from now
5d  -> five days from now

The scanner can pick up these values and convert them into a full date string.


This is a controversial topic that might be dropped later, but certain all uppercase words at the beginning of a heading signal a special case.

# TODO some task
and explain the task
# LOG account name change