← Back to news

But yak shaving is fun (2019)

parksb.github.io|232 points|70 comments|by parksb|Jun 16, 2026

But Yak Shaving is Fun (2019)

By Simon Park (박성범)
Date: 2019.07.31 | Language: KO | EN


The Rabbit Hole of Customization

This blog is unique in that it avoids the use of any standard static site generators or frameworks. You won't find Jekyll, Hugo, or Gatsby here.

Initially, I experimented with those tools, but I found they offered too much structure too little freedom for the level of customization I desired. Consequently, I chose to construct the site from the ground up. My journey followed a recursive path of increasing complexity:

What Exactly is "Yak Shaving"?

The phrase was first coined by Carlin Vieri, a PhD student at the MIT AI Lab. It describes a specific phenomenon: embarking on a sequence of interdependent tasks to achieve a primary goal, only to find yourself working on something entirely unrelated to the original objective.

Examples of the Phenomenon

SourceThe GoalThe "Yak Shaving" Chain
LangDev IRCChop woodAxe is dull \rightarrow Need a sharpening stone \rightarrow ...
Seth GodinWash the carGo to Home Depot \rightarrow Cross Tappan Zee Bridge \rightarrow Borrow neighbor's E-ZPass \rightarrow Neighbor wants pillow back \rightarrow Pillow is full of yak hair \rightarrow Shave a yak

"And so, just to wash the car, I end up at the zoo shaving a yak."

The Surreal Origin Story

While the term is now common in tech, its roots are surprisingly absurd. Vieri was eating a late-night meal after a hockey game while watching The Ren & Stimpy Show. In a particularly bizarre episode titled "Yak Shaving Day," the characters:

  • Decorate their home with dirty diapers and boot-filled coleslaw.
  • Leave shaving cream and a razor on the sink.
  • Pray for a shaved yak to arrive via a magic kayak with gifts.

In the end, a yak emerges from the drain, shaves itself, and leaves behind only the "scum" of the shaving cream. Vieri later applied this phrase to the tedious administrative "chores" (DHL accounts, permissions, post office trips) he faced during an all-nighter.

Yak Shaving Concept

The Engineer's Dilemma: Build vs. Buy

In professional software engineering, "building from scratch" is often viewed as a mistake. This happens when:

  • An engineer wants to showcase their technical prowess.
  • A developer dislikes the limitations of off-the-shelf software.
  • A manager underestimates the capabilities of existing solutions.

Because most projects operate under strict constraints of time and budget, starting from zero often leads to an endless cycle of yak shaving. In these scenarios, the pragmatic choice is to find a "good enough" alternative and minimize the scope of work.

The Irresistible Allure of Creation

Despite the risks, the drive to build is powerful. Even for non-engineers, the prospect of creating a bespoke solution is intoxicating. The joy of programming stems from:

  1. The pure pleasure of making things.
  2. The puzzle-solving aspect: Creating a complex system of interlocking parts and watching the logic unfold.
  3. The flexibility of the medium.

Case Study: Donald Knuth and TeX\TeX

A legendary example of "productive" yak shaving is Donald Knuth's creation of TeX\TeX. When preparing the second edition of The Art of Computer Programming, Knuth found that "hot type" was obsolete and digital alternatives were subpar.

To solve this, he didn't just find a new printer; he built an entire ecosystem. For instance, TeX\TeX allows for the elegant rendering of mathematical formulas. If you input:

-b \pm \sqrt{b^2 - 4ac} \over 2a

It renders as the quadratic formula: b±b24ac2a\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

The TeX\TeX Dependency Chain

Knuth's journey was the ultimate yak shave: to write a book, he created a programming language, a new paradigm, a line-breaking algorithm, typesetting tools, and a typeface.

The result? TeX\TeX took nearly a decade to complete, and the book's publication was delayed accordingly. Of course...