Build Your Own X

repository·master·Indexed 11 days ago

https://github.com/codecrafters-io/build-your-own-x

A curated compilation of high-quality, step-by-step tutorials that guide developers through the process of building complex software technologies from scratch. Covered domains include low-level systems (Operating Systems, Memory Allocators, Processors), web technologies (Web Servers, Browsers, Front-end Frameworks), and advanced computing such as AI Models, Neural Networks, Blockchain, Distributed Systems, 3D Renderers, and Databases.

Tokens
6.9K
Snippets
0
Records
32
Agent score
50%

What's inside Build Your Own X

  1. Explore Build Your Own X tutorials

    master
    The build-your-own-x repository provides a curated collection of step-by-step guides designed to help developers learn complex technologies by re-creating them from scratch. You can find tutorials covering a wide range of domains including low-level systems (Operating Systems, Memory Allocators, Processors), web technologies (Web Servers, Browsers, Front-end Frameworks), and advanced computing (AI Models, Neural Networks, Blockchain).
  2. Build your own Augmented Reality

    master
  3. Build your own Games

    master

    Find tutorials for game development ranging from simple logic to full engines. Topics include:

    • Classic Games: Tetris, Snake, Breakout, Space Invaders, and Flappy Bird.
    • Genres: Roguelikes, RPGs, Chess engines, and Sudoku solvers.
    • Engines & Frameworks: Using SDL, PyGame, Phaser, LWJGL, or building engines from scratch in C/C++.

    Supported languages: C, C++, C#, Go, Java, JavaScript, Lua, Python, Ruby, and Rust.

  4. Build your own Template Engine

    master

    Resources for creating lightweight template engines for text manipulation.

    Available tutorials by language:

    • JavaScript: 20-line template engines and micro-templating.
    • Python: Toy template engines and general template engine architecture.
    • Ruby: Writing a template library in <30 lines.
  5. Build your own Command-Line Tool

    master
  6. Build your own Web Server

    master
  7. Build your own Neural Networks

    master

    Explore machine learning by implementing neural network architectures from the ground up. Topics include:

    • Core Architectures: Perceptrons, Multilayer Perceptrons, and Convolutional Neural Networks (CNNs).
    • Advanced Implementations: Reimplementing PyTorch internals (SlowTorch) or building Deep Learning frameworks.
    • Applications: Optical Character Recognition (OCR), traffic sign classification, and music generation using LSTM.

    Supported languages: C#, F#, Go, JavaScript, Java, and Python.

  8. Build your own Programming Language

    master

    A comprehensive list of resources for building interpreters, compilers, and language runtimes.

    Key topics include:

    • Interpreters: Lisp (mal, lisp.py, Little Lisp), Python, and Scheme.
    • Compilers: C, C++ (LLVM/Kaleidoscope, Flex), Go (Super Tiny Compiler), Haskell, Java (JVM languages), OCaml, and WebAssembly.
    • Language Components: Garbage Collection (C), Parser Combinators (F#, Rust), and Lexical Scanning (Go).
    • Language Types: Lisp, Python, and Markdown compilers.