on a zoom call Chuck Moore the author of Forth announced that Windows updates have rendered his otherwise working colorForth system inoperable and unfixable. moving to another operating system would amount to a rewrite. as a result he said it's "time to move on" from Forth.

several people on the call thanked him for changing their lives with his language, for giving them a lifetime of joyful work and a powerful simple way of thinking about computing, to which he responded "I can only hope it was worthwhile"

I'm having a lot of feelings about this. on one hand I have a *very* soft spot in my heart for these aging wizards who insist on doing things their own way. I very much see myself in them, in that insistence, and they are the kind of person I aspire to age into. watching them get thwarted is like watching an aspirational version of my future self get thwarted and it breaks my heart.

the indignity of putting these people through the tedium and stupidity of modern computing is also really jarring. these are people that imagined a different kind of computing, a kind of future that never got built, that got sidelined in favor of advertisements in the start menu, applications with in-app purchases, the global network as a mall, capital over computing.

and they've lived long enough to see it play out. Joe Armstrong talked about wrestling with grunt and gulp from the JavaScript ecosystem in one of his last talks. I've had the pleasure of working with Larry Cuba and most of our difficulties have been wrangling python package management on Windows. and now Chuck Moore gets his life work sniped to death by a random Windows update.

modern computers are a mess of accidental complexity and these are people that represented something different, living long enough to watch something worse become mainstream.

and beyond just the triumph of capital over any alternative, it really breaks my heart that computers are just objectively worse today than they were in the time of Chuck Moore. I try and not be an old man yelling at the cloud about this but we've given up on stability, soundness, maintainability. these are non-goals of modern computing, sacrificed at the altar of shareholder value.

it is wild that an official update of the operating system could break otherwise working code in a way that is impossible to determine even what is happening, let alone what to do to fix it. but this is what we've come to expect. computers break all the time, software breaks all the time, stuff crashes, you restart, whatever. and this isn't even factoring in the incoming wave of vibe-coded systems which make no attempt at correctness.

this isn't what computing was, there were attempts -- serious attempts! -- at developing theory and practice to build systems that were stable and correct in the face of usage and updates. we put half a century into that. and now we live in a kind of collective surrender. it's really depressing. as someone who has dedicated a life to computing, it's really fucking depressing.

I'll grant that computers today do things that are categorically more complex than anything previous generations attempted. I'll grant that so much of Chuck Moore's work was predicated on character sets, that would only encode Latin characters, and modern computing needing to deal with Unicode, non-latin text rendering, non-western dates and calendars, different kinds of networking etc etc yes I'll grant that that's all more complex. I don't find the increased complexity of computers depressing, I find the abandonment of the project of soundness depressing.

I thoroughly believe that we can do complex things in a sound way. computers randomly breaking is not a given. it just takes time and dedication and focus, things that that above all else I blame our economic system for being unable to provide.

@nasser It is heartbreaking. Very well said.

@doty @nasser

Something I experience every few weeks is I fill up my car at a supposedly 24 hour petrol garage. I usually do this late at night to avoid busy traffic.

AFAIK it been 24 hours for about 30 years, previously the pumps would use RS485 or similar and connect to an on-premises EPOS and pump management system.

In recent years all the pumps have individual IP addresses and connect to a cloud system.This has to do a full reboot at around 02:00-03:00 every day (probably a workaround to deal with a flaky system as it falls over every so often), if you are there when this happens you have to wait around in the weather whilst it all restarts.

No one at the petrol station knows exactly why this happens, and the support is outsourced to a far away country.. >>

@doty @nasser

I did not get my driving licence until fairly recently so have only ever experienced this flaky setup, but from memory when travelling with friends (especially during my partying days when we might be on the road at all hours) a 24 hour petrol station was exactly that - unless the tanks were fully empty and it was being refilled you could always get fuel without having to wait around too long, so this new system has *reduced* the quaily and resillience of the business compared to decades ago..

@nasser Our only choice today is to pick a spot between embracing the complexity and owning your entire software supply chain. Very sad.

