yak shaving : Java Glossary
©1996-2017 2008-07-31 Roedy Green of Canadian Mind Products
- yak shaving
You have probably noticed how the tiniest Java programming project, or home
improvement project often grows seemingly without bound. You start to do something
very simple. You need a tool to do that. You notice the tool need to be tuned a bit
to do the job properly. So you set out to sharpen the tool. To do that, you need to
read some documentation. In the process, you notice the documentation is obsolete. So
you set out to update the documentation… This chain goes on and on. Eventually
you can unwind your to-do stack.
The informal term yak shaving has seven related
Carlin Vieri coined the term based on the plot of an episode of a Ren and
Stimpy animated cartoon. The characters prepare for a parody of Christmas called
Yak Shaving Day, where they extol ridiculous hallowed customs like filling their
boots with coleslaw.
- One of the fundamental properties of the universe, namely the way the time to
complete a simple task seems to grow without bounds because to accomplish the goal
you must complete a subgoal before you can complete the goal. But to complete the
subgoal, you must complete yet another sub goal, recursively.
- The last step of a series of recursive sub goals you need to accomplish before
you can finally accomplish what you set out to do.
- Any apparently useless, possibly non-recursive, activity which, by allowing you
to overcome intermediate difficulties, allows you to solve a larger problem.
- Stuck in the middle of a stack of stuff you're supposed to do? Sharpen your
wool clippers and stop getting distracted by the pointless activities which
surround any serious problem — unless you want to, that is.
- There’s a
Hole in the Bucket-style procrastination excuses.
- Engaging in pointless and silly but traditional activities.
- Collecting wool from yaks to create garments.