I was talking to my friend B.B. King of *x Admin about the problem of getting things done when one has perfectionist tendencies. I had mentioned the Pareto Principle, or 80–20 rule:
For many events, roughly 80% of the effects come from 20% of the causes.
At the time I couldn’t think of a pertinent example of why this was relevant to our discussion. Now I have one:
I’ve been thinking of changing the publishing system of this logbook to a static1 one such as Jekyll or Hyde, but I’m hesitating instead of making progress. I’m thinking too much of the 20 percent instead of getting the 80 percent done.
Static publishing systems will take care of 80% of my needs:
Instead of going ahead with it I’m worrying about the following, representing about 20% of the functionality I’d like:
I’ve thought about writing a local search script in JavaScript to parse a generated JSON or XML index of logbook content, of installing and configuring stuff such as Sphynx, of implementing a static publishing system in Django and then building search functionality using the same.
I realized that working on search would certainly take at least 80% of my time and would give me 20% of my needs, while implementing Jekyll or Hyde would take around 20% of my time, and give me 80% of my needs.
So: If you have perfectionist tendencies and want to get things done, beware of focussing too much on the hardest stuff. Better to get the easiest stuff out of the way first — do the simplest thing that could possibly work, so you get going. You can focus on the details, which do matter, later.
I have a headache now, but when it’s gone I’ll get to work on the static system set up and leave the search to Google, or for later!
Static publishing systems such as Jekyll and Hyde are not servers, they’re converter scripts. They run when you update your site but don’t need to be running for your website to be live. You provide a source directory of text, images, etcetera, and the script converts it to a site directory containing HTML and other static files for uploading or pushing to any server. ↩︎