@nasser I watched the recording thrice yesterday night. Co-pilot gave him the final push by letting him run in circles for weeks.

It's totally OK to let go… but not like this. Someone should check on him, seal his colorForth in a crystal, and throw a celebration worthy of it.

@nasser on the call he said he asked copilot how to fix it, which it obviously couldn't do because that version of windows didn't exist when its training happened, not to mention having next to nothing about colorforth

I was baffled why he would ask when it was obvious it would be able to help, but then I realized he knew deep down it wouldn't help but he was so desperate and afraid of having to give up that he asked anyway because he couldn't face the truth

fucking tragedy

@nasser well said all this, kindda see myself too in his situation and I'm proper scared.
@neauoire @nasser you think it could happen with uxn too ?
@maxime_andre @nasser not the specific rug pull that Chuck has had, no. Since uxn has no dependencies whatsoever and is bootstrapped. But I can see myself having a hard time rebuilding on sands that shift increasingly faster and at one point just not being able to keep up and give up
@neauoire @nasser you mean something like "now you have to use the latest version of vulkan (which will be even more complicated than last year's one) to put a single pixel on the screen" ?
@maxime_andre @nasser exactly yeah.. I target X11 now because I love its API, but software rendering is already on its way out, everyone is moving to wayland and pixel rendering is kind of depassez already, I have no trouble seeing myself in chuck's shoes trying to render tiny vector rectangles for each pixels and just wanting to set it all ablaze.
@neauoire @nasser maybe that's why i like tinkering with microcontrollers... you just have to send the pixels over the spi port. but the rug could be pulled too...
sometimes i think "even in my retirement home i'll be able to code", this morning i realized it's not that simple actually...
@neauoire @maxime_andre @nasser I have some hope that pixel rendering won't become completely impossible — one can always build a texture and render it in nearest-neighbor mode. There are enough games out there relying on this that I don't think it'd ever disappear.

@unlkfp @neauoire @maxime_andre @nasser Be a crazy dark timeline should pixel-based rendering vanish. Vector-based graphics somewhat exist because of low-bandwidth networks (which have faded out). It was cheaper to computer math-based images then sending pixel-based images. So, ironically, glutinous computing kinda snubbed that out.

But, there is a creeping sense the idea of 2D graphics for games is getting "left behind". There was like a month where dozens of 2D games suddenly got 3D sequels. (But, also, intersecting economics around 3D being "less labor" after the model is produced)

