Files
LithosAnanke/demo/xwiki-try-it.xwiki
T
rajamesandClaude Opus 5.5 9e711563b4 demo: StarshipOS in a browser -- a throwaway machine per visitor, as Zuse (#111-#115)
Captain Bob, 2026-11-06: a terminal with QEMU amd64 for people to play
with; "Mint Zuse for demo console" (#111); "Make the most recent of
builds that's green the demo"; a Try-it XWiki page with the console
embedded.

demo/ -- see its README:
  mint-zuse.sh       a Zuse of the demo's own, as a stick: blank pair,
                     system=v3 genesis, a second boot to confirm, make
                     zusestick. Never anyone's real Zuse
  build-iso.sh       the amd64 ISO, packed as make qemu packs it
  make-snapshot.sh   boot once to [zuse@Hera] ok>, save the machine
  start-session.sh   one visitor: the saved machine resumed, ended on
                     hang-up, close or time-out
  console.py         joins the visitor's terminal only once the machine
                     runs; keys typed while it loads are discarded
  qemu-args.sh       the machine, shared by save and resume
  starshipos-demo.service, apache-demo.conf, xwiki-try-it.xwiki

Every session is a copy: no network, read-only image, the Zuse stick's
writes discarded, QEMU's seccomp sandbox, an unprivileged user, a
fenced systemd unit, 30 minutes at most.

Tested here, from the sources master accepted (run 153): the Zuse
minted (logs/20261106-192626, -192739); the saved machine at POST
538/538 and [zuse@Hera] ok>; a session through ttyd's websocket ready
in 0.2 s, 3 4 + . -> 7 ok, 7 SQUARE . -> 49 ok; QEMU gone at once on
hang-up, close and time-out. Found and fixed on the way: a machine
saved stopped resumes stopped; a prompt matched as a regex; QEMU left
behind by a hang-up; keys lost while the machine loads. Not tested
here: Apache, several sessions at once (#116).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
2026-11-06 19:41:22 +00:00

29 lines
1.3 KiB
Plaintext

= Try StarshipOS =
This is StarshipOS, running. Below is the console of a real StarshipOS machine -- the amd64 build
from the latest version that passed its acceptance tests -- started just for you. You are logged
in as Zuse, the superuser, of a machine that exists only for your session: there is nothing to
break, and nothing you do is kept. Close the page and it is gone.
{{html clean="false"}}
<iframe src="https://try.strshipos.com/" title="StarshipOS console"
style="width:100%; height:34em; border:1px solid #888; border-radius:6px; background:#000;"></iframe>
{{/html}}
== Things to try ==
StarshipOS speaks FORTH. Type a line and press Enter; ##ok## means it was done.
|=You type|=It answers
|##3 4 + .##|##7 ok## -- numbers go on a stack, ##+## adds the top two, ##.## prints the result
|##: SQUARE DUP * ;##|##ok## -- you have just defined a new word
|##7 SQUARE .##|##49 ok## -- and used it
== What you are looking at ==
* A machine of your own, booted from the same image the project publishes every night, resumed at
its prompt so you do not wait for it to boot.
* It runs in an emulator on our server. It has no network, and it lasts at most 30 minutes.
* If the console does not connect, the few machines we run are all in use -- try again in a few
minutes.