Free · hands-on · no account required
The model writes the code. You still have to read it. Thirteen free, hands-on gyms for the skills that don't go away.
↓ 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 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
Fundamentals outlive the tooling.
Editors, models and frameworks turn over every few years. Object models, query plans, schedulers, quoting rules and failure modes do not. Learn the layer that stays.
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
Thirteen gyms. One real engine each.
Pick whichever you'd fail today. Every card below is a live sketch of the engine underneath.
Review
Read the diff like it's lying to you
56 exercises
Secure
Prove the exploit
21 lessons · 41 exercises
Debug
Find the fault before the clock does
9 incidents
Test
A green suite is a claim
10 lessons · 8 tracks
Concurrency
The bug that only happens on the fourteenth Tuesday
21 lessons
Regex
Say what it matches before you run it
18 lessons · 36 drills · 23 tasks
SQL
Read the plan, not the query
25 lessons · 7 tracks
Shell
The last interface that does not guess what you meant
24 lessons · 7 tracks
Net
Read the handshake, not the docs
9 lessons · 7 tasks
Git
Practise on a real object model
22 lessons · 26 drills
Vim
Practice until it becomes instinct
51 lessons · 120 drills
System Design
Learn by operating systems
37 lessons · 4 labs · 4 missions
Schema
Migrations that don't lock the table
9 lessons · 10 tasks · 5 audits
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.
Also on the workbench
Tools we build while we're at it.
liter8.sh also builds open-source developer tools and libraries in Rust, Go, and TypeScript, with practical engineering notes on the blog.
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
- $ 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
- Shell — The last interface that does not guess what you meant
- Net — Read the handshake, not the docs
- Git — Practise on a real object model
- Vim — Practice until it becomes instinct
- System Design — Learn by operating systems
- Schema — Migrations that don't lock the table
- GitHub