I want a finished task to leave me with something more than a checkmark.
Especially the tasks I write down out of curiosity.
When I'm coding or reading documentation, I often run into something I want to understand. I don't always have time to dig into it right then, so I give it a place on my to-do list.
For example:
If SSTables are immutable, how do updates and deletes work?
That question is enough to start with. I don't need to turn it into a whole project called “Learn storage engines.”
When I come back to it, I start from that question.
I keep useful links in the task. As something starts to make sense, I write a few lines in my own words. If a part still confuses me, I leave that there too.
After reading the LevelDB implementation notes, for instance, I might write:
An update writes a new record. A delete writes a deletion marker that hides an older value. Compaction later cleans up obsolete entries when it is safe to do so.
The file stays immutable. The database changes which record it treats as current.
I keep the original documentation nearby, so I can check my explanation later.
By this point, the task has changed.
It started with a question. Now it holds a source, an explanation, and a few things I still want to understand. The work of figuring something out has left a record.
When I check it off, I have a small knowledge card worth keeping.
The next time I run into a related question, I have somewhere to continue.
“When is it safe to remove a deletion marker?” can become the next thing to explore. I can add what I learn to the same note, or give that question a task of its own.
What I like about this is that the writing happens while I'm doing the work. The sources and thoughts stay with the question that brought them together. By the end, there's already a useful note there.
That's something I care about while building TodoNote: giving a task enough room for notes that it's still worth opening after it's done.
Plenty of tasks end at the checkmark. I'm happy to let those go. But when I've spent time understanding something, I'd like to keep a little of that work.
The task starts with what I want to understand.
It ends with what I understand now.


Top comments (0)