~/liter8/learn/README
The gyms
Eighteen gyms for the fundamentals of software engineering.
Eighteen free, hands-on gyms for the fundamentals of software engineering: Review, Secure, Debug, Test, Concurrency, Regex, SQL, Schema, Net, Shell, Git, Vim, System Design, Linux, Container, Deploy, Infra and Run. Each one runs a real engine in your browser and grades you on state. No account required.
Don't know where to start? Follow the roadmap → every gym listed after the ones it needs, with the reason.
01
The floor
5 gymsrun.liter8.sh
Run — Predict the state before you press run
A JavaScript execution gym: a real interpreter in your browser with a heap, a scope chain and a call stack you can step backwards. Predict what a program does before it runs — the value, the aliasing, the order — and be graded against the machine that did it. Free, local-first, no account required.
shell.liter8.sh
Shell — The last interface that does not guess what you meant
Learn the shell by driving a real one in your browser. Genuine quoting rules, the full expansion pipeline in order, a virtual filesystem with inodes, and grading on the state of that filesystem plus stdout plus the exit code.
git.liter8.sh
Git — Practise on a real object model
Learn Git by driving a real commit graph in your browser. Type actual commands, watch the DAG, index, worktree and reflog change, and be graded on whether the repository truly reached the target state.
regex.liter8.sh
Regex — Say what it matches before you run it
A real backtracking regex engine in your browser, with every step visible. Predict what a pattern matches, write patterns against a step budget, and find the input that makes a generated regex hang. Free, local-first, no account required.
vim.liter8.sh
Vim — Practise until it becomes instinct
Learn Vim through interactive lessons, timed practice runs, and graded tests. Free, local-first, and no account required.
02
Reading
2 gymsreview.liter8.sh
Review — Read the diff like it's lying to you
A code review gym. Read a diff of the kind a model writes — clean, idiomatic, green test suite — find the one defect, name what class it is, and prove it with an input the correct build survives and this one does not. Free, local-first, no account required.
test.liter8.sh
Test — A green suite is a claim
Write tests, then watch an engine break the code underneath them one edit at a time and count how many of those breaks your tests notice. Mutation testing as a learning instrument. Free, local-first, no account required.
03
Data
2 gymssql.liter8.sh
SQL — Read the plan, not the query
A real relational engine in your browser — parser, cost-based planner, statistics, volcano executor, MVCC. Write a query, see the rows it returned and the pages it cost. Free, local-first, no account required.
schema.liter8.sh
Schema — Migrations that don't lock the table
A database migration simulator in your browser: real lock levels, rewrites versus metadata changes, a live workload, and old and new application code running side by side. Write the migration, watch what it blocks, and ship it with the table still answering. Free, local-first, no account required.
04
The wire and the machine
3 gymsnet.liter8.sh
Net — Read the handshake, not the docs
A packet-level network simulator in your browser: links with latency and loss, DNS, TCP, TLS and HTTP as they actually happen. Read the capture, meet the latency budget, and find the retry loop that takes the upstream down. Free, local-first, no account required.
linux.liter8.sh
Linux — Read the strace, not the man page
A Linux kernel simulator in your browser: a real process table, file descriptors in three levels, signals with honest delivery semantics, and a /proc generated from live kernel state. Run the program, read the trace it produced, and find out what the kernel actually did. Free, local-first, no account required.
concurrency.liter8.sh
Concurrency — The bug that only happens on the fourteenth Tuesday
A deterministic scheduler and model checker in your browser. Write concurrent code, and the engine explores the interleavings rather than running one — it finds the schedule that breaks your assertion and hands it back to step through, forwards and backwards.
05
Shipping
3 gymscontainer.liter8.sh
Container — An image is a filesystem diff, not a zip
A container gym: a content-addressed layer store, a build cache that invalidates the way the real one does, and a runtime that isolates with namespaces and accounts with cgroups. Predict which layers rebuild, find out what your entrypoint does with SIGTERM, and be graded on the digest, the size and the signal. Free, local-first, no account required.
infra.liter8.sh
Infra — Read the plan before you apply
An infrastructure-as-code gym: a configuration parser, a dependency graph, a state file, and a planner that tells an in-place change from a destroy and recreate. Read the plan an agent wrote, find what it is quietly about to replace, and be graded on the graph you hold. Free, local-first, no account required.
deploy.liter8.sh
Deploy — Declare the state, then watch the loop fight you
A Kubernetes reconciliation simulator in your browser: spec and status, controllers on their own loops, probes and termination done properly, and traffic whose every failed request knows which controller decision caused it. Declare the state, then count what the rollout cost. Free, local-first, no account required.
06
Operating
3 gymssystem-design.liter8.sh
System Design — Learn by operating systems
Interactive System Design education. Build architectures, generate traffic, break them, and watch what happens. Completely free, no account required.
secure.liter8.sh
Secure — Prove the exploit
A security gym with a sandboxed application and an attacker console, entirely in your browser. Read a generated handler, find the defect, prove it with a request that succeeds on the vulnerable build and fails on the fixed one, then ship the fix. Free, local-first, no account required.
debug.liter8.sh
Debug — Find the fault before the clock does
An incident-response gym. Get paged into a simulated production system, read its traces, logs and metrics, prove a diagnosis, and ship a fix that holds. Free, local-first, no account required.
All free. All local. Finish one and it hands you a mini certificate. Pick whichever you'd fail today.
Or ask the terminal