The joy of yak shavingThe act of shipping software is often hindered by Yak shaving. A fix splinters out into several items, which in turn splinter out into several more items each. It is important to exercise caution of this happening, and chop off the tail when necessary.
In personal projects, however, I have found aspects of Yak shaving to be some of the most illuminating parts of programming.
Take this blog for instance. I could have just set up Mediawiki for myself. If What I wish this to be were truly limited to just getting words on the web, I would have done so. But I wanted to write code in addition to writing words.
So I have found myself doing work that is explicitly not related to getting words in front of people. Building an extension maybe helped me get these words out more quickly, but in reality most of the joy came from learning something new. Hello, next! in the end is responsible for you seeing these words right now, but it was not necessary. I could have written my posts as plain ol' HTML(tm).
And it's all very fun! A "simple" project (glorified static site generation) can become a beautiful problem that exposes me to different tools and the frameworks, the amount of which is limited only to wear I draw the line.