Posted by mhoye
https://exple.tive.org/blarg/2025/12/11/composure/
https://exple.tive.org/blarg/?p=6789
On yet another foray into the list of opinions I have that I’m sure are making me progressively more unemployable by the day, I asked some people on the internet: who is doing interesting work on software composability these days and where do I find them?
The last three really interesting ideas I’ve seen in this space are nushell ysh (previously or maybe …hybridly? the Oil Shell) and … powershell.
Powershell. Of all things.
To clarify my motives here: I think Docker is Bad Actually. I think Kubernetes is bad and Flatpak is bad and Snaps are bad and App Stores are bad and the Wayland security model is also bad.
Specifically, they’re bad for humans and human-scale computing.
All of these technologies are fundamentally the same shape: isolation and disconnection in the name of an unelaborated security, a safety that carefully, meticulously avoids fully explaining safe for and from who, safety of what from what. Near-identical iterations of near-identical ideas that are purpose-built to prevent the interoperation and composition of software and their main utility is to keep business models and their owners Free From the risks of user agency and independence.
I think the biggest utility and main beneficiary of the last decade of grafting SAAS-vendor security and deployment models into human-scale computing has been to prevent humans from even having the words we need, much less the tools, to describe a possible better computation future. I’m sure they’re great for warehouse-computer hyper-rentiers and the full stack vassal class they’ve cultivated, but at the human scale I believe all of these policy-tools are just symptoms of a profound failure of trust and imagination, in design and intention an explicit denial of human agency.
I think that even in the beginning any thoughtful deliberation about how we shape our tools makes you a feral outlier, and we have little appreciation for how fast our tools start shaping us after that. And I get it, I know how much easier it is to automate malice than foster collaboration now and I wonder if maybe I’m the only person in the world afflicted with this particular flavour of geometric synesthesia but the absolute paucity of ambition, the deep-rooted distrust of the operator in this world we’re colonizing with idea-machines kills me.
The program Bentley asked Knuth to write is one that’s become familiar to people who use languages with serious text-handling capabilities: Read a file of text, determine the n most frequently used words, and print out a sorted list of those words along with their frequencies.
Knuth wrote his program in WEB, a literate programming system of his own devising that used Pascal as its programming language. His program used a clever, purpose-built data structure for keeping track of the words and frequency counts; and the article interleaved with it presented the program lucidly. McIlroy’s review started with an appreciation of Knuth’s presentation and the literate programming technique in general. He discussed the cleverness of the data structure and Knuth’s implementation, pointed out a bug or two, and made suggestions as to how the article could be improved.
And then he calmly and clearly eviscerated the very foundation of Knuth’s program.
What people remember about his review is that McIlroy wrote a six-command shell pipeline that was a complete (and bug-free) replacement for Knuth’s 10+ pages of Pascal.
(True story: I’ve got half of Bentley’s script in my .bash_aliases file – alias count="sort | uniq -c | sort -n" – because it’s so useful so often.)
All this is a long winded way for me to say, “If this thing happens over here, do this other thing over there” – the ability to, the access to, the tools to say that, are the absolute least that anyone should expect from a computer we own. Anyone should be able to tell their machine to do that work for them, without permission, without dependency, without a round trip through US-East-1 and a check to see if whoever sold you the hardware thinks that’s allowed or not or gosh-maybe-that’s-not-brand-values-aligned today. But as far as I can tell the last time that power was accessibly available, even just barely, to anyone who is not a full time professional computer-toucher was Applescript.
And Applescript is still out there, sure, but you don’t know anyone who cares about it and even if you care, you don’t know anyone else. Powershell, one of however many versions of it exists doesn’t ship by default anymore – again, because “security”, think of the children! – and finding it on a non-Win system is like finding a unicorn that’s also a coelacanth.
Here in Unixland, apart from nushell and ysh we just never got there, not to anything even vaguely like this. We don’t have structured logging or userland event-driven interop in any way that matters, we’re all stringing together shell scripts in cron and parsing strings out of tail -f like we’re rubbing sticks together to make fire. Even init is firmly in the hands of the computer-renters now, people so fundamentally at odds with the idea of human-scale computing that “/home is a tempfile we can purge” is something they’ll just roll out like personal systems don’t exist.
And, not to make too fine a point on it, but if you look around the world you can ask yourself if you see anything else that’s sort of the same shape. A mandate of seamless, contained simplicity and understandability, sold as security and safety that you secretly suspect is about ease-of-measurement, not really anything else. easily measured, easily counted, a quiet tyranny of manageability.But we cannot build healthy communities out of stacks of shipping containers and three lunchables a day is not living, no matter easy to measure, easy to deploy and manage, each well contained, understandable and hygienic, and these are the design principles of a urinal, not a human system and not the human system of human systems we call society.
There has to be another path through this. Our choices can’t be de-facto retrocomputing – and let’s not lie to ourselves, as-is the terminal in 2025 is de-facto retrocomputing – or self-inflected SAAS. There has to be a better set of choices out there than high-gloss zero-interop isolatives and sending square-peg text through the sed/awk lathe until fit some jagged hole we had to claw out ourselves, than participating in the seamless financialization of a world half-covered in epoxy where everybody needs a hall pass to the NIC and a permission slip from Azure(MSFT) or GCP(GOOG) to tie a noun they own to a verb they chose.
And I think that in the end that humans sized, human shaped computing, the tools that we can hold in our hands that fit in our hands, are going to be the only computing that lasts and the only computing matters.
We have to be able to build for ourselves and each other and teach each other how to build for ourselves each other. But I take a lot of optimism from the fact that there are a lot of people out there who – in whole or in part, some overlap, some tension – get it. The permacomputing people, the meshtastic/LORA people, nushell and ysh and a whole burgeoning Fediverse, all of it. Maybe we’re on our way, if we can push the logic further down into the roots of the tools where it belongs.
I mean, all we need to do is revisit the last thirty or forty years of free-software fundamentals and rearchitect them centered on the human operator instead of software landlords. How hard could it be?
Anyway, back to looking for work. I’m sure this has all made me 100% more desirable as a prospective employee, but caring about humans more than other available options gets that way at times. Yay for us, go team.
https://exple.tive.org/blarg/2025/12/11/composure/
https://exple.tive.org/blarg/?p=6789