Build Your Own X From Scratch Books

Level up your coding skills. By building projects from scratch. With succinct & condensed books.

Redis Database Regex Engine Compiler Interpreter

Build Your Own Redis with C/C++

Learn network programming and data structures by building a Redis-like server from scratch with C/C++.

  • Why build Redis? The knowledge required is broader and deeper than usual application-level development. It's a good way to level up your skills (mainly network programming and data structures).
  • Why start from scratch? A quote from Richard Feynman: โ€œWhat I cannot create, I do not understandโ€. Human understanding is full of holes aka โ€œthings I don't know that I don't knowโ€. Building from scratch is one way to ensure that your understanding is complete.
  • Why C? C is widely used in system programming and infrastructure software. Learn how C is used in real projects, with simple C code. No prior C/C++ experience is required.
  • Why a book? The Redis project is a complex software system built with a lot of effort, which can be hard to grasp for beginners. The book breaks down the core concepts into easily digestible steps.
Read Now! Purchase$ Subscribe

Build Your Own Database From Scratch

Databases are not black boxes. Understand them by building your own from scratch!

From B-tree to KV store, then relational DB, in small steps and straightforward Golang code.

Although the book is short and the implementation is minimal, it covers three important topics:

  1. Persistence.
    How not to lose or corrupt your data. Recovering from a crash.
  2. Indexing.
    Efficiently querying and manipulating of on-disk data. (B-tree).
  3. Concurrency.
    How to handle multiple (large number of) clients. And transactions.
Read Now! Purchase$ Subscribe

๐Ÿ†• From Source Code To Machine Code

Ever wondered how computers turn source code into working software? You can learn the art by building your own mini-compiler.

A succinct book walks through a minimal yet complete compiler implementation. Compiles a static-typed language into x64 ELF executables.

Contents included:

  • Simple interpreter. Get your own programming language up and running.
  • Bytecode compiler. The next step after the interpreter.
  • x64 assembly & instruction encoding. Understand how the machine works.
  • Translating bytecode into x64 code. Run your language natively on the machine.
  • Generating binary executables. The final step to a working compiler.
Read Now! Purchase$ Subscribe