We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.

Learn the Handmade way.

Dive into one of these topics and start learning.

What makes us different?

Real material.

We equip you to go straight to the source. Our guides are structured around books and articles written by experts. We give you high-quality material to read, and the context to understand it. You do the rest.

For any skill level.

Each guide runs the gamut from beginner to advanced. Whether you're new to a topic or have been practicing it for years, read through our guides and you'll find something new.

Designed for programmers.

We're not here to teach you how to program. We're here to teach you a specific topic.

All Topics

Compilers

Classical compiler construction (coming soon)

Learn the basics of programming languages and compilers, and equip yourself to make DSLs and toy languages.

Baby's first language theory (coming soon)

State machines, abstract datatypes, type theory...

Networking

Stuffing a cat through internet tubes in 3 easy steps

Learn about the web stack all the way from HTTP down to Ethernet.

Internet infrastructure (coming soon)

How does the internet actually work? How does your ISP know where to send your data? What happens to the internet if physical communication breaks down?

Time

Representing dates and times

Learn the fundamentals of how dates, times, and timezones work, so you can avoid many common mistakes.

Synchronizing clocks with NTP

Learn how to synchronize computer clocks using the Network Time Protocol.