How I Store My Reference Information

Here’s something I thought might be worth sharing. I’ve stored reference information on my personal computer since the 1980s and have seen the rise of software like mind-mapping and zettelkaste. I’ve tried them, but always found them more time-consuming than this technique with no real advantage for me. So here it is in case it’s of interest to anyone.

Since the 1980s I have used an outliner for storing notes, links, etc. and some word processor for actually writing using that info. (Starting with WordStar; then various Mac word processors and lately MS Word.)

An outliner is fantastic for hierarchical information storage, of course. And there is an outline-native format called OPML so that you can switch outliners by exporting to OPML and importing it in your new software.

But the key to making it work really well for me is to also have “keywords” which involve starting an important word with a couple of underscores. For instance, I have __python. And I use an asterisk to represent sub-keywords. So my outlines have the outliner’s natural structure, but I don’t have to spend energy getting it perfect or navigating through it, because I can have an outline that is megabytes in size and still instantaneously find “python” and then if I’m looking for python databases, I can immediately search *database and I have my hierarchical list of python databases from which I can pick one for the project I’m currently working on.

Each of those has information about it stored in a hierarchical manner, so they are organized and have no need for keywords.

I have different outlines for different projects I’m working on, and a multi-megabyte one called “Instructions” for… uh… instructions for different technologies and non-technologies such as “_Learning” strategies. (The _python keyword is a top-level outline heading in that. I have hundreds or perhaps thousands of top-level items in that topic, accumulated since the 1980s. I COULD organize so that there were 5 to 10 top level items, trying to make it so that each of those would have 5 to 10 under it, etc., etc., but I have absolutely no need to do so, and no need to navigate through such a structure. This is for my convenience, not to be a lesson in the Platonic ideal of outlining.)

So I get the best of both worlds. Hierarchy where that’s convenient, and instantaneous searching when that’s convenient, in one seamless file, where I don’t have to spend nontrivial effort on organization but can find whatever I want instantaneously –– and at any point where it’s convenient, I can have the advantages of hierarchical information storage for that group of information items.

And then when I need to write something for someone else to read, I use a regular word processor. This way I can pick the best outliner I can find for my information organization (now OmniOutliner, previously More, and back in the CP/M days, Kamas), and the best word processor I can find for writing. (As I mentioned, that’s currently Word, but for a long time I used Markdown word processors.)

I mention all the above in case my experience happens to be useful to anyone else.