Repositorio original: https://github.com/codecrafters-io/build-your-own-x
feynman.png | ||
ISSUE_TEMPLATE | ||
README.md |
Build your own 3D Renderer
- C++: Introduction to Ray Tracing: a Simple Method for Creating 3D Images
- C++: How OpenGL works: software rendering in 500 lines of code
- Java + JavaScript: Build your own 3D renderer
- Java: How to create your own simple 3D render engine in pure Java
Build your own Blockchain / Cryptocurrency
- ATS: Functional Blockchain
- Ethereum: From “What is Blockchain?” to building a blockchain in less than an hour
- Go: Building Blockchain in Go
- Haskell: A simple cryptocurrency implementation, written to illustrate the basic components of a Proof-of-Work based public distributed ledger
- Java: Creating Your First Blockchain with Java
- JavaScript: A cryptocurrency implementation in less than 1500 lines of code
- JavaScript: Build your own Blockchain in Javascript
- JavaScript: Learn & Build a Javascript Blockchain
- Python: Learn Blockchains by Building One
- Python: Build your own blockchain: a Python tutorial
- TypeScript: Naivecoin: a tutorial for building a cryptocurrency
Build your own Bot
- Haskell: Roll your own IRC bot
- Node.js: Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js
- Node.js: Why you should have your own Twitter bot, and how to build one in less than 30 minutes
- Node.js: How to make a responsive telegram bot
- Node.js: Create a Discord bot
- PHP: Let’s write a cryptocurrency bot
- Python: Step-by-Step Instructions for Building a Basic Facebook Chat Bot
- Python: Build a Reddit Bot
- Python: How To Make A reddit Bot [video]
- Python: How To Create a Telegram Bot Using Python
- Python: Create a Twitter Bot in Python Using Tweepy
- R: Build A Cryptocurrency Trading Bot with R
Build your own Database
- C: Let's Build a Simple Database
- C++: Implementing a Key-Value Store
- C#: Build Your Own Database
- Clojure: An Archaeology-Inspired Database
- JavaScript: Dagoba: an in-memory graph database
- Python: DBDB: Dog Bed Database
Build your own Front-end Framework / Library
- JavaScript: A DIY guide to build your own React
- JavaScript: Reverse Engineering React
- JavaScript: Building React From Scratch [video]
- JavaScript: Building Your Own React Clone in Five Easy Steps
- JavaScript: Build your own Vuejs
- JavaScript: Build Yourself a Redux
- JavaScript: Let’s Write Redux!
- JavaScript: Redux: Implementing Store from Scratch
- JavaScript: Build Your own Simplified AngularJS in 200 Lines of JavaScript
- JavaScript: How to write your own Virtual DOM
Build your own Docker
- C: Linux containers in 500 lines of code
- Go: Building a container from scratch in Go [video]
- Python: A workshop on Linux containers: Rebuild Docker from Scratch
- Python: A proof-of-concept imitation of Docker, written in 100% Python
- Shell: Docker implemented in around 100 lines of bash
Build your own Game
- C: Handmade Hero
- C: How to Program an NES game in C
- C: Chess Engine In C [video]
- C: Let's Make: Dangerous Dave [video]
- C: Learn Video Game Programming in C [video]
- C: Coding A Sudoku Solver in C [video]
- C: Coding a Rogue/Nethack RPG in C [video]
- C: Tutorial For a Brickout Clone
- C: A tutorials for a basic Invaders game made in C with GTK: and OpenGL
- C: Astroids Tutorial written in C using GTK with OpenGL and DashGL for matrix manipulation
- C++: How To Make Minecraft in C++/ OpenGL [video]
- C++: Breakout
- C++: Beginning Game Programming v2.0
- C#: Learn C# by Building a Simple RPG
- C#: Creating a Roguelike Game in C#
- JavaScript: 2D breakout game using Phaser
- JavaScript: How to Make Flappy Bird in HTML5 With Phaser
- Lua: BYTEPATH
- Ruby: Write Yourself a Roguelike
- Ruby: Developing Games With Ruby
Build your own Git
- JavaScript: Gitlet
- JavaScript: Build GIT - Learn GIT
- Python: Just enough of a Git client to create a repo, commit, and push itself to GitHub
- Ruby: Rebuilding Git in Ruby
Build your own Neural Network
- C#: Neural Network OCR
- Go: Build a multilayer perceptron with Golang
- Go: How to build a simple artificial neural network with Go
- Go: Building a Neural Net from Scratch in Go
- Java: Neural Networks: Perceptron [video]
- JavaScript: Neural Network implementation in Javascript, by an example
- JavaScript: Neural networks from scratch for Javascript linguists (Part1 — The Perceptron)
- JavaScript: You can build a neural network in JavaScript even if you don’t really understand neural networks
- JavaScript: How to create a Neural Network in JavaScript in only 30 lines of code
- Python: Optical Character Recognition (OCR)
Build your own Network Stack
- C: Beej's Guide to Network Programming
- C: Let's code a TCP/IP stack
- Ruby: How to build a network stack in Ruby
Build your own Operating System
- Assembly: Writing a Tiny x86 Bootloader
- C: Operating Systems: From 0 to 1
- C: The little book about OS development
- C: Kernel 101 –Let’s write a Kernel
- C: Build a minimal multi-tasking kernel for ARM from scratch
- C: How to create an OS from scratch
- C: Malloc tutorial
- C: Hack the virtual memory
- C++: Writing a Bootloader
- Rust: Writing an OS in Rust
Build your own Programming Language
- C: Crafting interpreters: A handbook for making programming languages
- C: Baby's First Garbage Collector
- C: Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code
- C: Implement a minimal interpreter, Compiler (x86/Arm) and JIT compiler from scratch
- C: Writing a Simple Garbage Collector in C
- C++: Writing Your Own Toy Compiler Using Flex
- Go: Lexical Scanning in Go [video]
- Haskell: Let's Build a Compiler
- Haskell: Write You a Haskell
- JavaScript: The Super Tiny Compiler
- OCaml: Writing a C Compiler
- Racket: Beautiful Racket: How to make your own programming languages with Racket
- Ruby: A Compiler From Scratch
- Python: A Python Interpreter Written in Python
- Python: lisp.py: Make your own Lisp interpreter
- Python: Simple Iterator-based Parsing
- Python: Simple Top-Down Parsing in Python
Build your own Regex Engine
- C: A Regular Expression Matcher
- C: Regular Expression Matching Can Be Simple And Fast
- JavaScript: Build a Regex Engine in Less than 40 Lines of Code
- Perl: How Regexes Work
- Scala: No Magic: Regular Expressions
Build your own Shell
- C: Tutorial - Write a Shell in C
- C: Let's build a shell!
- C: Writing a UNIX Shell - Part I
- Ruby: A Unix Shell in Ruby
Build your own Template Engine
- JavaScript: JavaScript template engine in just 20 lines
- Python: Approach: Building a toy template engine in Python
- Python: A Template Engine
- Ruby: How to write a template engine in less than 30 lines of code
Build your own Web Server
- C#: Writing a Web Server from Scratch
- Node.js: Let's code a web server from scratch with NodeJS Streams
- PHP: Writing a webserver in pure PHP
- Python: A Simple Web Server
- Python: Let’s Build A Web Server.
- Python: Web application from scratch
- Python: Building a basic HTTP Server from scratch in Python
- Ruby: Building a simple websockets server from scratch in Ruby
Uncategorized
- Alloy: The Same-Origin Policy
- C: Build Your Own Text Editor
- C: How to Write a Video Player in Less Than 1000 Lines
- C: Learn how to write a hash table in C
- C++: Build your own VR headset for $100
- C++: How to write an emulator (CHIP-8 interpreter)
- C++: Writing a Linux Debugger
- C++: How a 64k intro is made
- Go: Build a web application in Go
- Java: Build a Flashlight App [video]
- JavaScript: Learn JavaScript Promises by Building a Promise from Scratch
- Python: How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes
- Python: Continuous Integration System
- Python: Building a Facial Recognition Pipeline with Deep Learning in Tensorflow
- Python: Recommender Systems in Python: Beginner Tutorial
- Ruby: A Pedometer in the Real World
- Rust: Let's build a browser engine
- Rust: Building a DNS server in Rust
How to contribute
Contributions are very welcome: Submit tutorial
License
To the extent possible under law, Daniel Stefanovic has waived all copyright and related or neighboring rights to this work.