3 ms·
That's not really yak shaving, though. Yak shaving, to me, is where you want to make a small improvement to something or test something out. But you're not cu
by projektfu 3y ago
That's not really yak shaving, though. Yak shaving, to me, is where you want to make a small improvement to something or test something out. But you're not currently working on that part of the project, so you pull it out of source control. However, it doesn't compile on your machine, you don't have a dependent library. So you get the library but it's not compatible with some version of something else. Yadda yadda yadda.
Since 2005 there have been a lot of tools to avoid yak shaving, although some of them are easy and some present a lot of potential yaks to shave if you're not already using them. For example, venv+pip+pinned versions is a good solution in python, and relatively easy to use. Docker is great if you're skilled with it but for a new user, it is basically yak shaving to get used to it. Nix could potentially eliminate a lot of yak shaving but also has a learning curve. Vagrant was/is useful for spinning up development machines that match production, especially if you're not super skilled in containers or not using them in production.
I find a lot of yak shaving in the Javascript ecosystem, and also when there is some third-party API or scripting language is involved. ETL is usually like this as well. As a casual programmer, this is the stuff that makes programming unfun and intimidating.