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.
Speaking of things that I don’t buy. Metaphorically yesterday this site would gatekeep over enjoying the process of coding itself. People who merely programmed for a 200KUSD paycheck, pphew, disgusting.
Made a post about how you learned to touch type? Or improved something keyboard-related? “I don’t think that typing code was ever the bottlenck”.[1] Now we’re supposed to be grateful for non-deterministic code completion, ah it saves us millions of keystrokes a year.
Some will cry Goomba Fallacy. Yeah of course. Could be that many lurker accounts started posting more, displacing the gatekeeper typist hackers. Now it’s all of a sudden an even split. Huh.
The OP was not about AI. But thankfully there was a top-level meta comment to drag us down into that pit.
[1] The non sequitur of it all is a separate topic
I wonder if there ever has been a person who wanted yak hair, and had a hairy yak in the backyard, but though "I don't want to engage in yak shaving, I'll buy prepackages yak hair from Steppe Depo."
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.
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.
This is one of the reasons I’ve never liked the aphorism "make it work, make it right, make it fast." By the time you get to the last point, say, having used Electron to build your graphing calculator, it is far too late to magically make it fast, like trying to make a Boeing 787 into a Cessna.
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!
I wonder, how well does Yak-Shaving work for you with AI, how does it look for you specifically and how do you make sure it's not undermining the friction for learning things properly? I want to try some more yak-shaving soon too.
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
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.
Internet Search Thing now tells me sable (for soft brushes) and hog hair (for wire-like brushes) is the best hair for this purpose. Oxen occasionally show up. Yaks nowhere to be found.
Coincidentally, this is also the first time I'm hearing about sable.
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.
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.
61 comments
[ 3.2 ms ] story [ 80.1 ms ] threadMade a post about how you learned to touch type? Or improved something keyboard-related? “I don’t think that typing code was ever the bottlenck”.[1] Now we’re supposed to be grateful for non-deterministic code completion, ah it saves us millions of keystrokes a year.
Some will cry Goomba Fallacy. Yeah of course. Could be that many lurker accounts started posting more, displacing the gatekeeper typist hackers. Now it’s all of a sudden an even split. Huh.
The OP was not about AI. But thankfully there was a top-level meta comment to drag us down into that pit.
[1] The non sequitur of it all is a separate topic
https://youtube.com/shorts/kSJgLA1frS4?is=2RA7C0EDEe7Mg8Fp
https://www.ulaandlia.com/collections/mongolian-baby-yak-woo...
Oh wait, you meant figuratively!
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.
Hardly scientific but I took one of those online tests and it said I was not, but it wouldn’t surprise me if I am at least a little on the spectrum.
Upside: Only the features you actually need. Likely fewer dependencies. You know exactly what your yak looks like under the fur.
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
They are yakocryphal. A real yakrilege to spread such nonsense.
- 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
Coincidentally, this is also the first time I'm hearing about sable.
I added plugins this year which made it really powerful and allows me to keep the core small.
[1] https://github.com/yakkomajuri/teeny
I needed pandoc, but the internet and electricity were both out, so I built my own in a race against my dying ebay laptop battery.
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.
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