But yak shaving is fun

66 points by hoistbypetard 11 days ago on lobsters | 26 comments

That’s a highland cow, not a yak!

Loup-Vaillant | 10 days ago

What I have observed, in practice, is that "yak shaving" is quite often the right thing to do.

Of the shelf components easily fall into one of those two buckets:

  • Amazing fit to your problem, but it’s hard to find. Most of the time you don’t get to know there’s such a thing.
  • Popular one-size-fits-all, but it doesn’t solve your problem perfectly, or it’s bloated for what you need.

Assuming you’re a good programmer or team, whatever you rewrite will be about as high quality as the of-the-shelf component, if not better. And assuming your problem is specific enough, you’ll need to (re)write only a small fraction of it, and in many cases give it an bespoke API that’s better tailored to your need. Then there’s the cost of reaching for of-the-shelf components: evaluating, selecting, integrating, updating… even if the of-the-shelf component is free, often doing it yourself is even cheaper.

If you’re not a good programmer or team (and given the code I’ve seen at work, that is a depressingly likely possibility), the tradeoff will of course be very different. And there is a danger of overestimating your skills. It’s probably the reason why so many managers push back on any DIY or rewrite proposals: they don’t trust, or are not sure, that their team can pull it off. And of course, there’s a danger of under-estimating the team.

This is hell for high skill devs that enjoy actual programming: they’re easily underestimated by the managers, forced to work with suboptimal, even sub-par dependencies, which not only limits the value they can bring, but also makes them less happy, further tanking their productivity.

I relish every day I work under someone who has a clue.

It tickles me that the meandering style of the article, devoting paragraphs to each new topic, is an exercise in yak-shaving.

zipy124 | 10 days ago

Yak shaving is fun but requires that you set some level of recursion or effort that you stop upon reaching.

patryk | 10 days ago

do you mean I shouldn't learn how to do EUV litography?! /hj

oceanhaiyang | 10 days ago

Making up phrases that barely anyone uses then proceeding to use them as if everyone knows the term really irks me, Reddit users are particular good at this—constant quoting of so and so’s law

Found an MIT source for the term: https://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html

bendmorris | 10 days ago

There's always going to be that person that hasn't heard it but yak shaving is a pretty common expression in our field. Search and you'll find a ton of use.

The article starts by defining the term. Quite well I thought.

oceanhaiyang | 10 days ago

I agree it’s well defined. My phrasing did make it seem the other way around.

apromixately | 10 days ago

I can't believe nobody has said this yet. Yak shaving is a perfectly cromulent expression.

And, as the article points out, it embiggens the mind!

Isn't it fun to learn turns of phrase you didn't know before? It's not like this is a live, in-person conversation where you're at a disadvantage if you can't keep up real-time.

How does one ever expand one's horizon if one is never presented with anything that lies beyond it?

oceanhaiyang | 10 days ago

It is fun to learn.

My point about this phrase and all the random so-and-so’s law that frequently Redditors like to use is that they’re used so infrequently or aren’t actually a term in use that it feels more like people wanting to make them up just for the sake of making up a phrase.

For instance, what does this phrase add that getting sidetracked doesn’t?

Or what about going down the rabbit hole, is this not the exact same meaning?

Neither of those phrases require an essay to describe them because they’re in common usage and describe the same situation.

Just my thoughts, responding to the article.

David_Gerard | 10 days ago

As many other posters have noted already, this term is in wide use.

sjamaan | 10 days ago

Or what about going down the rabbit hole, is this not the exact same meaning?

Going down the rabbit hole is usually more reserved for an extremely deep dive into the topic you are working on, learning more than you expected or even intended to.

Yak shaving is for those side quests that appear completely unrelated to the topic at hand. "Getting side tracked" is probably close enough, but not nearly as fun of an expression.

