I thought you may be interested in this approach to file naming with hierarchy. The manifesto in these two links underpins Dendron, a Markdown note-taking app in the mould of Obsidian but living inside VS Code…
The author has basically built a riposte to the PKM community’s “freeform links are how the brain thinks, hierarchy is bad” doctrine. But the approach also eschews burying that hierarchy in folders.
The naming convention stores all node children in a filename, separated by dots, and stores all files at a single flat level. The theory is, this makes notes and hierarchy more immediately visible, and it allows for the storage of node-relevant content in what otherwise might have been just a folder container, unable to take any material.
From…
└── lang
└── python
├── data
│ ├── boolean
│ ├── array
│ ├── string
│ └── flow
├── flow
│ ├── for
│ ├── while
│ └── if
└── operator
├── comment
├── compare
├── scope
├── inspect
├── format
├── iterate
└── destructure
Thanks for bringing this to my attention @robertandrews. This has since become my favourite way of note taking and file naming for my PKB
The thing I’m struggling with at the moment is this: Dendron clearly targets software engineers and for things like notes on programming languages, it’s often easy to decide on a hierarchy. But for everything else it’s not so clear. For example: I really like the Zettelkasten method of note taking when reading a book or an article - but I haven’t found a way yet to keep hierarchical and more loose Zettelkasten stile notes in the same KB.
Yeah, exactly. I had the same thought. A programming language is something with concepts that are naturally hierarchical, and whose key concepts are broadly consistent across languages. Other topics are messier.
Also, you have the question about whether a topic really does belong only to one hierarchy.
What are some examples of how you are using it?
The Zettelkasten/Obsidian crowd certainly seem to suggest “don’t impose structure at the start”. (Some of them also eschew structure entirely, in favour of tags). Maybe this file-naming convention is something that a note can grow into, rather than start out with?
Personally, despite my intense interest, I have not yet managed to settle on a PKM/note-taking toolset or discipline, but hopefully it’s getting closer the more that I look at all this.
Indeed, my hesitation may well be reflective somewhat of the kind of procrastination/inaction note-taking fans say is symptomatic of a preoccupation with structure.
Good point. However, I’m not too hung up on that particular point because it’s easy to link them together. If in doubt, I’ll just create both files with one containing only the link to the other one. It’s about finding things after all.
As for concrete examples: I’ve several code snippets that are saved either under the software they’re used in or the language they’re written in. Eg. software..get-api-token is more or less just a link to lang.python.get-api-token.
My problem with this has always been: how do I find stuff again? Am I supposed to do a full text search? Do I have to run through all the connections in graph view?
I’m currently using is a custom file filter workflow in Alfred and it’s super fast at getting the relevant file by title. This is where clear naming (and hierarchy) shine.
Come to think of it, maybe I’m looking at different use cases. Working in a technical field: The stuff I’m using for daily tasks is usually easier to organise in hierarchical form than general research.
I should probably just run with a two folder structure: One with a clear hierarchy and one more free form Zettelkasten stile here I let the structure emerge more organically.