logoalt Hacker News

But yak shaving is fun (2019)

173 pointsby parksbtoday at 2:26 PM47 commentsview on HN

Comments

chaoticmasstoday at 8:28 PM

When I was in highschool I started writing a game in Qbasic. Along the way, I wanted it to have a console (like Quake) where you could enter commands and modify the game as you were running it. This lead me to create a scripting engine in Qbasic, and long story short, I’ve been on a yak shaving epic quest now for almost 30 years now. No game, but I have a hybrid C / Lua game engine/general purpose application platform. Still tinkering and still no end in sight. I’m having fun though!

show 1 reply
monoculturedtoday at 6:18 PM

I was taken by Christopher Priests book The Extremes and sat down to write a blog post about what compelled me so much about it, and wanted to add some gifs to it. In particular the "deja vu" scene from The Matrix, but I couldn't find it, and I no longer have an old version of Photoshop around to create the gif myself, and three weeks (and many tokens later) I'm finishing up an xcode MacOS native app that is dedicated to generating gifs. I've still not written the blog post.

show 1 reply
thimabitoday at 5:55 PM

I always liked yak shaving, but avoided it because I knew it came with costs and tradeoffs. More recently, with the help of AI, I’ve been doing lots of it, as the costs and tradeoffs have greatly diminished. In fact, I’ve learned that building my own tools and frameworks, when done properly, comes with huge performance benefits and helps me understand the problems I’m trying to solve much more deeply. There has never been a better time for yak shaving!

show 2 replies
danielrmaytoday at 5:43 PM

Yak-shaving-shaming puts limits on the creativity of talented engineers by constraining them to existing patterns and practices or building on top of abstractions, and practically, that results in engineers and teams with less breadth. In an applied software world that's exploded in framework and library complexity in recent years, I think there are always going to be yaks in dire need of a shave.

tomberttoday at 5:25 PM

Tangential but it's a story that I find funny.

At a previous job, my coworkers coined the term "Thomasing" [1], referring to me, as "the act of having a question explained so thoroughly, detailed, and long-winded that the asker has lost interest in the question that they were asking".

I thought it was pretty funny, because that does basically describe me in a nutshell.

[1] Lovingly, it was a good, fairly-tight-knit group, they weren't being jerks. We all did lighthearted ribbing.

kown7today at 4:49 PM

My favourite Yak from Malcolm in the middle.

https://youtube.com/shorts/kSJgLA1frS4?is=2RA7C0EDEe7Mg8Fp

show 2 replies
Xirdustoday at 8:56 PM

> This blog doesn’t use a static site generator or framework like Jekyll, Hugo, or Gatsby.

I guess that's why the blog name stays on screen and covers the text when I scroll down, with fully transparent background so it doesn't even cover the article text, it blends with it which distracts my eyes a little too much. If it was any other blog post I'd be certain it's a bug, but here I'm not sure if it isn't intentional, and one of those customization a ready-made software wouldn't let them do.

dan_sbltoday at 4:37 PM

This feels like what is really splitting the programming community right now- those that have typically enjoyed the journey, and those that just want to be at the destination as soon as possible.

show 6 replies
zbytoday at 5:26 PM

The fact that programmers can be nerd sniped into yak shaving some random libraries is the only thing that keeps Open Source running.

jihadjihadtoday at 6:46 PM

OT, but the image in TFA is not of a yak, but Highland cattle [0].

Yaks [1] have a shoulder hump you can't miss.

0: https://en.wikipedia.org/wiki/Highland_cattle

1: https://en.wikipedia.org/wiki/Yak

spelunkertoday at 4:44 PM

I can do a LOT more yak shaving on personal projects now. I still haven't managed to finish anything though.

show 1 reply
yakkomajuritoday at 6:56 PM

I love this. My very own static site generator, Teeny [1], is going on five years now. It's 350 lines of hand-written JS and has powered all my blogs and personal websites for years. It currently powers https://yakko.dev.

I added plugins this year which made it really powerful and allows me to keep the core small.

[1] https://github.com/yakkomajuri/teeny

show 1 reply
pyrolisticaltoday at 8:28 PM

I’ve been yak shaving the interfaces not the implementation.

I used ai to convert c headers into in nice zig code. Then I link to the library.

It’s cheap to use zig translate-c to convert c headers but the output isn’t nice.

You can give ai c++ source which usually has more documentation than the compromised flat c header. It allows you to do a better zig port. Zig greatly cuts down the noise in c headers as everything needs to have long prefix for namespacing. But in zig we can just nest things properly.

We can introduce intermediate layers to use proper tagged unions and distinguish ?T, *T, [*]T

bigfishrunningtoday at 4:36 PM

Good article, I even remember the Yak Shaving Day episode of Ren and Stimpy but never made the connection with the slang term

cayceptoday at 6:01 PM

Gen Z calls this "side questing" now...

show 1 reply
oooyaytoday at 7:23 PM

As in most things I think it's a mixture of quantity and set and setting.

I enjoy a yak, but right sizing my yak is pretty important to my enjoyment of it. Maybe the yak doesn't get a full shave but gets a trendy hair cut, and that's okay.

I leave my yaks at home when I go to other engineers decision meetings, project kickoffs, or RFCs.

jemiluv8today at 5:58 PM

Glad you gave yak-shaving a proper definition. I was always annoyed at my boss for insisting on a particular arrangement of import statements in typescript files. For him, it was a way of telling us to be more mindful of the code we typed. But mostly I’d have preferred a simple eslint config with autofix on save. This kinda yak shaving is no fun - trust me

dblohm7today at 7:24 PM

Yak shaving is only fun when you don't have managers who don't care about the circumstances breathing down your neck.

show 1 reply
zemtoday at 6:56 PM

the version I learnt the phrase from had the end of the chain as

- oh we should paint it

- we need a paintbrush

- I hear yak hair makes the best paintbrushes

- here I am, shaving a yak

made more sense than the examples given in the op

show 2 replies
kazinatortoday at 6:47 PM

> Both stories came after the term yak shaving was coined

They are yakocryphal. A real yakrilege to spread such nonsense.

dance2dietoday at 8:45 PM

Living like Leornado Da Vinci.

hippopotenusetoday at 5:07 PM

... but it's a highland cow

Cider9986today at 5:53 PM

That is a beautiful animal.

show 1 reply
wizardforhiretoday at 7:55 PM

Maybe the most beautiful examples of the joy and importance of yak shaving that I’ve ever come across is inheritance machining on youtube. [1]

But truthfully part of the process of creating in general is yak shaving… as is so often said “trust the process”.

Arguably, the entire concept of tech debt is owed to the lack of yak shaving.

[1] https://youtube.com/@InheritanceMachining

DonHopkinstoday at 5:44 PM

So is breeding hairier and hairier yaks!

mystralinetoday at 4:50 PM

If you shave a yak, you get yak hair. And this material is like $35 a skein!

https://www.ulaandlia.com/collections/mongolian-baby-yak-woo...

Oh wait, you meant figuratively!

qzgrid37today at 6:30 PM

[dead]