DEV Community

Cover image for Shaving the Yak
Sung M. Kim
Sung M. Kim

Posted on β€’ Edited on

21 3

Yak Shaving Shaving the Yak

I learned a new term, Shaving the Yak today.
This has come to me as a such a surprise that I'd like to share it.

What does "Yak Shaving" mean❓

It's basically when you end up doing things totally unrelated to what you were trying to accomplish initially.

Here is a great illustration.

Hal was to replace a light bulb πŸ’‘ but a series of events led him to fix his car πŸš— πŸ˜†.

πŸ™‹ My Experience

As a new comer to ASP.NET Core, I've been trying to create a simple website displaying Calendar.
➑️ Then I thought that I can use a SPA template to generate the calendar dynamically.
➑️ I wanted to use ES6 syntax so looked at Webpack 4 configuration options.
➑️ Thought it was too complicated so looked for an alternative.
➑️ Found RollUp, which was better for library.
➑️ RollUp tutorials were out of date.
➑️ Create a GitHub issue reporting tutorial was out of date.
➑️ Ended up creating an NPM package for generating calendar dates.

I wanted to learn ASP.NET Core but ended up publishing an NPM package.
I wasn't able to accomplish what I set out to do initially.

What can you do about it❓

Create a plan and stick to it and refer to the plan constantly.
Just knowing about this concept will help you stay alert of what you are currently doing.

Now the question is, have you guys been shaving the yak lately?
If so, would you share your experience?

πŸ“š Resources

Playwright CLI Flags Tutorial

5 Playwright CLI Flags That Will Transform Your Testing Workflow

  • --last-failed: Zero in on just the tests that failed in your previous run
  • --only-changed: Test only the spec files you've modified in git
  • --repeat-each: Run tests multiple times to catch flaky behavior before it reaches production
  • --forbid-only: Prevent accidental test.only commits from breaking your CI pipeline
  • --ui --headed --workers 1: Debug visually with browser windows and sequential test execution

Learn how these powerful command-line options can save you time, strengthen your test suite, and streamline your Playwright testing experience. Practical examples included!

Watch Video πŸ“ΉοΈ

Top comments (10)

Collapse
 
harry_wood profile image
Harry Wood β€’

There's a version of the "Yak Shaving" explanation involving woolly jumpers, but it seemed to be missing from the internet, so I just blogged about it here: harrywood.co.uk/blog/2018/04/16/ya...

Collapse
 
dance2die profile image
Sung M. Kim β€’

That was fun to read, Harry.
A jumper ... to shaving a yak.

The steps leading to shaving a yak sounds probable πŸ˜†.

And that video is a bit too trippy for my taste, as well πŸ˜….

Collapse
 
catriname profile image
catrina β€’ β€’ Edited

i can't fault you, though! as a newcomer to .net core myself, it's so fascinating to run off into a new path.. for me its: what new JS framework!? non relational dbs??? hot new cross-platform mobile options?!!

the hard part is sticking to fundamentals and building that base.. stop shaving the yak? :)

Collapse
 
dance2die profile image
Sung M. Kim β€’

the hard part is sticking to fundamentals and building that base.

I totally agree with you πŸ‘.

I believe Kyle Simpson mentioned that you have to build your fundamental skills before diving into JS frameworks (forgot where he said it) as having a solid JavaScript fundamental concept would prepare you to learn myriads of frameworks easily.

Collapse
 
dvdmuckle profile image
David Muckle β€’

This reminds me of one of my favorite stories, that of Donald Knuth and his infamous series of books. TL,DR, he invented TeX just to typeset his own books, as well as all the little pieces that went into TeX and typesetting his books, such as a font and layout algorithm. The whole story is amazing. yakshav.es/the-patron-saint-of-yak...

Collapse
 
dance2die profile image
Sung M. Kim β€’

Wow. The story is quite interesting.
Yak Shaving has its benefits to the world after all if done well as Donald Knuth did :)

Collapse
 
thejoezack profile image
Joe Zack β€’

I'm all too familiar!

Collapse
 
dance2die profile image
Sung M. Kim β€’

I knew I wasn't the only one having this problem :)

Collapse
 
buinauskas profile image
Evaldas Buinauskas β€’

Totally can relate to it.

Collapse
 
dance2die profile image
Sung M. Kim β€’

I wasn't aware this was prevalent πŸ˜†

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

πŸ‘‹ Kindness is contagious

Please show some love ❀️ or share a kind word in the comments if you found this useful!

Got it!