Short Thoughts on Computers and Programming
datagubbe.se
datagubbe.se
This is the most important of the items in the list. The "upgrade or you're unclean" ethos has some very deep roots.
It goes all the way down to the security model of our operating systems. It was perfectly reasonable to assume that a user knew what they were doing with their own files back in the days when Unix was written. That wasn't assumed in the world of mainframes, which were designed to multiplex hardware across tens, hundreds, or even thousands of jobs.
In mainframes, your job is explicitly given resources to use and a run time environment. No matter what went wrong, a job run for Acme Inc couldn't corrupt the files of Bob's Distributor.
We don't have that... we've been lead to believe that we just have to be pure enough, our code has to be perfect enough, and defect free, in order to have safety. We blame everything except the OS, mostly because we don't want to cast doubt on the wisdom of Linus, and the sanctity of Linux.
We recreate the mainframe model, over and over, in part, not in whole. I'll paraphrase Greenspun's 10th rule[1]
Any sufficiently popular computing environment contains an ad hoc, informally-specified, bug-ridden, slow implementation of capability based security.
That's why we have Virtual Machines, Containers, and now WASM... which I hope actually manages to fend off the stupidity of letting an application decide which files to access.We need to make better choices. Legacies are a choice, lots of old stuff is tossed by kids all the time, the legacies are the good things kept from the past. Keeping legacies alive is a choice.
Why single out Linux here? Every Unix fits this (except maybe SELinux). And then, does Windows also fit here?
Seldom changing the defaults is like being at home in many places.
Perhaps this is one of the reasons retro is seeing such a resurgence (pun intended) these days.
The future was better in the past. The past will be better in the future.
I do not understand this. I know what "affordable" means and that it must be a word play, but I have no idea what the other meaning could be.
So yes, I think you're right that it's a word-play between the UI design concept and the cost of implementation concept.
formal - to allow someone to have something pleasant or necessary: * The hut afforded little protection from the elements. * Her seat afforded her an uninterrupted view of the stage.
Well, maybe obliviousness is.
More likely we will all get sore throats talking at computers before this happens...
I’m curious if this was an intentional pun? I thought maybe in addition to moving now and then, it’s subtly suggesting to write low-level code? Having taken a recent career trajectory from high level code to assembly & hardware, I’m being exposed to reasons why practicing some bit-level hacking is good for my understanding of how the machine works. Maybe that wasn’t the intent here and I’m seeing faces in the clouds. :P
What ?
Maintaining an ideal set of defaults is like trying to arrange your favorite lamp and flower vases in every hotel room where your job requires you to spend the night.
What are any others examples? Killing people?