One of my most useful computer programming tools is not a particular editor or programming language or reference book. It isn’t even something restrained to computers. It is a simple utility which I ignored for many years due to a youthful, arrogant assumption about the capacity of my memory.
That tool is a simple list of notes.
“You Mean, Like, on Barbaric Paper?”
I keep a list of notes for every project I work on. This list is distinct from the todo list I also keep for projects. My list of notes, by comparison, is not neatly organized. Instead it is a running brain-dump of any ideas or thoughts that come to mind while I am programming.
Computer programming involves a great deal of problem solving, and sometimes those problems require creative solutions. In my experience creativity is not something I can just ‘turn on’ when I need it. I have no real control over the creative part of my brain. If I ask it to churn out some idea then I tend to get it, eventually. But the odds are that idea will come when I am far from being in a position to act on it immediately.
That is where keeping a physical list of notes has proven so useful. I keep a small notebook where I quickly scribble down ideas that come to mind. Sometimes it is nothing more than barely connected words with a giant circle and exclamation mark next to them. I write down just enough so that I can remember that idea later. On my computer I maintain a more organized version of that notebook. I make sure that I have quick access to it at any time in case any more ideas come to mind. And sometimes when I am taking a break I will read over those notes to refresh my brain with the seeds for those ideas.
Note: I find using a file register in GNU Emacs to be a great way to quickly switch to my notes. For example, I keep the path to my notes file bound to the
?n register, so when I have an idea all I need to do is press
C-x r j n and start typing.
As I said initially, this practice is hardly special to programming. People from all walks of life find this useful: authors, artists, musicians, architects—if your work involves anything remotely creative then you can benefit from keeping a handy list of notes at the ready. Even something as simple as a small notebook next to your bed can be a wonderful tool. That way you don’t lose those great ideas that can sneak up on you at three-in-the-morning while you’re trying to sleep.
Developing the habit of briefly jotting down your ideas by hand can save numerous ideas that would otherwise fade from your mind before you can act on them.