To compare: yak shaving can involve going down a rabbit hole. For example, Knuth went down a rabbit hole when learning how to correctly draw the letter S as part of the massive yak shave he undertook to get his book printed the way he wanted to.

oceanhaiyang | 10 days ago

Going down the rabbit hole is usually more reserved for an extremely deep dive into the topic you are working on, learning more than you expected or even intended to.

This is what I was referencing: https://en.wikipedia.org/wiki/Down_the_rabbit_hole

"Down the rabbit hole" is an English-language idiom or trope which refers to getting deep into something, or ending up somewhere strange.

Yak shaving is for those side quests that appear completely unrelated to the topic at hand. "Getting side tracked" is probably close enough, but not nearly as fun of an expression.

I think that is the same definition.

I think there are two meanings though.

I think that is the same definition.

It is not.

oceanhaiyang | 10 days ago

or ending up somewhere strange.

I beg to dipper.

lproven | 10 days ago

I beg to dipper.

I think you mean "to differ".

And you are wrong: they are not the same thing.

Rabbit hole: doing deep research, probably needless.

Shaving yak: performing long and difficult task that was unnecessary and not beneficial, to you or to the object of the activity.

oceanhaiyang | 10 days ago

I beg to dipper.

I think you mean "to differ".

Now you're just being no fun :/

patryk | 10 days ago

it's like wide & deep - both are "big", but different axes

yak shaving is about lateral movement between topics and going down the rabbit hole is about vertical slice of topics - checking how something works under the hood (recursive)

For instance, what does this phrase add that getting sidetracked doesn’t?

Even if it weren't the case that the two are different: Flavor, nuance, color, human touch. Those are a few things the phrase might add.

Or what about going down the rabbit hole, is this not the exact same meaning?

No. Being sidetracked is not the same as going down a rabbit hole, and neither is the same as yak shaving.

I'll try to explain how at least I understand the three phrases:

  • Being sidetracked is when something lures you from the main topic at hand (for any reason).

  • A rabbit hole is when you dive into something that goes deeper than you would have thought.

  • Yak shaving is when a sub-problem of the problem you're trying to solve grows out of proportion compared to its seeming importance in relation to the bigger problem. A classical example is Knuth's decision to make TeX: he was working on his book, but none of the typesetting software available (typesetting being a relatively minor sub-problem of the problem of writing a book!) seemed to be of acceptable quality to him. So he wrote TeX. The proportionally "small" subtask of typesetting overtook the actual task of book authorship. To me, this is a very specific kind of being sidetracked (but the track is not actually on the side, it's right in the middle, but originally believed to be minor).

Neither of those phrases require an essay to describe them because they’re in common usage and describe the same situation.

Yak shaving is in common usage among the group of people whose interests overlap with the topics discussed on this site. This comment isn't mean to make you feel bad in any way – there's loads of terminology here that I don't know – just to point out that the statement is factually wrong.

A friendly piece of advice is to embrace the unknown :-)

what does this phrase add that getting sidetracked doesn’t?

Getting side-tracked implies to me that the person allowed themselves to be distracted by something marginally relevant and more fun than what they should be doing.

I think yak-shaving implies that the marginally relevant thing is some irritating obstacle that needs to be sorted out before you can return to the main quest. Like https://youtu.be/5W4NFcamRhM

It can be fun to decide, dammit I’m going to sort it out properly this time, and hopefully the result is satisfying. But it’s less fun when the obstacle is greasy and smelly and doesn’t want to be shaved.

Or what about going down the rabbit hole, is this not the exact same meaning?

The rabbit hole is the main quest, not a side quest. (I’m amused that we’re comparing metaphors from Ren & Stimpy and Lewis Carroll.)

fanf | 9 days ago

Here’s an example of a rabbit hole https://youtu.be/K-vIeA7yy6Q

JulianSildenLanglo | 10 days ago

oceanhaiyangs law: if an obscure phrase can be made, it's often made.

oceanhaiyang | 10 days ago

Oh no!