From 363261be5fbdb2c90b3c7780e1d9a114fefc7753 Mon Sep 17 00:00:00 2001 From: Raghav Date: Wed, 12 Mar 2025 23:09:04 -0700 Subject: [PATCH 01/15] Added Build Your Own Kafka --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ee4ed88..1948940 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,9 @@ It's a great way to learn. ## Tutorials +#### Build your own `Distributed Systems` +* [**Java**: _Building Your Own Kafka-like System From Scratch: A Step-by-Step Guide_](https://github.com/buildthingsuseful/build-your-own-kafka) + #### Build your own `3D Renderer` * [**C++**: _Introduction to Ray Tracing: a Simple Method for Creating 3D Images_](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work) From f372828cb3228b1535928c9e25dc85787b8eeb4c Mon Sep 17 00:00:00 2001 From: Cristiano Belloni Date: Sat, 22 Mar 2025 17:47:08 +0000 Subject: [PATCH 02/15] Update README. to add sync engine blog post --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee4ed88..d8710b1 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,7 @@ It's a great way to learn. * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**Node.js**: _How to create a real-world Node CLI app with Node_](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) * [**Node.js**: _Build a DNS Server in Node.js_](https://engineerhead.github.io/dns-server/) +* [**Node.js**: _Build a Synchronization Engine with Node.js_and Y.js](https://greenvitriol.com/posts/sync-engine-for-everyone) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) * [**PHP**: _Modern PHP Without a Framework_](https://kevinsmith.io/modern-php-without-a-framework) From 23e8a454983174cf4c6807f0749beeecc8dc4ffb Mon Sep 17 00:00:00 2001 From: Cristiano Belloni Date: Sat, 22 Mar 2025 22:29:16 +0000 Subject: [PATCH 03/15] Typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8710b1..c3c27dd 100644 --- a/README.md +++ b/README.md @@ -449,7 +449,7 @@ It's a great way to learn. * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**Node.js**: _How to create a real-world Node CLI app with Node_](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) * [**Node.js**: _Build a DNS Server in Node.js_](https://engineerhead.github.io/dns-server/) -* [**Node.js**: _Build a Synchronization Engine with Node.js_and Y.js](https://greenvitriol.com/posts/sync-engine-for-everyone) +* [**Node.js**: _Build a Synchronization Engine with Node.js and Y.js_](https://greenvitriol.com/posts/sync-engine-for-everyone) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) * [**PHP**: _Modern PHP Without a Framework_](https://kevinsmith.io/modern-php-without-a-framework) From e9fa6e543b689f6efe04ee09536c4f593ddae7fc Mon Sep 17 00:00:00 2001 From: NikoPit <138299204+NikoPit@users.noreply.github.com> Date: Sat, 29 Mar 2025 19:34:36 +0800 Subject: [PATCH 04/15] "Build your own voxel engine" video unavalible anymore --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ee4ed88..d08a53c 100644 --- a/README.md +++ b/README.md @@ -387,7 +387,6 @@ It's a great way to learn. #### Build your own `Voxel Engine` * [**C++**: _Let's Make a Voxel Engine_](https://sites.google.com/site/letsmakeavoxelengine/home) -* [**Java**: _Java Voxel Engine Tutorial_](https://www.youtube.com/watch?v=QZ4Vk2PkPZk&list=PL80Zqpd23vJfyWQi-8FKDbeO_ZQamLKJL) [video] #### Build your own `Web Browser` From 22707aa3b601567235a6b5f2fc3882938d570697 Mon Sep 17 00:00:00 2001 From: Ryan B Date: Tue, 1 Apr 2025 10:14:39 +0200 Subject: [PATCH 05/15] Removed broken link --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ee4ed88..0d5c32d 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,6 @@ It's a great way to learn. #### Build your own `Blockchain / Cryptocurrency` * [**ATS**: _Functional Blockchain_](https://beta.observablehq.com/@galletti94/functional-blockchain) -* [**C#**: _Programming The Blockchain in C#_](https://programmingblockchain.gitbooks.io/programmingblockchain/) * [**Crystal**: _Write your own blockchain and PoW algorithm using Crystal_](https://medium.com/@bradford_hamilton/write-your-own-blockchain-and-pow-algorithm-using-crystal-d53d5d9d0c52) * [**Go**: _Building Blockchain in Go_](https://jeiwan.net/posts/building-blockchain-in-go-part-1/) * [**Go**: _Code your own blockchain in less than 200 lines of Go_](https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc) From 2fb5a067dfc4a6bb0673b19789d7b387851f17a8 Mon Sep 17 00:00:00 2001 From: "alejandro.nadal@synics.ch" Date: Sat, 26 Apr 2025 16:20:28 +0200 Subject: [PATCH 06/15] Adding section for memory allocators and adding a first tutorial for it --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 0c4d2d1..e75d988 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,10 @@ It's a great way to learn. * [**Python**: _ugit: Learn Git Internals by Building Git Yourself_](https://www.leshenko.net/p/ugit/) * [**Ruby**: _Rebuilding Git in Ruby_](https://robots.thoughtbot.com/rebuilding-git-in-ruby) +#### Build your own `Memory Allocator` + +* [**C**: _Malloc is not magic -- Implementing your own memory allocator_](https://medium.com/p/e0354e914402) + #### Build your own `Network Stack` * [**C**: _Beej's Guide to Network Programming_](http://beej.us/guide/bgnet/) From 923dc62391bf812d1b6c1b836f131b16ced69f45 Mon Sep 17 00:00:00 2001 From: "alejandro.nadal@synics.ch" Date: Sat, 28 Jun 2025 15:33:01 +0200 Subject: [PATCH 07/15] added index element for new section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e75d988..246be2d 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ It's a great way to learn. * [Front-end Framework / Library](#build-your-own-front-end-framework--library) * [Game](#build-your-own-game) * [Git](#build-your-own-git) +* [Memory Allocator](#build-your-own-memory-allocator) * [Network Stack](#build-your-own-network-stack) * [Neural Network](#build-your-own-neural-network) * [Operating System](#build-your-own-operating-system) From 048cd3b3de70e4b429057891576ea394a50cdf48 Mon Sep 17 00:00:00 2001 From: rasbt Date: Sat, 5 Jul 2025 18:13:00 -0500 Subject: [PATCH 08/15] Build your own AI Model section --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 0c4d2d1..0fea2f4 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ This repository is a compilation of well-written, step-by-step guides for re-cre It's a great way to learn. * [3D Renderer](#build-your-own-3d-renderer) +* [AI Model](#ai-model) * [Augmented Reality](#build-your-own-augmented-reality) * [BitTorrent Client](#build-your-own-bittorrent-client) * [Blockchain / Cryptocurrency](#build-your-own-blockchain--cryptocurrency) @@ -52,6 +53,11 @@ It's a great way to learn. * [**JavaScript / Pseudocode**: _Computer Graphics from scratch_](http://www.gabrielgambetta.com/computer-graphics-from-scratch/introduction.html) * [**Python**: _A 3D Modeller_](http://aosabook.org/en/500L/a-3d-modeller.html) +#### Build your own `AI Model` +* [**Python**: A Large Language Model (LLM)_](https://github.com/rasbt/LLMs-from-scratch) +* [**Python**: _Diffusion Models for Image Generation_](https://huggingface.co/learn/diffusion-course/en/unit1/3) +* [**Python**: _RAG for Document Search_](https://github.com/langchain-ai/rag-from-scratch) + #### Build your own `Augmented Reality` * [**C#**: _How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D_](https://www.youtube.com/watch?v=uXNjNcqW4kY) [video] From 13ead245b4bbc9ebafbb0a0f44319f57b35b991d Mon Sep 17 00:00:00 2001 From: Sebastian Raschka Date: Sat, 5 Jul 2025 18:14:43 -0500 Subject: [PATCH 09/15] Fix formatting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fea2f4..76e670a 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ It's a great way to learn. * [**Python**: _A 3D Modeller_](http://aosabook.org/en/500L/a-3d-modeller.html) #### Build your own `AI Model` -* [**Python**: A Large Language Model (LLM)_](https://github.com/rasbt/LLMs-from-scratch) +* [**Python**: _A Large Language Model (LLM)_](https://github.com/rasbt/LLMs-from-scratch) * [**Python**: _Diffusion Models for Image Generation_](https://huggingface.co/learn/diffusion-course/en/unit1/3) * [**Python**: _RAG for Document Search_](https://github.com/langchain-ai/rag-from-scratch) From 08ded2366074b698f40da8a6fb52177e5c3c1148 Mon Sep 17 00:00:00 2001 From: Kyrylo Baibula <64193423+Velnbur@users.noreply.github.com> Date: Mon, 18 Aug 2025 18:04:03 +0300 Subject: [PATCH 10/15] Update link of "F#: Building Neural Networks in F#" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8adb64..2cd1127 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,7 @@ It's a great way to learn. #### Build your own `Neural Network` * [**C#**: _Neural Network OCR_](https://www.codeproject.com/Articles/11285/Neural-Network-OCR) -* [**F#**: _Building Neural Networks in F#_](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6) +* [**F#**: _Building Neural Networks in F#_](https://medium.com/data-science/building-neural-networks-in-f-part-1-a2832ae972e6) * [**Go**: _Build a multilayer perceptron with Golang_](https://made2591.github.io/posts/neuralnetwork) * [**Go**: _How to build a simple artificial neural network with Go_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) * [**Go**: _Building a Neural Net from Scratch in Go_](https://datadan.io/blog/neural-net-with-go) From 4042ba8d905b078386a5fe25d9e1175ec11b21c6 Mon Sep 17 00:00:00 2001 From: Kyrylo Baibula <64193423+Velnbur@users.noreply.github.com> Date: Mon, 18 Aug 2025 18:09:47 +0300 Subject: [PATCH 11/15] Add Part 2 of "F#: Building Neural Networks in F#" --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2cd1127..e679996 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,8 @@ It's a great way to learn. #### Build your own `Neural Network` * [**C#**: _Neural Network OCR_](https://www.codeproject.com/Articles/11285/Neural-Network-OCR) -* [**F#**: _Building Neural Networks in F#_](https://medium.com/data-science/building-neural-networks-in-f-part-1-a2832ae972e6) +* [**F#**: _Building Neural Networks in F#: Part 1_](https://medium.com/data-science/building-neural-networks-in-f-part-1-a2832ae972e6) +* [**F#**: _Building Neural Networks in F#: Part 2_](https://medium.com/data-science/building-neural-networks-in-f-part-2-training-evaluation-5e3a68889da6) * [**Go**: _Build a multilayer perceptron with Golang_](https://made2591.github.io/posts/neuralnetwork) * [**Go**: _How to build a simple artificial neural network with Go_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) * [**Go**: _Building a Neural Net from Scratch in Go_](https://datadan.io/blog/neural-net-with-go) From 195a6150e07ce169cefaf606d767570d88734e45 Mon Sep 17 00:00:00 2001 From: Akshay Mestry Date: Sat, 23 Aug 2025 21:02:19 -0500 Subject: [PATCH 12/15] feat: add SlowTorch for building Neural Networks from scratch Signed-off-by: Akshay Mestry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8adb64..cdd2836 100644 --- a/README.md +++ b/README.md @@ -254,6 +254,7 @@ It's a great way to learn. * [**Python**: _Generate Music using LSTM Neural Network in Keras_](https://towardsdatascience.com/how-to-generate-music-using-a-lstm-neural-network-in-keras-68786834d4c5) * [**Python**: _An Introduction to Convolutional Neural Networks_](https://victorzhou.com/blog/intro-to-cnns-part-1/) * [**Python**: _Neural Networks: Zero to Hero_](https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ) +* [**Python**: _SlowTorch: Implementation of PyTorch from the ground up in 100% pure Python_](https://github.com/xames3/slowtorch) #### Build your own `Operating System` From bc7a5d6daf2e207d5585a58c440f04a3244896ea Mon Sep 17 00:00:00 2001 From: Darshil Shah <131972303+darshilshah7070@users.noreply.github.com> Date: Sat, 6 Sep 2025 18:10:26 +0530 Subject: [PATCH 13/15] Adding new section For Processor Design --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ab8ebd9..3788f24 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ It's a great way to learn. * [Neural Network](#build-your-own-neural-network) * [Operating System](#build-your-own-operating-system) * [Physics Engine](#build-your-own-physics-engine) +* [Processor](#build-your-own-processor) * [Programming Language](#build-your-own-programming-language) * [Regex Engine](#build-your-own-regex-engine) * [Search Engine](#build-your-own-search-engine) @@ -287,6 +288,10 @@ It's a great way to learn. * [**JavaScript**: _Broad Phase Collision Detection Using Spatial Partitioning_](http://buildnewgames.com/broad-phase-collision-detection/) * [**JavaScript**: _Build a simple 2D physics engine for JavaScript games_](https://developer.ibm.com/tutorials/wa-build2dphysicsengine/?mhsrc=ibmsearch_a&mhq=2dphysic) +#### Build your own `Processor` + +* [**Verilog**: _From Blinker to RISC-V_](https://github.com/BrunoLevy/learn-fpga/tree/master/FemtoRV/TUTORIALS/FROM_BLINKER_TO_RISCV) + #### Build your own `Programming Language` * [**(any)**: _mal - Make a Lisp_](https://github.com/kanaka/mal#mal---make-a-lisp) From 30b2242b1022bbf56107065b9257f10618686f63 Mon Sep 17 00:00:00 2001 From: Jimin Jung <219709013+jiminjungg@users.noreply.github.com> Date: Thu, 2 Oct 2025 15:24:03 -0700 Subject: [PATCH 14/15] docs: update Python Reddit bot tutorial link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab8ebd9..4848d80 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ It's a great way to learn. * [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _How to Build Your First Slack Bot with Python_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html) * [**Python**: _How to build a Slack Bot with Python using Slack Events API & Django under 20 minute_](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e) -* [**Python**: _Build a Reddit Bot_](http://pythonforengineers.com/build-a-reddit-bot-part-1/) +* [**Python**: _Build a Reddit Bot_](https://pythonforengineers.com/blog/build-a-reddit-bot-part-1/) * [**Python**: _How To Make A Reddit Bot_](https://www.youtube.com/watch?v=krTUf7BpTc0) [video] * [**Python**: _How To Create a Telegram Bot Using Python_](https://www.freecodecamp.org/news/how-to-create-a-telegram-bot-using-python/) * [**Python**: _Create a Twitter Bot in Python Using Tweepy_](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607) From d5c42e04d88b6b17a78d62a2b69cd3593c6b781c Mon Sep 17 00:00:00 2001 From: Vencyr Laurence Imbo Amores <98305566+VENCYR@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:16:16 +0800 Subject: [PATCH 15/15] Updated banner --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd679f7..bbc0020 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Banner](https://codecrafters.io/images/updated-byox-banner.gif)](https://codecrafters.io/github-banner) +[![Banner](https://codecrafters.io/images/new-ccgithub-banner.png)](https://codecrafters.io/github-banner) ## Build your own <insert-technology-here>