Free · hands-on · no account required
The model writes the code. You still make the call. Eighteen free, hands-on gyms across the whole stack — the shell, the object model, the planner, the kernel, the rollout.
new here? $ make all — the gyms in the order they need each other.
↓ keep reading. the cursor comes with you.
A green suite is a claim. This is what checking it looks like.
Each snippet below is the kind a competent model produces: clean, idiomatic, tests passing, and wrong in exactly one line.
export function total(items) {let sum = 0;for (let i = 0; i <= items.length; i++) {sum += items[i].price;}return sum;}
Read this.
line 3 · off-by-one
`<=` reads one past the last element. items[items.length] is undefined, and `.price` throws.
Caught it? That's the skill. Train it at review.liter8.sh →
The suite is green. Read the lines anyway.
The argument
Why software-engineering fundamentals, now.
01
Reading is the new writing.
Generated code arrives faster than anyone can review it. The bottleneck moved from typing to judgment: does this diff do what it claims, and what happens on the input nobody tried?
02
The fundamentals, named.
Not a vibe. The execution model, the object graph under your commits, the query planner, the packet, the kernel, the reconcile loop. Six layers, eighteen gyms, one real engine each.
03
Practice on the real thing.
Every gym runs a real engine in your browser: a shell with inodes, a Git DAG, a SQL planner, a model checker. Grading is arithmetic on state, not an opinion about your answer.
The gyms
Eighteen gyms. One real engine each.
Six layers, from what you type into to what pages you at 3am. Pick whichever you'd fail today — every card is a live sketch of the engine underneath.
The floor
5 gymsRun
Predict the state before you press run
4 lessons · 16 exercises
Shell
The last interface that does not guess what you meant
24 lessons · 7 tracks
Git
Practise on a real object model
22 lessons · 26 drills
Regex
Say what it matches before you run it
18 lessons · 36 drills · 23 tasks
Vim
Practice until it becomes instinct
51 lessons · 120 drills
Reading
2 gymsData
2 gymsThe wire and the machine
3 gymsShipping
3 gymsOperating
3 gymsMore than half of them close on the same track — reading what the model generated. Review is that track stretched to a whole gym.
How it works
How every gym works.
- engineReal engine, not an animation.
- Type actual commands. Watch the actual object model change. There are no fake dials and no cartoon graphs.
- gradeGraded on state, not opinion.
- Did the filesystem reach the target? Did the repository? Did your test notice the mutant? The engine checks, and it does not round up.
- localLocal-first. Free forever.
- No account, no backend, no analytics. Every byte of progress stays in your browser. It is the reason the whole thing can be free.
Or just ask the terminal
This site has been a shell since day one. It still is.
The cursor you followed down the page ends here, inside a real terminal (built on our own xterm-mock). Try:
- $ cd learn
- $ ls
- $ cat sql
- $ route sql
- $ cat Makefile
- $ help
- Review — Read the diff like it's lying to you
- Secure — Prove the exploit
- Debug — Find the fault before the clock does
- Test — A green suite is a claim
- Concurrency — The bug that only happens on the fourteenth Tuesday
- Regex — Say what it matches before you run it
- SQL — Read the plan, not the query
- Schema — Migrations that don't lock the table
- Net — Read the handshake, not the docs
- Shell — The last interface that does not guess what you meant
- Git — Practise on a real object model
- Vim — Practice until it becomes instinct
- System Design — Learn by operating systems
- Linux — Read the strace, not the man page
- Container — An image is a filesystem diff, not a zip
- Deploy — Declare the state, then watch the loop fight you
- Infra — Read the plan before you apply
- Run — Predict the state before you press run
- GitHub
Also on the workbench