Among other things, Paul Graham’s essays are great by the fact that they contain first-hand tips about practical pitfalls of applied hacking. These pitfalls may seem secondary to uninitiated but they serve as foundation to everyday coding. And Paul shows extensively throughout his texts how to deal with these pitfalls, you just need to pay attention and not miss these hints when they jump into your face.
Take errands for example. Errands are killers of inspiration: when you have outstanding errands to run you cannot concentrate on a problem at hand. Everyday chores hang over your head with Damocles sword’s inevitability and trash your mind with wasteful worries. It can be any little stupidest thing that breaks your work mood, anything at all: necessity to pay bills, or cut your lawn, or change water in aquarium, or load a dishwasher, or feed a cat.
Thought process is very finicky: you need to get in the flow, you need to approach a problem from considerable distance starting with things that at first may not even seem related to the task at hand. Step by step, pass by pass you iterate towards your ultimate goal with back and forth swings, sometimes intentionally getting distracted by some tiny detail of some secondary feature, sometimes taking a step back and overlooking entire domain as a whole. These gradual methodical mind advances cannot be rushed and crude interruptions from “real life” at any stage of this catching the wind dance may be deadly to the entire problem solving process. It’s even beyond the point that you will need to waste considerable time just to return to the virtual neighborhood of thoughts where you were interrupted; this time may be in the magnitude of hours but that’s not the worst. The most horrible part is that the next time at some obscure intersection your mind will take left turn instead of right and you will never catch the same flow. It may look similar and may contain most the same primary attributes but there is high likelihood that some original thoughts are missing. It’s like re-writing a piece of code the second time around on the same feature: you will never be able to get it the same and will be left with unsettling feeling of mistaken identity.
Errands are probably the worst enemy of creativity (outside of having to work for the corporate world that is). Foreign thought intrusion of having to pay a bill during working on real stuff is this kind of crude mood killer that has to be avoided at all cost. One of the ways to fight back is quiet contention: you can train yourself to work out the “so what” attitude towards chores even when it pushes boundaries of social acceptability. So what that neighbors point to your overgrown grass where turkeys can hide with ease. So what that you incur an overdraft fee because you forgot to check your account balance prior to the automated payment kicking in. So what that stupid aquarium fish did not get their food in three days. By successfully ignoring these chores you are able to dedicate your undivided attention to worthwhile substance and – most likely – create more wealth than you loose in late fees.
Of course, as with anything, you have to walk the fine line of not taking this concept to the extreme. At some point stupid fish will indeed die if you do not attend to it. That kind of point of no return is usually good indicator for you to stop coding and sacrifice your time to errands: “I cannot postpone it any longer or stupid fish will die.” Until then – enjoy your freedom of social emancipation.
You can leave a response, or trackback from your own site.