The case for Nushell, https://www.jntrnr.com/case-for-nushell/.

Relevant article about shells, and how Nushell pushes the boundaries further. I highly recommend reading it.

#shell #nushell

The case for Nushell

Sophia June Turner

@hywan @Keltounet Question: "can the state of shells be improved enough to overcome the inertia of sticking to what you know?"

This is the wrong question. It presupposes zero cost of transition, while the cognitive workload of learning a new shell rises exponentially with age (hint: I'm nearly 60, shells are harder to adapt to than a new GUI). Stability and continuity are essential prerequisites to productivity!

@cstross @hywan we could say the same for languages, both in real life and computing. I'm 56 and enjoying learning both Rust and Japanese 😅

And looking into nutshell too.

@Keltounet @hywan Computing is not my job. It hasn't been my job for over two decades. Time spent learning a new shell or thinking about computers is time *wasted* from the non-compsci point of view.

Thing is, the question about the utility of switching to a new shell has embedded ideological assumptions that implicitly privilege computing over applications. To 99% of the world applications of computing are the priority; the machines and software are just an annoying drag on getting stuff done.

@cstross @hywan I see your point 😁 I'm a lower level kind of guy anyway
@Keltounet @hywan There's a deeper point: the past 70 years of computing have focussed on a spurious vision of progress that forgets to consider the utility of a stable platform. Operating systems in particular are driven by commercial goals (sell more software! Get more Linux desktops out there!) that are actively inimical to the needs of their users. Forcing users to learn a new way of working every year—even if they don't need to—is crazy. And it renders computers inaccessible to the elderly.
@Keltounet @hywan I watched my mother progressively (and completely) lose the ability to use her iMac during her final decade because Apple kept f*cking around with the Mac OS X user interface, the way Mail worked, the colour of the window maximize/minimize buttons, and stuff that probably looked trivial to a 30-something UI designer but was deeply disruptive to an 80 something with impaired memory. And by losing that access, she lost touch with friends (via email).
@cstross
I would agree many UI changes in all manner of tools seem to be change for its own sake (where improvements are not clear, or worse, where the UX feels worse), as if the decision makers need to feel productive
@Keltounet @hywan

@tshepang @Keltounet @hywan UI changes in corporate products seem to happen purely to justify the product manager's request for a pay rise at their annual review! And at Google, old products get killed ruthlessly to make way for new products because that's the only way a manager can earn promotion.

This shit is actively hostile to the users' interests, but it's ubiquitous.

I mean, Canonical think 5 years is "long term stable" for Ubuntu, which is bullshit: should be AT LEAST a decade.

@cstross
would you say new kernels, old (and loved) userspace
@Keltounet @hywan

@cstross @tshepang @Keltounet @hywan I mean, on the other hand, 10 years LTS is... really expensive if not impossible. Computers are not some magical thing frozen in time. Maintenance costs rise fast, and not linearly with time, especially with context change.

I totally agree with your point on the UX change ofc, but for example, in terms of shell, as he mentioned in the article... Nushell is not really meant to replace your use of shell. It is built to replace glue scripts. And yes. needed.

@Di4na @tshepang @Keltounet @hywan

"Maintenance costs rise fast"

... which is why IBM mainframes still happily run Series 360 assembly programs from the early 1960s, the hardware is all hot-swappable and fault tolerant, and the main backward compatability issue is finding folks who know what the bottom of the application stack is even supposed to do (the original designers all died of old age).

The inevitability of perpetual churn is a lie. It can be avoided.

@cstross @tshepang @Keltounet @hywan I mean yes, it costs so much to run stuff still on these machines that the estimated cost reduction from moving away from them and paying for the churn is regularly considered order of magnitude cheaper than to keep paying that cost. Ofc the cost of switching is high because it has accumulated over time.

I have seen the accountant doing the maths, I have been in these rooms. It can be avoided, totally. But the costs is rarely one anyone is ready to pay.

@Di4na @cstross @tshepang @Keltounet @hywan the implicit choice here is that the costs went up _because_ everything else rode the churn ladder - parts that we invented 50 years ago to satisfy needs in say, electronics, have had their prices bottom out entirely because they are simple commodity parts - what's implicit about computers that prevents us from thinking in this way? If you are making an accounting package with legal changes, sure, but word docs?

@cursedsql @cstross @tshepang @Keltounet @hywan multiple things.

But mostly, because these parts are not the cost. The costs are the design of the board to fit them to our needs. That cost has dropped a bit but not that much. And if you go find an electronic board from 50years ago, you will quickly find out that most of the part are not produced anymore. That it is the wrong voltage for the modern part that replaced them. That the connectors do not fit. Etc.

The parts still exist. Sometimes.

@cursedsql @cstross @tshepang @Keltounet @hywan but combining them together in a way that fit your current needs and the rest of the world they interact with? Not so much.

An example. Most of that IBM 360 emulated stuff mentioned above? Only handle really specific text encoding. Better hope you do not need an apostrophe or an accent in your last name.

@cursedsql @cstross @tshepang @Keltounet @hywan also better hope you don't plan to still use them by 2039. Or that someone was paid to handle the millenium bug.

Even if the parts stay still, the world does not.

@Di4na @cstross @tshepang @Keltounet @hywan and in 2039 the system 360 would have an operating lifecycle of 75 years, an absolutely heroic effort compared to what we do today; through hole parts are still working fine today, and many of the processors that weren't hyper proprietary from the 70s are still around and work fine (6502, etc) - anyway I respect your opinion for say "the modern business" but conflating those with the populaces needs has an inherent impedance mismatch

@cursedsql @cstross @tshepang @Keltounet @hywan you realise i spent multiple years of my life trying to rebuild electronic cards to keep high speed trains from 50 years ago running?

Also the ibm 360 was less than 1% of the systems at that time. It surviving is an exception showing how hard it is. And costly. And how only a few can do it?

@Di4na @cstross @tshepang @Keltounet @hywan I assure you, they are paying in dealing with the various forms of churn instead. It just comes out of a different budget.

@Di4na @cstross @tshepang @Keltounet @hywan the idea that a stable UI is something “magical” is pretty bizarre.

Required changes in gesture or keystroke should be carefully minimized and the vast majority should be optional.

Backwards compatibility is THE most important feature of any software product upgrade, but somehow that seems to be a forgotten principle. It’s perhaps only a small part of why we have a sense that our devices are losing rather than gaining utility. But it’s part of it.

@mtobis @cstross @tshepang @Keltounet @hywan ah yes, the most important part is to keep the UI that most of humanity cannot use.

Magical indeed.

@Di4na @cstross @tshepang @Keltounet @hywan

Nothing prevents a complete UI upgrade as long as the old one is still the default for existing users. But changing either the existing UI or any existing APIs for existing users is a betrayal. I don’t understand why this isn’t obvious.

@mtobis @cstross @tshepang @Keltounet @hywan and i don't understand how my point is not obvious either.

So maybe we should both realise our arguments are not as strong and evident as it looks.

@Di4na @cstross @tshepang @Keltounet @hywan

Yes perhaps I miss your point.

Mine is that i do fail to see why machines that are two orders of magnitude more powerful than thier predecessors can’t do exactly what their predecessors did in exactly the same way.

Maintaining software shouldn’t be a major expense. If it is, I think it is usually indicates a misdesign at some level of the stack. I can think of exceptions, but usually.

@mtobis @cstross @tshepang @Keltounet @hywan all of our stuff was deeply misdesigned because it was designed for a far different set of people and it only embedded that. Which means it all depends now on only having these people as customers. And once they become less than 10% of the user base, yes you break their stuff in order to serve the rest.

@Di4na @cstross @tshepang @Keltounet @hywan

Just fork it.

Geez. Is that so hard?

@Di4na @cstross @tshepang @Keltounet @hywan

I guess you're talking software services, while I'm talking local executables. But that's a key part of the enshittification process.

e.g. I just want to run the version of Photoshop I (thought I had) bought. I don't want Photoshop as a "service".

@Di4na @cstross @tshepang @Keltounet @hywan

An interesting example is that I had built an artistic style around pushing a feature of iPhoto to an extreme. Some might call the result buggy.

I did an OS upgrade and my iPhoto was "upgraded" with it. As a consequence the "bug" I had come to enjoy went away, and I stopped producing anything of the sort.

Maybe I was in a very small group. Maybe I was alone. But **I** didn't want the upgrade and should have been given the choice.

@mtobis @cstross @tshepang @Keltounet @hywan i mean if you want to keep using it, yes. The rest of the world move. Software does not live in a vacuum. If you stop updating it, it stops working.
@Di4na @cstross @tshepang @Keltounet @hywan why does it stop working? It doesn’t wear out like a car.

@mtobis @cstross @tshepang @Keltounet @hywan because it is not a car. It is the car, the road, the bridge and the pollution regulations. It depends on a ton of code that does not ship with it but with the computer that also change.

Way to talk to a graphic card, memory, way to understand mouse inpute and sounds, way to draw characters on the screen or how to explain which colour is which. Ways to open a file. Code from the 90s does not magically run even if you have the old version.

@mtobis @cstross @tshepang @Keltounet @hywan a car is mostly self contained. Code is not.
@Di4na @cstross @tshepang @Keltounet @hywan it is comtained in other code, which also doesn’t rust or wear out, to which the same principles should apply. Failing on backward compatibility destroys value, usually for no justifiable reason.
@Di4na @cstross @tshepang @Keltounet @hywan early MSwindows was scrupulous about supporting MS-DOS apps, wjich in fact basically saved me from manually retyping my doctoral thesis in LaTeX from the niche app I was using. There is no reason this can’t continue other than perverse motivations destroying value.
@mtobis @Di4na
what are examples of these perverse motivations
@cstross @Keltounet @hywan

@tshepang @Di4na @cstross @Keltounet @hywan Someone closer than me to commercial coding should answer but I’d suggest that a satisfied user who can achieve their goals doesn’t need to buy more software.

So the business model needs to set up either subscription models or ways to break what already works and force replacement.

“planned obsolescence”

@mtobis @tshepang @cstross @Keltounet @hywan i literally am a commercial coder. It does not work as you say. I understand that it sounds like a good story, but it is not how it works.

@Di4na @tshepang @cstross @Keltounet @hywan

It's certainly a real motivation, whether conscious or not.

Like any long-time intensive user, I have lots of stories of things going away for no apparent reason, which was infrequent in the 80s and 90s and 00s. So how is this not a decline in utility in exchange for all your efforts?

@mtobis @tshepang @cstross @Keltounet @hywan and yet i can buy a super cheap pretty resilient and safe toaster for a lower price than in the 80s and that works as well rn.

So it seems... that you are comparing different products and wondering why one has different modalities than the other.

It is because they are not actually the new version of the older. They are a different one.

@Di4na @tshepang @cstross @Keltounet @hywan Not the experience of a Photoshop user or a Microsoft Office user to take a couple of hugely salient examples, no

@Di4na @tshepang @cstross @Keltounet @hywan and then there was Google Reader, a product that many people including myself loved, which simply… disappeared. Because user utility doesn’t matter and somebody at google wanted to foist some untested model of social media on us. Which failed spectacularly. But Reader didn’t come back!

So we retreated to Twitter. Which, well, all of us on here know about…

Ami Pro was an excellent lightweight desktop publishing/word processing tool. but… etc. etc.

@cstross @tshepang @Keltounet @hywan my favorite is the switch to forced updates for the default use case so you are guaranteed to always be on the update treadmill when you absolutely might be the worst person for it. Automatic upgrade to Windows 11? Get that crap out of here.
@cstross
(Minor detail - 5 years LTS is free support, ESM is paid support for up to 10, though I think 14.04 is the oldest you can get it for, they haven't actually sunset any of them yet.)
@cstross @tshepang @Keltounet @hywan I genuinely think that the "gotta ship if you want promo" attitude that pervades so much of the tech industry is a profoundly negative thing for the customer, for the employees, and for the companies themselves
@BoredomFestival
what attitude is this... can you explain further
@cstross @Keltounet @hywan
@tshepang @BoredomFestival @Keltounet @hywan It's what you get rewarded for if you're a manager in a tech company. (And it's inimical to the interests of the customers.)
@cstross @BoredomFestival
ah, was not thinking of promo to mean status rise inside the company
@Keltounet @hywan
@tshepang @BoredomFestival @Keltounet @hywan Yup. It's like the way sociopathic C-suite executives are rewarded for destroying their corporation's long-term viability as long as it makes Line Go Up for the next quarter. (Or the way Ron DeSantis is throwing Florida under the bus in an attempt to bolster his appeal to the MAGA idiots who vote in the Republican primaries. Florida will take a generation to recover from his damange—if it still exists by then—but Run doesn't care.)

@cstross @tshepang @Keltounet @hywan I remember from my childhood consuming all things Star trek that the TNG technical manual mentioned that among the features of the multifunction tactical stations on the Enterprise is that they recognized their user and could reconfigure to the version of the interface the user was most proficient in. Starfleet crew were expected to train on newer UIs as they came along, but compatibility with older UIs was maintained.

... if that isn't most indicative that they live in the Fully Automated Luxury Gay Space Communist future, I don't know what is.

@mark
wow, I love this... computing utopia
@cstross @Keltounet @hywan
@cstross @tshepang @Keltounet @hywan
I was using HTML in the early 90s. For Mozilla and a few other browsers joining in the nascent www, it was a constant struggle to replace HTML code that was intentionally made unworkable by Gate$ware, which only continued to function with Internet Explorer. Truly industrial sabotage.