Winter is coming and Collapse OS aims to soften the blow. It is a Forth (why Forth?) operating system and a collection of tools and documentation with a single purpose: preserve the ability to program microcontrollers through civilizational collapse.
imagine noticing that civilization is collapsing around you and not immediately opening an emacs lisp buffer so you can painstakingly recreate the entire compiler toolchain and runtime environment for the microcontrollers around you as janky code running in your editor. fucking amateurs
Honestly this reads a lot like someone having a "Mystical psychosis", not sure why anyone would torture their brain attempting to write a full OS in Forth.
Chuck Moore, the inventor of Forth, who else? it also forces you to use Chuck’s custom split ergo keyboard and bindings, which means Chuck was 19 years ahead of me in exposing folks to a nonsensical but fast language-specific keyboard layout
e: fuck I forgot how bad the syntax was. I’d paste an example here but I can’t cause it’ll strip the color, which is important to the meaning of the program
OK, I kind of love Chuck Moore though. Now there's a guy who knows exactly what he's doing with his life. Um, whether anyone else can tell what he's doing is a bit of a different story, though.
oh he’s unsneeringly one of the inspirations for one of my longer-running projects (alongside early PCs like the Commodore 64 and recursive self-improvement environments like Lisp machines). colorForth is awful for me but you can tell it did exactly what Chuck needed it to, and satisfying one user is a better track record than most software
it’s basically a programmer’s workbench — a bunch of Emacs Lisp UI and tooling that’s designed to make tinkering in a NixOS environment a lot faster and easier. recursive self-improvement is the term I use for the general loop that enables, where you continuously use an environment to make improvements and customizations to that same environment
it’s also my attempt to build the modern version of the best bits of old 80s computers like Lisp machines (or Commodores) where the ability to tinker was built-in and always available. to that end, the same general set of editor bindings I use to write, run, and debug code are available in every app
in general it’s a project that just won’t die, which is usually a good sign. so far it’s been useful for both rapid prototyping in Lisp and for speeding up systems software development (because it’s very hard to break NixOS even when you’ve popped the hood). one of these days I’ll finally decide I’m satisfied with it and release it, but the downside of working in an environment that’s conducive towards working on projects is I get sidetracked a lot