These are personal notes I find handy when I'm doing programming, systems administration, network engineering, and the like.
All material here is available under the MIT license; feel free to do with it what you wish.
In Thinking about Thinking, Alan G. Carter proposed that software and systems developers divide into two categories:
- packers who tend to be good at memorization and remember details of what they need to know, regardless of interrelationships or inconsistencies between them, and
- mappers, who tend to remember and use information by creating and updating a logical model from which individual details can be derived.
I have a poor memory for all but the most important details, and possibly that forced me to become a mapper if I wasn't already one by nature. When learning about something, writing a document about it (or updating my existing documentation) serves two purposes:
- It helps or even forces me to develop or update a model of how the thing works, or at the very least leave markers for areas where I don't at the moment have time to properly understand something.
- It leaves me with a reference that can later assist me to restore that model if I've forgotten it or any of its details.
This is a repository of that documentation. It may or may not be useful to others (the links my sources are the most likely to be useful); you may be better off creating your own repository like this.
I can say that over the last several years of writing and maintaining this repository the initial investment in writing down the information has paid off handsomely. It's most noticable when I need to do again something I've done in the past and know I understood well then, realize I've forgotten what I need to know now, and then discover I didn't make notes on it. It's then wish I'd taken the extra time to make notes in the first first place, to avoid wasting time relearning the topic later.
- Alan G. Carter, "Thinking about Thinking", The Programmer's Stone blog, 2007-12-11.
- Rich Hickey, "Simple Made Easy", infoq.com Strange Loop conference presentation, 2011-10-20.