Comment by Dalewyn
2 years ago
Tools exist to serve its user, and so long as a tool keeps working there's no reason to replace it. In real life this is how tools are. You own a screwdriver and you use it until one day it breaks, and then you go and buy a new screwdriver just like your old one.
This is fundamentally different from the nature of computer software, which can completely change in scope and function from one version to another and introduce changes that "break" something for no good reason as far as the user is concerned.
Imagine for a moment if you will: You use your screwdriver everyday, but one day the handle suddenly changes to something completely new and the shaft falls out because the handle uses a new way of fastening the shaft.
You are told by the manufacturer to come in and have it replaced with the newest model, or if they're not so gracious they tell you to come in and buy the newest model.
And for what reason? The screwdriver was working fine until yesterday. You hate this, because as just a simple user there's no good reason the screwdriver suddenly changed itself. Whether you get it replaced or buy a new one, you're wasting time and even money.
You then realize, one way or another, you can just tell your screwdriver that it cannot change without your assent. Ever. You want, perhaps need your screwdriver to work everyday, so you tell it to never change. The manufacturer keeps changing their screwdriver, but yours never changes and it keeps working.
One day though, the screwdriver finally breaks and you need a new one. So you go and buy a new screwdriver. Except it's completely different. And completely incompatible with the rest of your workshop, and all the tools inside which you likewise told to never change.
Why is the computer world so fucking shit?
I don't disagree with the tool part and the article is about Apple breaking grep, so fair enough.
My point is that this mostly doesn't happen, yet some people manages to build workflows that for one reason or another gets locked to specific versions of an OS. In my experience that's actually pretty hard to do. The only obvious examples I can think of is the Python 3 migration (which is perhaps why that took years longer than it should have) and certain security related issues.
Maybe it's due to the way some think about computers, maybe it's just bad luck, maybe computers just never change that dramatically for the tooling I use. From the outside it just looks like people go out of their way to lock themselves in, in ways the developers and engineers never imagined or advised.
I love to know more precisely what it is that keeps breaking in the case of this astrophysicist, because I'm betting it's not Emacs. Realistically it's one or more highly specialized programs which has been poorly written and/or packaged badly, if packaged at all.
Perhaps this is not true for the astrophysicist, but my general experience with the systems of people who experience frequent upgrade-induced-breakage is that they change the system rather than working within it. Switch out things. Switch BSD utilities for GNU equivalents at the system level. Change the configuration of OS services that were never designed to be changed. Do simple looking, but actually really invasive, ‘QOL’ hacks that they found on StackOverflow and the like.
macOS’s SIP is designed to combat malware - but it’s also designed to stop people shooting themselves in the foot by doing things like this.
Note that I’m not trying to make the argument that modifying your system should be _impossible_ to do - I’m sure someone will cry out about ‘software freedom’ - but I do think that some people do it without understanding the consequences.
Generally, it’s possible to customize your user environment without delving into OS internals. To a large degree, even - for example, on Mac Homebrew has, in recent years at least, become very good at this. And my experience, at least, is that if you don’t mess with the underlying _system_, OS upgrades proceed smoothly.
Screwdrivers are extremely simple. Computers are extremely complex and subject to complex environments. I'm not sure this is a fair analogy.
Then that's an argument to make computers simpler.
A tool that keeps spontaneously changing under its user's feet is not a particularly useful tool.
I bet screwdrivers and similar tools would have to change more often if the laws of physics changed out from under them.
1 reply →