“Yak shaving”. It is, at base, an opprobrious term but with a touch of indulgence and humor. Sort of like “rascal”: naughty, yes, but lovably so. It’s clear why yak shaving has a bad reputation. It’s a distraction from what we’re supposed to be doing. It is, really, a form of procrastination.
Procrastination, distraction, not doing what you’re supposed to be doing. Not notions we associate with Donald Knuth, arguably the apotheosis of their opposite. Yet, yakshav.es makes the case that Knuth is yak shaving’s patron saint. To support that claim, they tell the familiar story of how in the middle of writing The Art of Computer Programming, his (self described) life’s work, Knuth noticed that hot type typesetting was no longer available to print Volume 2 of the series and that the alternatives looked terrible. So Knuth took 11 years off to build his own typesetting system. In the middle of building TeX, he noticed that there no free fonts to use with TeX so he undertook a side project to build the Computer Modern font set. In the middle of building the Computer Modern Font, he noticed that there was no way of programmatically specifying a character in a font set so he invented Metafont. And on and on. See the post for the more comprehensive version.
Building TeX is the very definition of yak shaving. A seemingly infinite recursion of side projects in service of the main goal. The yakshav.es post made me reappraise yak shaving. It’s not always a bad thing. Sure, it can delay the main goal but great things can come from it. TeX revolutionized typesetting and the preparation of technical documents. Its influence is felt well outside Computer Science. Some might argue that TeX’s influence exceeds that of TAOCP. Whether you believe that or not, there’s no denying that TeX’s importance is profound, especially for an instance of yak shaving.