I write down a lot of things. A lot. I try not to go anywhere with a notepad and pen, because I never know when there’s something I want to take a note of. Jotting something down in my phone doesn’t have the same feel, but for instant information recording, my notepad is my best bet.

In the short-term, such as ‘What was that command I used the other day to do xyz’, I know that the information will be in my notebook, if it’s not recent memory, or in my bash history.

When I get the chance, I transfer these thoughts that I stored on a piece of dead tree into some sort of digital form. Either as a blog post, or as notes, or somewhere. That way, depending on the context on which they were stored, I can use various digital searching methods to easily find the material again.

Given this setup, it’s not uncommon if I’m asked “Do you know what foobar involves?” to respond “Yes, just a tick..”

But I don’t know right at that second. So saying “Yes (I know)” is invalid. What I do know immediately, however, is where to go to find the answer.

This is known as the “Extended Mind Thesis”. The classic example of this involves telling the time:

  • Alice: “Do you know the time?”
  • Betty: “Yes”
  • Betty looks at watch
  • Betty: “It’s 3:30”

Betty didn’t know the time in the instance she was asked. But, she had a watch on, so she know she had immediate access to the inormation. The time required for her to say “No, but I have a watch on, let me look at it” would be longer than the time it would take to actually get the information, so saying “Yes” is quicker, and for values of ‘immediate knowledge acquisition’, accurate - she does know the time, because she was a device dedicated to keeping track of this information.

This is a formidable skill for a programmer or system adminsitrator - knowing how to find documentation on a language feature, or what boolean search string to use to find the beginnings of an answer in a search engine is a valuable skill. Knowing the directions rather than the information itself takes less storage, and allows for the offloading of information to another data store.

Yes, this is me defending ‘programming via stack overflow’ - knowing how to find the information, and how to properly use it, is important. Having perfect recollection of the syntax of a language is nice, but the overall time taken to create a script compared to someone who uses the intepreter to syntax check isn’t going to be that different overall. Well, they will be faster compared to someone who doesn’t have intimite knowledge of the language, and faster again than someone who doesn’t have access to a quick reference, or any sort of reference.