Discussion about this post

User's avatar
Chris Samp's avatar

Nice, and accurate if a bit overtechnicalized.

Yak shaving has to me a dimension of having to find esoteric components to make a solution work - eye of newt, hair of yak beard - but it isn’t something one really wants to do. One does it because backing away means you have to climb way down the solution. Like, “Let’s use this new database because it is so fast!” And then after you’ve built code in dev, you realize it needs some oddball file system type on an obscure OS. You would have avoided the whole thing and just used Postgres if you realized this in the beginning, but maybe it just is worth it to get a razor, put on your boots and go find a yak. Maybe you are thinking of Bikeshedding?

“It works on my machine” might fit in here, where bugs are created / become evident when you try to deploy elsewhere. Cloud native dev goes a long way in solving this - the paradigm being, I can trust nothing so for every build I will start at the barest possible abstraction and build everything, every time.

The Linux “all bugs are shallow given enough eyeballs” is contra the principle of limiting debugging team size to retain context, although it seems to rely on the serendipity of finding the exact one person out of millions who actually has intimate experience with the thing.

Does one of the fancy-named debug techniques map to the old, delete all the code you wrote since last known good and add it back line by line until it breaks, technique?

No posts

Ready for more?