@neauoire @maxime_andre @nasser And not just games one might think of as "pixel-based" — Factorio for example uses pre-rendered Blender models for *everything*, and IIRC it uses this method to render them. (The pixel-ized look is only seen when you're completely zoomed in, on a copy of the game with no high-res sprites.)

@neauoire @maxime_andre @nasser

but software rendering is already on its way out, everyone is moving to wayland

Wayland has software rendering though.

That is of course orthogonal to your preference for X11's API.

Wayland

@neauoire @nasser Well, at some point your spoons run out; and hopefully it happens before your cognition declines, so you can decide to rest, and enjoy that rest. It sounds like Chuck still has things that he enjoys.

colorForth was always "just a personal project", so it's end is just as inevitable as anything else.

It's still sad though.

@nasser This morning I was thinking about what it would take to refactor some of our 2003 DSP boards to work currently, with numpy and such. I realized any kind of management involved would tell me that it's cheaper to buy current gen DSP boards with python bindings.

We spent decades designing tools to make development as fast as possible, even at the expense of soundess like you say. And it turns out we ended up with a market that uses that alacrity to build the same wheel again and again.

@nasser Were systems ever sound? It seems we're feeling the consequences of the intrinsic complexity of trying to make systems that serve many people while connected to a network, and do it while running on battery and fitting in a pocket. Old systems were rife with bugs and as soon as they were plugged into networks vulnerable to the first clever person who wanted to break in. Linear power supplies and storage insufficient for a book or a photo. Char set support in ROM. Lots to not miss.
@nasser I think a lot of the real pain boils down to high churn and forced migration due to firmware signing issues. Maybe we need to start building non-networked systems for the use cases where we want long term stability. Let them grow old unchanged, and without disrupting the workflows.
@mirth @nasser I think this is a key point in the thread - a device being connected to the Internet means having to stay on top of security updates as new threats emerge, so there's a need for constant maintenance of OS and libraries, you can't just settle with something that simply works

@nasser

as good a place as any to note that one of the prime incentives of capitalism is to create more transactions, because that creates more profits -> more money flowing upward

more things breaking creates more transactions

@nasser

"we can do complex things in a sound way. computers randomly breaking is not a given."

yes, exactly.

@nasser Very well put. I’m also saddened by Chuck’s predicament. It’s making me think more about stable foundations for my projects.
@nasser I just find them at this point to be very overused. A few examples:
1. Coupons & loyalty cards- replaced often lately with apps - this works worse or not at all depending upon who you are, than those physical items
2. Automobiles- I've a car I've driven over 200,000 miles on and the main, most annoying &priciest thing that keeps screwing up are it's computer components. From the satellite radio I don't want, switching itself on as an ad to "remind me" I've never activated said garbage, to the "check oil" light that's on 1/2 the time or more within 30 seconds of my getting in the car to bring it home from an oil change, because it failed to reset the first time.
3. Farm/garden supply store - one chain I used to shop frequently in at least 2 locations but I stopped mostly over how they basically shut down, whenever their internet went down, which seemed to be around 60-70% of the times I'd try to shop there. You don't need a computer & wifi to handle a cash transaction for a customer buying bags of goat feed & if you claim that, you don't need my business.

@nasser

As the complexity of a system approaches infinity, its up time approaches zero.

Brute forcing the automation of complexity also has its limits.

This is not an argument for using an abacus. Rather, it is an argument for using the least complex tools and systems, to not implement something you do not understand, and to support systems which act on these goals while eschewing those which do not.

Witness the growing nation-states embrace of OSS.

@nasser "I don't find the increased complexity of computers depressing, I find the abandonment of the project of soundness depressing" absolutely hits the nail on the head for me. very well put.
@gsuberland @nasser everything we were taught to believe about the value of having pride in one's work comes to nothing at the feet of capitalism, where the quality of products counts for nothing if it's not the best way to maximise profit for shareholders.
@nasser typical desktop computer can now handle the workload of a cluster of supercomputers from a few decades ago. CPU usage hits 100% playing an online word game.

@nasser Although I heartily agree with you, and my life has been dominated by computing to some degree for more than 40 years, I do wonder about one thing.

It was evident more than 20 years ago that the large corporations were shit. I was a mac fan and defender for 17 years. 20 years ago, I realized, nope. This is all just going to get worse. Not ever a windows user (cpm, though) I NEVER considered it a serious option.

BSD, Linux, they've been the only option for a long time.

@nasser today's computers are certainly worse in terms of efficiency and responsiveness, but personal computers at least are far more reliable than in the 80s and 90s. I can remember when neither Windows nor MacOS had preemptive multitasking or memory protection, and both crashed constantly, often losing one's work.

@nasser I brought this up in a group earlier when I mentioned how I was excited and art tool's Steam version had a native Linux build when the developer themselves don't even offer such, and how it only took minor finagling to make it work flawlessly and outperform Windows.

I got told "well that kind of messing with it discourages artists!"

Except they already have to because of this kind of shit. I pointed out I've had to scour for which C++/C# version to install, on Windows, for paid software, because the installer made assumptions that are no longer true.

It's a mess

EDIT: And to add, I'd only heard briefly here and there about Forth, but it's disheartening that now I may never get that opportunity to try :<

@nasser You say 'modern computing' when I think you mean 'Apple, Microsoft, and friends'.

Within the #FreeSoftware community especially, and to a lesser extent within the #OpenSource community more generally, I think that you'll find a concern for correctness is still widespread.

@nasser Measurement. It underpins all science, and yet computer developers have chosen to abhore it. Fear driven reasons abound, but they were mostly baseless.