Lessons · new
Learn how it works
Lessons on how systems like Rasputin work: one idea per lesson, practiced on your own computer, with Rasputin as the worked example.
Each lesson teaches one idea you can use anywhere, and uses Rasputin as the real example. The labs run on your own computer. In some you build something in a folder you make for the lesson; in others you ask public systems a question and read the reply. A few lessons are for reading only and have no lab. None of them needs Rasputin hardware, Rasputin code or an account.
A lesson is written for one reader: beginner (new to the field), intermediate (knows the basics and wants the tradeoff) or advanced (a practitioner who wants how it is built).
Rasputin is built with AI coding assistants, and a person reviews every change before it lands. You can see how that works. The devlog covers a scheduled agent that opens pull requests a person merges, an audit and a re-audit of what a coding agent keeps in memory, and four agents that check each other’s work. The AI disclosure explains how review works and which commits had AI help.
This section is new. The lists below show only lessons that are published, and more are being written.
All lessons
System shape
Beginner The parts of a small distributed system Intermediate One image, role chosen at bootEngineering records
Beginner How to read a decision record Intermediate Runs on, tested on: reading a support claimChanging state
Beginner Why every change goes through one path Intermediate Converge or act once, derive or store Advanced A multi-step change with no undoNames
Beginner How a name becomes an address Intermediate Two names instead of one name with two answers Advanced How an authoritative nameserver answers, and where it breaksFirewalls
Beginner How a firewall decides Intermediate Declaring firewall rules instead of editing themOverlay networks
Beginner What an overlay network is Intermediate Embedding a server or running it beside you Advanced Why a listed route still carries nothingIntrusion detection
Beginner Detecting traffic is not stopping it Intermediate What a detection-only decision gives upCertificates
Beginner Why a browser warns about a private certificate authority Intermediate Why a vendor's signing CA and each installation's CA stay separateMessaging
Beginner How machines send each other messages Intermediate Choosing a transport for machines that come and goCompatibility
Intermediate What an old reader does with a new field Advanced Building a reader that refuses one tile, not the catalogPasskeys
Beginner Why a passkey belongs to one name Intermediate What passkey-only sign-in costsVersion numbers
Beginner Why software has version numbers Intermediate What a calendar version stops telling youSigning
Beginner What a signature proves that a checksum does not Intermediate Why a second signing key needs its own purposeCI gates
Beginner What a passing check proves Intermediate Which checks can stop a mergeUpdates
Beginner How an update can fall back Intermediate Rolling an update across a fleet Advanced How a machine proves an update workedProvisioning
Beginner What provisioning gives a new machine Intermediate Why first boot stops instead of guessingMonitoring
Beginner What a heartbeat, a metric and a log line tell youBackup
Beginner How you know a backup works Intermediate Why restore is never automatic Advanced A backup the service writes and cannot readTrack: Network engineer 18 lessons
18 lessons are published in this track so far, in reading order.
Track: Software developer 17 lessons
17 lessons are published in this track so far, in reading order.
Track: DevOps 15 lessons
15 lessons are published in this track so far, in reading order.
Track: Operations 16 lessons
16 lessons are published in this track so far, in reading order.