Cat9: A command-line shell written in Lua
github.com
github.com
Useful links related to Arcan: Website(https://arcan-fe.com/), Creator's Github (https://github.com/letoram), Arcan's Github Repo(https://github.com/letoram/arcan), Creator's youtube channel (https://redirect.invidious.io/user/arcanfrontend).
The main CPU booted into a Lua shell, had a VFS implementation so it could read "files" from disk (areas on the flash chip) and had the same io interface to "/tmp" (which was RAM). It looked in /boot to find 00-<whatever>, 01-<whatever> etc. and executed those Lua scripts in numerical order at boot, and it provided stdio redirection over a PCIe link (via thunderbolt, actually) to the host.
Once the boot process was finished, all the peripherals were booted, and the state was quiescent, it fell back into an interactive Lua shell (using the stdio redirection). I could (on the host) run an application that made it look as though I was "logged in".
Since we exposed all the peripherals as Lua classes, and we could interactively call methods on those classes, it was really easy to reconfigure the thing on-the-fly, reset a peripheral with different values, or tune things in the actual working environment. A fair amount of initial work, but it really paid off over the lifetime of the project.
Basically I wrote a very simple OS :) Lots of fun was had.
We're already up to Cat7 and it's not crazy to think we'll be on Cat9 in a little while.
Which would make it "cat-o-nine-tails" I am afraid
https://en.wikipedia.org/wiki/Cat_o%27_nine_tails
Note; I hope this is an incorrect interpretation as it is in very poor taste.
I have thought about long running jobs just being available right away with whole log in very similar manner as here. I never thought much about Arcan, but now I'm much more intrigued.
TCL/TK was like that.
>Authenticate against the device, not a dynamic ‘user’. Then, allow safe, ephemeral, secure sharing of the smallest, innermost compartment or an interactively defined aggregation thereof. This compartment is ‘the window’, not ‘the desktop’.
From plan9 and the upgraded 9front: Factotum, namespaces.
>The core of the matter is the opaque and unpredictable ‘opt-out’ nature of the automated system responses to user initiated actions, no matter if it is plugging in a USB device, a network cable or downloading a file. You only see the fire after you feel the burns.
OpenBSD, enable and set hotplugd for lots of devices, just return "true". Also, by default (I think) DHCP is not called upon plugging in a cable.
On U3, I think it was used by PortableApps.