The Terminal
The terminal in your browser is not an emulator or a sandboxed shell — it is a real, root-access Linux virtual machine, booted for you the moment you start a topic and destroyed when you're done.
Sessions
- Starting a topic boots a machine. It takes a few seconds. The topic's environment decides what's preinstalled — CLIs, language runtimes, credentials.
- One machine at a time. Starting a new session while another is running asks you to stop the old one first.
- Sessions expire. Each topic sets a session length. When a session ends — by expiry or by you stopping it — the machine's disk is destroyed. The next session starts fresh; your completed steps stay completed.
- It's disposable by design. Break anything.
rm -rfthe wrong folder, kill the network, fill the disk — stop the session and start a clean one. The freedom to break things is the point.
How Submit grades you
Every task step carries checks — small probes that run inside your machine when you press Submit:
- a check might test that a file exists, that a command prints the right thing, that a process is running, or that an HTTP endpoint answers;
- checks run against the real state of your machine — they don't care how you did it, only that it's true;
- a failed check shows a hint; fix the problem and press Submit again. Checks re-run fresh every time.
There is no partial credit and no watching over your shoulder — if the checks pass, the work is done.
Practical tips
- Copy/paste works like a normal terminal: paste with the usual shortcut or a right-click, and lesson code blocks have a copy button.
- The terminal resizes with the pane — drag the divider to give the lesson or the shell more room.
- Long-running commands keep running while you read — the machine is yours for the whole session.