Table of contents
- 3D Renderer
- Augmented Reality
- BitTorrent Client
- Blockchain / Cryptocurrency
- Bot
- Command-Line Tool
- Database
- Docker
- Emulator / Virtual Machine
- Front-end Framework / Library
- Game
- Git
- Network Stack
- Neural Network
- Operating System
- Physics Engine
- Programming Language
- Regex Engine
- Search Engine
- Shell
- Template Engine
- Text Editor
- Visual Recognition System
- Voxel Engine
- Web Search Engine
- Web Server
- Uncategorized
Tutorials
Build your own3D Renderer
- C++:Introduction to Ray Tracing: a Simple Method for Creating 3D Images
- C++:How OpenGL works: software rendering in 500 lines of code
- C++:Raycasting engine of Wolfenstein 3D
- C++:Physically Based Rendering:From Theory To Implementation
- C++:Rasterization: a Practical Implementation
- C# / TypeScript / JavaScript:Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript
- Java / JavaScript:Build your own 3D renderer
- Java:How to create your own simple 3D render engine in pure Java
- JavaScript / Pseudocode:Computer Graphics from scratch
- Python:A 3D Modeller
Build your ownAugmented Reality
- C#:How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D [video]
- C#:Windows Mixed Reality Academy [video]
- C#:How To Unity ARCore [video]
- C#:AR Portal Tutorial with Unity [video]
- C#:How to create a Dragon in Augmented Reality in Unity ARCore [video]
- C#:How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down [video]
- Python:Augmented Reality with Python and OpenCV
Build your ownBitTorrent Client
- C#:Building a BitTorrent client from scratch in C#
- Nim:Writing a Bencode Parser
- Node.js:Write your own bittorrent client
- Python:A BitTorrent client in Python 3.5
Build your ownBlockchain / Cryptocurrency
- ATS:Functional Blockchain
- C#:Programming The Blockchain in C#
- Crystal:Write your own blockchain and PoW algorithm using Crystal
- Go:Building Blockchain in Go
- Go:Code your own blockchain in less than 200 lines of Go
- Go:Building A Simple Blockchain with Go
- 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
- JavaScript:Creating a blockchain with JavaScript [video]
- JavaScript:How To Launch Your Own Production-Ready Cryptocurrency
- Kotlin:Let’s implement a cryptocurrency in Kotlin
- Python:Learn Blockchains by Building One
- Python:Build your own blockchain: a Python tutorial
- Python:A Practical Introduction to Blockchain with Python
- Python:Let’s Build the Tiniest Blockchain
- Ruby:Programming Blockchains Step-by-Step (Manuscripts Book Edition)
- Scala:How to build a simple actor-based blockchain
- TypeScript:Naivecoin: a tutorial for building a cryptocurrency
- TypeScript:NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus
Build your ownBot
- Haskell:Roll your own IRC bot
- Java:How To Make a Scary Russian Twitter Bot With Java
- Node.js:Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js
- Node.js:How to make a responsive telegram bot
- Node.js:Create a Discord bot
- Node.js:gifbot - Building a GitHub App
- Node.js:Building A Simple AI Chatbot With Web Speech API And Node.js
- Python:Chatbot Fundamentals: An interactive guide to writing bots in Python
- Python:How to Build Your First Slack Bot with Python
- Python:How to build a Slack Bot with Python using Slack Events API & Django under 20 minute
- 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
- Python:Creating Reddit Bot with Python & PRAW [video]
- R:Build A Cryptocurrency Trading Bot with R
- Rust:A bot for Starcraft in Rust, C or any other language
Build your ownCommand-Line Tool
- C:Rewriting the cat command from scratch [video]
- Go:Visualize your local git contributions with Go
- Go:Build a command line app with Go: lolcat
- Go:Building a cli command with Go: cowsay
- Go:Go CLI tutorial: fortune clone
- Nim:Writing a stow alternative to manage dotfiles
Build your ownDatabase
- C:Let's Build a Simple Database
- C++:Implementing a Key-Value Store
- C#:Build Your Own Database
- Clojure:An Archaeology-Inspired Database
- Crystal:Why you should build your own NoSQL Database
- JavaScript:Dagoba: an in-memory graph database
- Python:DBDB: Dog Bed Database
- Python:Write your own miniature Redis with Python
Build your ownDocker
- C:Linux containers in 500 lines of code
- C++:Creating your own containers
- 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 ownEmulator / Virtual Machine
- C:Virtual machine in C
- C:Write your Own Virtual Machine
- C:Writing a Game Boy emulator, Cinoop
- C++:How to write an emulator (CHIP-8 interpreter)
- C++:Emulation tutorial (CHIP-8 interpreter)
- C++:Emulation tutorial (GameBoy emulator)
- C++:Emulation tutorial (Master System emulator)
- Common Lisp:CHIP-8 in Common Lisp
- JavaScript:GameBoy Emulation in JavaScript
- Python:Emulation Basics: Write your own Chip 8 Emulator/Interpreter
Build your ownFront-end Framework / Library
- JavaScript:WTF is JSX (Let's Build a JSX Renderer)
- JavaScript:A DIY guide to build your own React
- JavaScript:Reverse Engineering React [video]
- JavaScript:Building React From Scratch [video]
- JavaScript:Building Your Own React Clone in Five Easy Steps
- JavaScript:Gooact: React in 160 lines of JavaScript
- JavaScript:React Internals
- JavaScript:Learn how React Reconciler package works by building your own lightweight React DOM
- JavaScript:Build Yourself a Redux
- JavaScript:Let’s Write Redux!
- JavaScript:Redux: Implementing Store from Scratch [video]
- JavaScript:Build Your own Simplified AngularJS in 200 Lines of JavaScript
- JavaScript:Make Your Own AngularJS
- JavaScript:How to write your own Virtual DOM
- JavaScript:Building a frontend framework, from scratch, with components (templating, state, VDOM)
Build your ownGame
- 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:On Tetris and Reimplementation
- C++:Breakout
- C++:Beginning Game Programming v2.0
- C++:Tetris tutorial in C++ platform independent focused in game logic for beginners
- C++:Remaking Cavestory in C++ [video]
- C++:Reconstructing Cave Story [video]
- C++:Space Invaders from Scratch
- C#:Learn C# by Building a Simple RPG
- C#:Creating a Roguelike Game in C#
- C#:Build a C#/WPF RPG
- Go:Games With Go [video]
- Java:3D Game Development with LWJGL 3
- JavaScript:2D breakout game using Phaser
- JavaScript:How to Make Flappy Bird in HTML5 With Phaser
- JavaScript:Developing Games with React, Redux, and SVG
- JavaScript:Build your own 8-Ball Pool game from scratch [video]
- JavaScript:How to Make Your First Roguelike
- JavaScript:Think like a programmer: How to build Snake using only JavaScript, HTML & CSS
- Lua:BYTEPATH
- Python:Developing Games With PyGame
- Python:Making Games with Python & Pygame [pdf]
- Python:The Complete Roguelike Tutorial [video]
- Python:Roguelike Tutorial Revised
- Ruby:Developing Games With Ruby
- Ruby:Ruby Snake
- Rust:Adventures in Rust: A Basic 2D Game
- Rust:Roguelike Tutorial in Rust + tcod
Build your ownGit
- Haskell:Reimplementing “git clone” in Haskell from the bottom up
- 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 ownNetwork 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 ownNeural Network
- C#:Neural Network OCR
- F#:Building Neural Networks in F#
- 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
- JavaScript / Java:Neural Networks - The Nature of Code [video]
- JavaScript:Neural Network implementation in JavaScript, by an example
- JavaScript:Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)
- Python:A Neural Network in 11 lines of Python
- Python:Implement a Neural Network from Scratch
- Python:Optical Character Recognition (OCR)
- Python:Traffic signs classification with a convolutional network
- Python:Generate Music using LSTM Neural Network in Keras
Build your ownOperating System
- Assembly:Writing a Tiny x86 Bootloader
- Assembly:Baking Pi – Operating Systems Development
- C:Building a software and hardware stack for a simple computer from scratch [video]
- C:Operating Systems: From 0 to 1
- C:The little book about OS development
- C:Roll your own toy UNIX-clone OS
- C:Kernel 101 – Let’s write a Kernel
- C:Kernel 201 – Let’s write a Kernel with keyboard and screen support
- 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:Learning operating system development using Linux kernel and Raspberry Pi
- C:Operating systems development for Dummies
- C++:Write your own Operating System [video]
- C++:Writing a Bootloader
- Rust:Writing an OS in Rust
Build your ownPhysics Engine
- C:Video Game Physics Tutorial
- C++:Game physics series by Allen Chou
- C++:How to Create a Custom Physics Engine
- C++:Game physics series by Glenn Fiedler
- C++:3D Physics Engine Tutorial [video]
- C#:TowerFall Physics
- JavaScript:Build your own basic physics engine in JavaScript
- JavaScript:How Physics Engines Work
- JavaScript:Broad Phase Collision Detection Using Spatial Partitioning
- JavaScript:Build a simple 2D physics engine for JavaScript games
Build your ownProgramming Language
- (any):mal - Make a Lisp
- Assembly:Jonesforth
- 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:Writing a Simple Garbage Collector in C
- C:C interpreter that interprets itself.
- C:A C & x86 version of the "Let's Build a Compiler" by Jack Crenshaw
- C++:Writing Your Own Toy Compiler Using Flex
- C++:How to Create a Compiler [video]
- C++:Kaleidoscope: Implementing a Language with LLVM
- F#:Understanding Parser Combinators
- Elixir:Demystifying compilers by writing your own [video]
- Go:The Super Tiny Compiler
- Go:Lexical Scanning in Go [video]
- Haskell:Let's Build a Compiler
- Haskell:Write You a Haskell
- Haskell:Write Yourself a Scheme in 48 Hours
- Haskell:Write You A Scheme
- Java:Crafting interpreters: A handbook for making programming languages
- Java:Creating JVM Language
- JavaScript:The Super Tiny Compiler
- JavaScript:The Super Tiny Interpreter
- JavaScript:Little Lisp interpreter
- JavaScript:How to implement a programming language in JavaScript
- OCaml:Writing a C Compiler
- OCaml:Writing a Lisp, the series
- Pascal:Let's Build a Compiler
- 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
- Python:How to Write a Lisp Interpreter in Python
- Python:Let’s Build A Simple Interpreter
- Python:Make Your Own Simple Interpreted Programming Language [video]
- Racket:Beautiful Racket: How to make your own programming languages with Racket
- Ruby:A Compiler From Scratch
- Ruby:Markdown compiler from scratch in Ruby
- Rust:So You Want to Build a Language VM
- Swift:Building a LISP from scratch with Swift
Build your ownRegex 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
- JavaScript:How to implement regular expressions in functional javascript using derivatives
- Perl:How Regexes Work
- Scala:No Magic: Regular Expressions
Build your ownSearch Engine
- CSS:A search engine in CSS
- Python:Building a search engine using Redis and redis-py
- Python:Building a Vector Space Indexing Engine in Python
- Python:Building A Python-Based Search Engine [video]
- Python:Making text search learn from feedback
- Python:Finding Important Words in Text Using TF-IDF
Build your ownShell
- C:Tutorial - Write a Shell in C
- C:Let's build a shell!
- C:Writing a UNIX Shell
- C:Build Your Own Shell
- Go:Writing a simple shell in Go
- Ruby:A Unix Shell in Ruby
- Rust:Build Your Own Shell using Rust
Build your ownTemplate Engine
- JavaScript:JavaScript template engine in just 20 lines
- JavaScript:Understanding JavaScript Micro-Templating
- 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 ownText Editor
- C:Build Your Own Text Editor
- C++:Designing a Simple Text Editor
- Python:Python Tutorial: Make Your Own Text Editor [video]
- Python:Create a Simple Python Text Editor!
- Ruby:Build a Collaborative Text Editor Using Rails
Build your ownVisual Recognition System
- Python:Developing a License Plate Recognition System with Machine Learning in Python
- Python:Building a Facial Recognition Pipeline with Deep Learning in Tensorflow
Build your ownVoxel Engine
- C++:Let's Make a Voxel Engine
- Java:Let's make a voxel engine [video]
- Java:Java Voxel Engine Tutorial [video]
Build your ownWeb Search Engine
Build your ownWeb Server
- C#:Writing a Web Server from Scratch
- Node.js:Let's code a web server from scratch with NodeJS Streams
- Node.js:lets-build-express
- 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
- Python:Implementing a RESTful Web API with Python & Flask
- Ruby:Building a simple websockets server from scratch in Ruby
Uncategorized
- (any):From NAND to Tetris: Building a Modern Computer From First Principles
- Alloy:The Same-Origin Policy
- C:How to Write a Video Player in Less Than 1000 Lines
- C:Learn how to write a hash table in C
- C:Writing an SVG Library
- C:The very basics of a terminal emulator
- C:Write a System Call
- C:Sol - An MQTT broker from scratch
- C++:Build your own VR headset for $100
- C++:How X Window Managers work and how to write one
- C++:Writing a Linux Debugger
- C++:How a 64k intro is made
- C#:C# Networking: Create a TCP chater server, TCP games, UDP Pong and more
- C#:Loading and rendering 3D skeletal animations from scratch in C# and GLSL
- Clojure:Building a spell-checker
- Java:How to Build an Android Reddit App [video]
- JavaScript:Build Your Own Module Bundler - Minipack
- JavaScript:Learn JavaScript Promises by Building a Promise from Scratch
- JavaScript:Implementing promises from scratch (TDD way)
- JavaScript:Implement your own — call(), apply() and bind() method in JavaScript
- JavaScript:JavaScript Algorithms and Data Structures
- JavaScript:How to Make an Evolutionary Tetris AI [video]
- JavaScript:Building a Simple URL Shortener With Just HTML and Javascript
- JavaScript:Build a ride hailing app with React Native
- Kotlin:Build Your Own Cache
- Nim:Writing a Redis Protocol Parser
- Nim:Writing a Build system
- Nim:Writing a MiniTest Framework
- Nim:Writing a DMIDecode Parser
- Nim:Writing a INI Parser
- Nim:Writing a Link Checker
- Nim:Writing a URL Shortening Service
- Node.js:Build a static site generator in 40 lines with Node.js
- Node.js:Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js.
- Node.js:How to create a real-world Node CLI app with Node
- PHP:Write your own MVC from scratch in PHP
- PHP:Make your own blog
- PHP:Modern PHP Without a Framework
- Python:Build a Deep Learning Library [video]
- Python:How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes
- Python:Continuous Integration System
- Python:Recommender Systems in Python: Beginner Tutorial
- Python:Write SMS-spam detector with Scikit-learn
- Python:A Simple Content-Based Recommendation Engine in Python
- Python:Stock Market Predictions with LSTM in Python
- Python:Build your own error-correction fountain code with Luby Transform Codes
- Python:Building a simple Generative Adversial Network (GAN) using Tensorflow
- Python:Learn ML Algorithms by coding: Decision Trees
- Python:JSON Decoding Algorithm
- Ruby:A Pedometer in the Real World
- Ruby:Creating a Linux Desktop application with Ruby
- Rust:Let's build a browser engine
- Rust:Building a DNS server in Rust
- Rust:Writing Scalable Chat Service from Scratch
- TypeScript:Make your own GraphQL metrics dashboard
- TypeScript:Tiny Package Manager: Learns how npm or Yarn works
How to contribute
- Contributions are very welcome:Submit tutorial
Follow me on Github:www.github.com/rubiin
- Help me to reviewpending submissions by leaving comments and "reactions"
Top comments(1)
Subscribe
For further actions, you may consider blocking this person and/orreporting abuse