Tuesday, January 29, 2008

Applying Unix Philosophy to Personal Productivity


Reprogramming your personal workflow with a productivity system is a lot like programming computer software: given a stream of incoming information and tasks, you set up holding spaces and logical rules for turning it all into action. Like software that automates activities, good productivity systems take the thinking out of what to do with incoming data, and make it a no-brainer to turn those bits into an accomplishment.

While I'm at best a novice student of Unix philosophy and its rules for designing great software, several tenets are worth thinking about when you're designing your productivity system. Many of the rules that apply to writing great code also apply to writing down tasks and projects that you'll actually carry out instead of put off. Let's look at a few of the basic rules of Unix philosophy and how they apply to your personal productivity system:

  • Write simple parts connected by clean interfaces. (Rule of Modularity)
  • Clarity is better than cleverness. (Rule of Clarity)
  • Fold knowledge into data so program logic can be stupid and robust. (Rule of Representation)
  • When you must fail, fail noisily and as soon as possible. (Rule of Repair)
  • Programmer time is expensive; conserve it in preference to machine time. (Rule of Economy)
  • Prototype before polishing. Get it working before you optimize it. (Rule of Optimization)
  • Design for the future, because it will be here sooner than you think. (Rule of Extensibility)

Follow the link to read what insight each of these rules gives for how to become more productive.

No comments: