Rust for Systems: Read a SQLite File · 00 · welcome

[ 00 · welcome ] [ free · always ] [ setup · the test loop ]
00

The toolchain, and a file worth reading

[ preview ] The lesson is free to read — building it needs a free account.

You'll set up: Rust, the sboot command and your copy of the course's files, then watch your machine pass a real grading run before you write any Rust. About ten minutes on a new Mac or Linux box, longer on Windows (a large one-time download, 15–20 minutes), and about a minute if Rust is already installed.

The promise

You will build one thing: a reader for the SQLite file format, from its header to walking a b-tree and printing a table's rows.

Who it is for: you write code today, in some language, and Rust starts at zero here. The labs teach what is peculiar to Rust; how a variable, function or loop is spelled lives on one page, Rust, spelled out, which lab 01 puts beside you. New to programming, or coming back after years? Rust for Beginners is built for you, and it counts the same. Already write Rust? From lab 01 on, work from each project's numbered steps and the checks listed under them — together they name every function and test you write — then let sboot test say what is missing.

The format is not a teaching toy: SQLite files hold your browser history, phone backups and most of your apps' data. Every graded input is a small database that ships in your workspace; pointing your finished reader at a .db of your own is an ungraded extra.

Two rules for the whole course: no third-party crates, because writing the parser yourself is the point; and no unsafe (Rust's opt-out from its safety checks), which is where the bare-metal course rust-for-kernels picks up.

How a lab is graded

You read and decide here; you build in your terminal.

  • sboot test grades your work on your own machine, as often as you like. It is how you find out what to fix.
  • sboot submit records the official result with us — the same checks, our computation. It comes back with a link to your code review — written by the course's AI reviewer over your diff; reading that page and pressing Complete on it is what finishes a lab and opens the next.

This course publishes every check it grades, so there is no hidden second list waiting at submit.

One toolchain, three operating systems

Windows, macOS and Linux are equals here. The course only reads files, and every file it grades ships in your workspace. You will never be told to run sqlite3, xxd, hexdump or file: what they do to a database file is what you are here to build. There is no SQLite to install either — you read its bytes, you never call it.

Your code stays yours

The folder sboot start unpacks is yours — plain files and, if git is on your machine, a local git repo you can push anywhere, or nowhere. We hold no GitHub credential and never touch your remote repo: gh, git and sboot only ever run on your machine. sboot submit uploads your source and what your test run printed; what we keep afterwards is the verdict — your progress record — and the diff your code review was written on, not a copy of your repo.

The course's own checks live with sboot, not in your folder (lab 01 shows where), so publishing it publishes only your code.

New machine, months from now? Install sboot, run sboot login, then sboot resume with your folder's path or your repo's address. It fetches what a fresh copy is missing and runs this lab again: the same proof it gives you today.

That's the lesson — free to read. Create a free account to build it: the brief, the grading table and the hint ladder are on the Lab tab.

Create a free account →

Free to start · no credit card · Rust for Beginners is free

The brief, the grading table and the hint ladder live here.

Create a free account to unlock this lab.

Create a free account →

Free to start · no credit card · Rust for Beginners is free

Chat with Guru about the check that is failing you — the written hint ladder on the Lab tab is free and unlimited either way.

Create a free account to unlock this lab.

Create a free account →

Free to start · no credit card · Rust for Beginners is free

Your submitted diff lands here with comments on the exact lines.

Create a free account to unlock this lab.

Create a free account →

Free to start · no credit card · Rust for Beginners is free