mikewarot 3 years ago

>Continuing a legacy is an honorable task, except in programming.

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.

[1] https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule

  • AnimalMuppet 3 years ago

    > 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.

    Why single out Linux here? Every Unix fits this (except maybe SELinux). And then, does Windows also fit here?

    • mikewarot 3 years ago

      Because we're mostly Linux users, but yeah, Windows, MacOS, SELinux all suck.

watashiato 3 years ago

> Never changing the defaults is like living in a motel your whole life.

Seldom changing the defaults is like being at home in many places.

CrLf 3 years ago

"The future was better in the past."

Perhaps this is one of the reasons retro is seeing such a resurgence (pun intended) these days.

  • Joker_vD 3 years ago

    Not to mention that in the future the past too will be better.

    • possiblydrunk 3 years ago

      Nice! I love the symmetry in:

      The future was better in the past. The past will be better in the future.

jansan 3 years ago

"Affordances are so called because many contemporary UI designers have deemed them too expensive."

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.

  • signaturefish 3 years ago

    "Affordances" are a UI design concept - they're things that the design of an object makes you think you can do with that object, if that makes sense. In this context, door handles afford being pulled (because they stick out of the door and you want to pull the door, so you pull the handle), buttons afford being pressed (because they are small, often labelled with a function, and project above the surface they're embedded in), etc.

    So yes, I think you're right that it's a word-play between the UI design concept and the cost of implementation concept.

    • Joker_vD 3 years ago

      And in the modern UI, all those small "hints" at how the interface can be used are being steadily removed: links, buttons, text fields, etc. all pretend to be static text.

  • omeysalvi 3 years ago

    Given that affordances is defined as "the quality or property of an object that defines its possible uses or makes clear how it can or should be used," I think it refers to how modern UI designers obfuscate the entire power of a system behind easy to use functionality that is aimed at mostly non-technical users, leaving those who have the capability to mold it to their preferences and customize it at a disadvantage. I guess affordability is then a word play on affordances.

tonetheman 3 years ago

Write your code like you will need to debug it at 2:00 am drunk

cafard 3 years ago

"Hypocrisy is taking pride in Unix shell scripts kept since the 1990:s while scoffing at banks running Cobol."

Well, maybe obliviousness is.

einpoklum 3 years ago

> In the future, when computers are at long last voice controlled, open office floor plans will finally disappear.

More likely we will all get sore throats talking at computers before this happens...

dahart 3 years ago

> It's important to consider ergonomics in sedentary jobs: every now and then, programmers should shift a bit.

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

  • UncleOxidant 3 years ago

    Yes, I'm sure it was intentional. I guess the sad part is that fewer programmers will get this pun now vs in the past.

ruslan 3 years ago

"The mouse is a much faster input device than the keyboard: the latter is almost always stationary."

What ?

  • reportgunner 3 years ago

    Keyboard doesn't move.

    • ruslan 3 years ago

      It depends on how fast you type. Mine moves, sometimes. ;)

  • benj111 3 years ago

    Read it again. Slowly....

    • ruslan 3 years ago

      The whole article must be a very subtle humor which I did not recognize at first.

everybodyknows 3 years ago

> Never changing the defaults is like living in a motel your whole life.

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.

revskill 3 years ago

(Fix) bugs is more important than adding (new) features.

enahs-sf 3 years ago

Love the domain name. Gave me a chuckle.

eimrine 3 years ago

> Programming is one of the few crafts that will only make you dirty on the inside.

What are any others examples? Killing people?