Design a Message Queue
A new course: build the queue behind a shop’s order emails, from a list in memory on one machine to a replicated broker like SQS. Nine animated lessons, about 3.3 hours, with the first module free.
- Course
Changelog
New courses, lessons, features and fixes, newest first, back to the day we launched.
RSS feed17 changes
A new course: build the queue behind a shop’s order emails, from a list in memory on one machine to a replicated broker like SQS. Nine animated lessons, about 3.3 hours, with the first module free.
Playback speed, volume and mute are saved once and used in every lesson of every course.
Feedback in the sidebar, or in the ⌘K menu, opens a short form that knows which page you were on. Paste or drop in up to three screenshots.
Hovering a link from one lesson to another inside a lesson’s text could lock up the browser tab. Those links now go straight to the lesson.
The papers left the course format for a library with one page per paper. Filter by theme, hide the ones you’ve watched, sort by year, and pick up where you stopped in the Continue row.
The first six papers are free, and they now play for anyone, signed in or not.
Sign in with a code or link sent to your email, with Google, or with a password. Settings has your photo, your sign-in methods and the devices you’re signed in on. Your progress and certificates carried over.
On some pages the dashboard could slide up under the top bar and cut off the sidebar. It stays put now.
Home shows the courses you’re in with the lesson to resume, what shipped lately, and what’s up for a vote.
⌘K, Ctrl+K or / opens search on every page. It finds lessons by what they say, plus papers, quizzes, Stacktrace posts and guides. Press ? to see every keyboard shortcut.
Each new course covers one topic all the way. Vote for the ones you want or suggest your own, and the most voted get made first.
Six emoji under the player mark the moment you’re watching. Pins on the timeline show how many people reacted where, never who.
When a lesson ends, a card counts down to the next one, or lets you stay or replay. The sidebar shows each module as a card with its own progress, and a lesson can be marked incomplete again.
Play a real lesson on the homepage without signing in, and try live diagrams from the courses, like killing replicas in a quorum ring. The site’s main script is about a quarter of its old size.
Space no longer pauses the video while you’re using a button or a form, a new lesson opens at the top of the page, and buttons are easier to tap on phones.
18 papers in six modules, each an animated lesson tied to a real system, with the paper’s own passages on screen. Four are new: Lampson’s hints for system design, how complex systems fail, simple testing, and ReAct.
All 25 lessons are new animated videos that follow one ticketing app, tixdrop, as it grows from one server to many. The written lessons go deeper, the quizzes are new scenarios, and the whole first module is free.
7 changes
All 17 lessons now play as animations in light or dark, with clearer trees, heaps and graphs.
Turn captions off once and they stay off across lessons and reloads.
Longer reads on what to learn and why, starting with the case for Go and which software papers to read first.
The text of every free lesson now loads for anyone. Sign in to watch the video.
Opening a lesson deep in a long course scrolls the sidebar to it. Old course links now land on the right lesson.
The last six lessons, from fuzzing to logging and config, finish the course at 33 lessons, updated for Go 1.27. It has six module quizzes and a certificate, and every lesson links to the companion repo at that point in the build.
Inside a course, the command menu lists that course’s lessons instead of every course. Code in quiz questions shows as code.
3 changes
Channels, fan-out and fan-in, select and context, the sync package, the concurrent aggregator, panic and recover, and table-driven tests.
Every lesson, quiz and the certificate in Data Structures & Algorithms: Foundations is open to anyone with an account.
The top of a course page no longer cuts off its artwork and text on small screens.
8 changes
Files and defer, io.Reader and io.Writer, calling a REST API, methods, interfaces, embedding, any, generics, and goroutines.
A lesson’s video resumes where you stopped watching it in this browser.
Before you start, a lesson plays its first few seconds silently, so you see what’s coming instead of an empty stage.
Animated lessons follow the site’s theme. Switch to light and the video switches with it, even mid-lesson.
Each course ends with a certificate page. It lists what you still need to finish, then lets you claim the certificate right there.
Every course has artwork drawn for each theme, and course pages now open with it.
Lessons can now play as animation drawn in your browser alongside the narration, instead of as a video file, so text stays crisp at any size. The player also gained picture-in-picture and full screen on phones.
The written lessons for Go Foundations 12 to 33 opened while their videos were still being recorded.
7 changes
Control flow, functions, pointers, strings, slices, maps and structs, and errors as values.
Lessons play in kino, a video player we built and open sourced, with the same controls in every course.
A new course from big-O to graphs: 17 lessons, five module quizzes and a certificate. The first nine lessons came out on June 14.
A new course that teaches Go by building a feed aggregator, one piece per lesson. Lessons 1 to 4 are out, and the first one is free.
Who writes the lessons, who reviews them, and how the AI narration fits in.
Papers 11 to 15 came out in June, finishing the course with five module quizzes and a certificate.
4 changes
Papers 2 to 10, from Out of the Tar Pit to The Tail at Scale, one or two a week.
Some paid Distributed Systems lessons showed an empty page. They load again.
Finish every lesson and pass every quiz in a course to claim a certificate, with a public page anyone can check and a PDF to download.
8 changes
A new course that reads one classic paper per lesson, starting with No Silver Bullet.
Lessons 16 to 25 are out, so all 25 lessons of Distributed Systems in a Day now have a video with captions.
Press ⌘K or Ctrl+K in a course to jump to any lesson or quiz. On a lesson, it offers the next and previous ones.
Each Distributed Systems module ends in a quiz. Every attempt draws five questions from a bank of 35, so a retake isn’t a memory test.
Distributed Systems lessons started getting videos with captions, a few at a time.
A lesson marks itself complete when its video ends, or you can mark it yourself. Finished lessons get a check in the sidebar.
Rate a lesson and leave a note at the bottom of its page.
3 changes
Create an account to unlock the full course. Free lessons stay open to everyone.
All 25 lessons as text, from why systems get distributed to observability, with simulators to run in the page, like Raft leader election and a token bucket rate limiter.
The first page went up, with the outline of our first course, Distributed Systems in a Day.