Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- My dotfiles in a nutshell.
- I want to add a shell function that invoked Claude in a VM via Lima using API keys stored in 1Pass
- But that means I need a way of templating the YAML file that will define Claude's VM and a reliable way of syncing state between it and my machine
- I could use a templating language like Jinja or Starlark, but that's another dependency for a relatively simple job
- Also, what if I want to use Pi or opencode someday?
- So I spent more time than I care to admit hacking a Bash function that replaces template variables in Lima YAML files that doesn't throw a cow when you throw in single or double quotes.
(I got my Claude VM function thing working, and it works really well!)
by nunez - > and a reliable way of syncing state between it and my machine
What was your solution for this? Keeping hosts reliably synced across the network is a perpetual source of frustration for me.
by fc417fc802 - I can do a LOT more yak shaving on personal projects now. I still haven't managed to finish anything though.by spelunker
- This so much.by cryptonector
- The fact that programmers can be nerd sniped into yak shaving some random libraries is the only thing that keeps Open Source running.by zby
- Does not really feel accurate to how yak shaving was to me.
Yak shaving, as I experienced it - is when nothing works unless you do something else first, and something else needs it too.
I need to fix a bug, but I have to reproduce it first. I cannot reproduce it, because there is an entire other bug that prevents me from doing it. So I have to take the other route. But the other route does not work because the infrastructure is busted, and there's a problem on the server. To get the server to work, I need to contact John. But I need to do it through the ticket filing system and it is not behaving well today, so I need to find a workaround first. And after getting the ticket filing system to work I'm finding that John is not on the job today, because he took PTO. But some say Jim might help me. Jim is just some guy, he is in the other depratment, and I cannot get to him through the ticket system. And so I send an email to Jim, but Jim is not responding. And I need to find him physically in the building. So I need to know where his desk is. And there's an entire other system to find where Jim's desk is and I don't have the authorization to use it. So apply for the authorization and wait a bit. And then I learn where Jim's desk is, and then I go there and it is empty.
by slovenlich - This is exactly yak shaving as well.
The Urban Dictionary [1] defines it as: "Any seemingly pointless activity which is actually necessary to solve a problem which solves a problem which, several levels of recursion later, solves the real problem you're working on."
So it is a perfect fit for what you described.
[1] https://www.urbandictionary.com/define.php?term=yak+shaving
by taffit - That's not yak shaving that's just how working on a complex system that has technical debt is.by fc417fc802
- 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.
by jihadjihad - 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.by dan_sbl
- In my experience it's not as simple and depends on a whole lot of circumstances: generally I am interested to learn and to build. Give me pressure through dysfunctional processes, understaffed teams, unrealistic standards, too strong peer opinions- etc - and I'll happily reach for the shortest path.by _def
- i think what's really splitting it might actually be differing levels of slop tolerance.by pydry
- It seems like the PM and SWE impetus is at oddsby iwontberude
- 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
by keybored - I’d argue most businesses have had their start through yak shaving.
I’ve found that the overuse of AI papers over a lot of problems. Then if things start failing people have no idea where or what to start fixing. I’m very much a destination person, but I’ve been on enough rides which crashed and burned to be cautious about it.
by Bukhmanizer - Riding horseback saves time over walking but it's harder to smell the roses along the way. Nevertheless, millions now ride horses recreationally.by gavmor
- It makes me of the difference between the indie developer who labored over Stardew Valley vs. (for example) Square Enix putting out a farming sim because their committee of suits decided they wanted revenue from that genre.
- They are different things. There are projects where I deeply care about the code, and projects where I deeply care about the end result. And a whole lot in between, or that are entirely throwaway.
But I use AI also for some of the ones where I deeply care about the code, now. E.g. my terminal is in Ruby, and it worked well enough, but over the last couple of days I had Claude put together a test harness and burn down a number of sharp corners and refactor the code. It's not perfect still, but it's cleaner than it was because I didn't have time to do enough yak shaving myself. I do care about that codebase, because I have other things I want to use it for, and not having to do it all manually gave me enough time to get it to a far better state.
I feel like a lot of the split comes from people who are a whole lot less overcommitted. If you have way too many projects, you pick and choose which projects you want to lovingly care for and which ones you just want to advance the functionality of as fast as possible. Sometimes those are one and the same at different times.
by vidarh - My favourite Yak from Malcolm in the middle.by kown7
- I’ll never not watch this when it’s postedby jbonatakis
- (Non short video format - https://youtu.be/AbSehcT19u0 ... When in the office I had a QR code of that so people could scan it and understand what I was working on)by shagie
- 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.by monocultured
- Call it a pivot and away you go!
Stewart Butterfield shaved the shit out of two yaks at his video games company, which eventually became Flickr and Slack.
by beAbU - 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.
by tombert - Are you Autistic per chance?by benj111
- 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.by danielrmay
- Agreed. (Controlled) yak shaving is a requirement for juniors IMOby nunez
- 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.by argee
- 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!by thimabi
- 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.by flawn