💾 Archived View for stack.tilde.cafe › gemlog › 2023-03-04.containment.gmi captured on 2024-05-10 at 11:07:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-08)

-=-=-=-=-=-=-

The Joy of Contained Systems

I often stop and ponder (as many of us weirdos who actually make things do) on why I am drawn to some things and repelled by other. I haven't found the answer, but I can identify a quality that seems to attract me: containment.

Perhaps it's the control freak in me, but I love things that are minimal and self-contained (and ideally, self-subsuming or metacircular, but not necessarily). As an example - I like old computers - it's all just there. As much as I adore a modern system with Linux - it is completely out of control, and I can't imagine acutally knowing what's going on.

Thinking about large chaotic systems such as macroeconomics just makes me want to vomit - especially when some jackass pretends to know something about it, or even worse - 'control' it by enforcing some of the parameters using coersion. But enough of that.

A microcontroller starts as something I appreciate, but rapidly loses my interest as it becomes bigger, acquires an 'infrastructure' of incomprehensible layers of blackboxed firmware and drivers to make it work with unstable open-ended languages like Python... Arduino makes me vomit a little -- does anyone really think it's really scary for anyone to write a function called main? Is 'loop' that much better? Because understanding parameter passing will turn off artists?

Give me a raw AVR chip anytime, even though Harvard architecture (separate code and data spaces) make it distinctly unpleasant to work with.

I remember trying to figure out what exactly is inside an ESP32. Things like that kind of make me nearly crap myself a little. All that stuff is in there, but covered with layers of weird Chinese drivers - layers accreted so deep that it takes tens of seconds to compile 'hello world'....

More and more often I find myself thinking that PDP-8 perhaps hit the sweet spot. 12 bit registers, 4K address space - enough to accomplish a reasonably complex task. More memory may of course be accessed as secondary storage - but we can have ridiculously fast 4K on die, per core. Imagine a massively multicore processor with reasonably simple and deterministic cores whose task can be understood!

Chuck Moore's efforts are misguided as I see it, by oversimplifying the CPU to the point where it's almost useless. Modern multicore systems are misguided, as I see it, by having the cores be giant and overpowered. And no one is building anything in-between - I think people are completely at a loss as to how to build a massively parallel system that works.

But again, I digress. I am talking about aesthetics more than anything else.

Let's look at fantasy consoles. Pico-8 - yuck, they are actually selling it? You program it in - Lua? Yech. What a lost opportunity. TIC-80 - "Up to 512KB (8 banks each 64KB, even in non-PRO version) of lua, ruby, js, moon, fennel, squirrel, wren or wasm". Blargh.

I think I swallowed some vomit. I mean, here is a perfect opportunity for people to learn to code on metal. Imaginary metal, but metal. And you want to do it in javascript? What's wrong with people.

Anyway, I don't know why I felt like sharing this. Sounds like more bitching and moaning, something I promised myself to keep at a minimum. Oh, well.

I need to fire up my Apple ][ and calm down.

index

home