<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DIY on Hanguangwu</title><link>https://hanguangwu.github.io/blog/en/tags/diy/</link><description>Recent content in DIY on Hanguangwu</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>hanguangwu</copyright><lastBuildDate>Sun, 12 Oct 2025 18:34:25 -0800</lastBuildDate><atom:link href="https://hanguangwu.github.io/blog/en/tags/diy/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub-Build_Your_Own_X</title><link>https://hanguangwu.github.io/blog/en/p/github-build_your_own_x/</link><pubDate>Sun, 12 Oct 2025 18:34:25 -0800</pubDate><guid>https://hanguangwu.github.io/blog/en/p/github-build_your_own_x/</guid><description>&lt;h2 id="build-your-own-x"&gt;Build your own X
&lt;/h2&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/codecrafters-io/build-your-own-x" target="_blank" rel="noopener"
&gt;This repository&lt;/a&gt; is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What I cannot create, I do not understand — Richard Feynman.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s a great way to learn.&lt;/p&gt;
&lt;h2 id="tutorials"&gt;Tutorials
&lt;/h2&gt;&lt;h3 id="build-your-own-3d-renderer"&gt;Build your own &lt;code&gt;3D Renderer&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Introduction to Ray Tracing: a Simple Method for Creating 3D Images&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ssloy/tinyrenderer/wiki" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How OpenGL works: software rendering in 500 lines of code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://lodev.org/cgtutor/raycasting.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Raycasting engine of Wolfenstein 3D&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.pbr-book.org/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Physically Based Rendering:From Theory To Implementation&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://raytracing.github.io/books/RayTracingInOneWeekend.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Ray Tracing in One Weekend&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Rasterization: a Practical Implementation&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C# / TypeScript / JavaScript&lt;/strong&gt;: &lt;em&gt;Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://avik-das.github.io/build-your-own-raytracer/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java / JavaScript&lt;/strong&gt;: &lt;em&gt;Build your own 3D renderer&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;How to create your own simple 3D render engine in pure Java&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.gabrielgambetta.com/computer-graphics-from-scratch/introduction.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript / Pseudocode&lt;/strong&gt;: &lt;em&gt;Computer Graphics from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-3d-modeller.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A 3D Modeller&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-augmented-reality"&gt;Build your own &lt;code&gt;Augmented Reality&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=uXNjNcqW4kY" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLKIKuXdn4ZMjuUAtdQfK1vwTZPQn_rgSv" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;How To Unity ARCore&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLPCqNOwwN794Gz5fzUSi1p4OqLU0HTmvn" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;AR Portal Tutorial with Unity&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=qTSDPkPyPqs" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;How to create a Dragon in Augmented Reality in Unity ARCore&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=Z5AmqMuNi08" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://bitesofcode.wordpress.com/2017/09/12/augmented-reality-with-python-and-opencv-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Augmented Reality with Python and OpenCV&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-bittorrent-client"&gt;Build your own &lt;code&gt;BitTorrent Client&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.seanjoflynn.com/research/bittorrent.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Building a BitTorrent client from scratch in C#&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.jse.li/posts/torrent/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Building a BitTorrent client from the ground up in Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day02_bencode.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a Bencode Parser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://allenkim67.github.io/programming/2016/05/04/how-to-make-your-own-bittorrent-client.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Write your own bittorrent client&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://markuseliasson.se/article/bittorrent-in-python/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A BitTorrent client in Python 3.5&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-blockchain--cryptocurrency"&gt;Build your own &lt;code&gt;Blockchain / Cryptocurrency&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://beta.observablehq.com/@galletti94/functional-blockchain" target="_blank" rel="noopener"
&gt;&lt;strong&gt;ATS&lt;/strong&gt;: &lt;em&gt;Functional Blockchain&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://programmingblockchain.gitbooks.io/programmingblockchain/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Programming The Blockchain in C#&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@bradford_hamilton/write-your-own-blockchain-and-pow-algorithm-using-crystal-d53d5d9d0c52" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Crystal&lt;/strong&gt;: &lt;em&gt;Write your own blockchain and PoW algorithm using Crystal&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://jeiwan.net/posts/building-blockchain-in-go-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Building Blockchain in Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Code your own blockchain in less than 200 lines of Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;Creating Your First Blockchain with Java&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/conradoqg/naivecoin" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;A cryptocurrency implementation in less than 1500 lines of code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/nambrot/blockchain-in-js" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build your own Blockchain in JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/digital-alchemy-holdings/learn-build-a-javascript-blockchain-part-1-ca61c285821e" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Learn &amp;amp; Build a JavaScript Blockchain&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/SavjeeTutorials/SavjeeCoin" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Creating a blockchain with JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/how-to-launch-your-own-production-ready-cryptocurrency-ab97cb773371" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How To Launch Your Own Production-Ready Cryptocurrency&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.smashingmagazine.com/2020/02/cryptocurrency-blockchain-node-js/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Writing a Blockchain in Node.js&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@vasilyf/lets-implement-a-cryptocurrency-in-kotlin-part-1-blockchain-8704069f8580" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Kotlin&lt;/strong&gt;: &lt;em&gt;Let’s implement a cryptocurrency in Kotlin&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/learn-blockchains-by-building-one-117428612f46" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Learn Blockchains by Building One&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://ecomunsing.com/build-your-own-blockchain" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Build your own blockchain: a Python tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://adilmoujahid.com/posts/2018/03/intro-blockchain-bitcoin-python/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Practical Introduction to Blockchain with Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Let’s Build the Tiniest Blockchain&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/yukimotopress/programming-blockchains-step-by-step" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Programming Blockchains Step-by-Step (Manuscripts Book Edition)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.freecodecamp.org/how-to-build-a-simple-actor-based-blockchain-aac1e996c177" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Scala&lt;/strong&gt;: &lt;em&gt;How to build a simple actor-based blockchain&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lhartikk.github.io/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: &lt;em&gt;Naivecoin: a tutorial for building a cryptocurrency&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://naivecoinstake.learn.uno/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: &lt;em&gt;NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/building-a-blockchain-in-rust-and-substrate-a-step-by-step-guide-for-developers-kc223ybp" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Building A Blockchain in Rust &amp;amp; Substrate&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-bot"&gt;Build your own &lt;code&gt;Bot&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://wiki.haskell.org/Roll_your_own_IRC_bot" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Roll your own IRC bot&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;How to make a responsive telegram bot&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://discordjs.guide/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Create a Discord bot&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;gifbot - Building a GitHub App&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Building A Simple AI Chatbot With Web Speech API And Node.js&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.fullstackpython.com/blog/build-first-slack-bot-python.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How to Build Your First Slack Bot with Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How to build a Slack Bot with Python using Slack Events API &amp;amp; Django under 20 minute&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://pythonforengineers.com/build-a-reddit-bot-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Build a Reddit Bot&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=krTUf7BpTc0" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How To Make A Reddit Bot&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.freecodecamp.org/news/how-to-create-a-telegram-bot-using-python/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How To Create a Telegram Bot Using Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Create a Twitter Bot in Python Using Tweepy&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLIFBTFgFpoJ9vmYYlfxRFV6U_XhG-4fpP" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Creating Reddit Bot with Python &amp;amp; PRAW&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1" target="_blank" rel="noopener"
&gt;&lt;strong&gt;R&lt;/strong&gt;: &lt;em&gt;Build A Cryptocurrency Trading Bot with R&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://habr.com/en/post/436254/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;A bot for Starcraft in Rust, C or any other language&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-command-line-tool"&gt;Build your own &lt;code&gt;Command-Line Tool&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://flaviocopes.com/go-git-contributions/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Visualize your local git contributions with Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://flaviocopes.com/go-tutorial-lolcat/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build a command line app with Go: lolcat&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://flaviocopes.com/go-tutorial-cowsay/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Building a cli command with Go: cowsay&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://flaviocopes.com/go-tutorial-fortune/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Go CLI tutorial: fortune clone&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day06_nistow.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a stow alternative to manage dotfiles&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://citw.dev/tutorial/create-your-own-cli-tool" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Create a CLI tool in Javascript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rust-cli.github.io/book/index.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Command line apps in Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mattgathu.dev/2017/08/29/writing-cli-app-rust.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Writing a Command Line Tool in Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rebuild-x.github.io/docs/#/./zig/terminal/cli" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Zig&lt;/strong&gt;: &lt;em&gt;Build Your Own CLI App in Zig from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-database"&gt;Build your own &lt;code&gt;Database&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://cstack.github.io/db_tutorial/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Build a Simple Database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://build-your-own.org/redis" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Build Your Own Redis from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Build Your Own Database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/an-archaeology-inspired-database.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Clojure&lt;/strong&gt;: &lt;em&gt;An Archaeology-Inspired Database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Crystal&lt;/strong&gt;: &lt;em&gt;Why you should build your own NoSQL Database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://build-your-own.org/database/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build Your Own Database from Scratch: From B+Tree To SQL in 3000 Lines&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://trialofcode.org/database/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Code a database in 45 steps: a series of test-driven small coding puzzles&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.build-redis-from-scratch.dev/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build Your Own Redis from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Dagoba: an in-memory graph database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/dbdb-dog-bed-database.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;DBDB: Dog Bed Database&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://charlesleifer.com/blog/building-a-simple-redis-server-with-python/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Write your own miniature Redis with Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://dineshgowda.com/posts/build-your-own-persistent-kv-store/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Build your own fast, persistent KV store in Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tokio.rs/tokio/tutorial/setup" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Build your own Redis client and server&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-docker"&gt;Build your own &lt;code&gt;Docker&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.lizzie.io/linux-containers-in-500-loc.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Linux containers in 500 lines of code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.infoq.com/articles/build-a-container-golang" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build Your Own Container Using Less than 100 Lines of Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=8fi7uSYlOdc" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Building a container from scratch in Go&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/Fewbytes/rubber-docker" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A workshop on Linux containers: Rebuild Docker from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/tonybaloney/mocker" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A proof-of-concept imitation of Docker, written in 100% Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/p8952/bocker" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Shell&lt;/strong&gt;: &lt;em&gt;Docker implemented in around 100 lines of bash&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-emulator--virtual-machine"&gt;Build your own &lt;code&gt;Emulator / Virtual Machine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/bumble-tech/home-grown-bytecode-interpreters-51e12d59b25c" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Home-grown bytecode interpreters&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://web.archive.org/web/20200121100942/https://blog.felixangell.com/virtual-machine-in-c/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Virtual machine in C&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://justinmeiners.github.io/lc3-vm/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Write your Own Virtual Machine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://cturt.github.io/cinoop.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Writing a Game Boy emulator, Cinoop&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How to write an emulator (CHIP-8 interpreter)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.codeslinger.co.uk/pages/projects/chip8.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Emulation tutorial (CHIP-8 interpreter)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.codeslinger.co.uk/pages/projects/gameboy.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Emulation tutorial (GameBoy emulator)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.codeslinger.co.uk/pages/projects/mastersystem/memory.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Emulation tutorial (Master System emulator)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLrOv9FMX8xJHqMvSGB_9G9nZZ_4IgteYf" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;NES Emulator From Scratch&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://stevelosh.com/blog/2016/12/chip8-cpu/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Common Lisp&lt;/strong&gt;: &lt;em&gt;CHIP-8 in Common Lisp&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://imrannazar.com/GameBoy-Emulation-in-JavaScript" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;GameBoy Emulation in JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://omokute.blogspot.com.br/2012/06/emulation-basics-write-your-own-chip-8.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Emulation Basics: Write your own Chip 8 Emulator/Interpreter&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://jeremybanks.github.io/0dmg/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;0dmg: Learning Rust by building a partial Game Boy emulator&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-front-end-framework--library"&gt;Build your own &lt;code&gt;Front-end Framework / Library&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://jasonformat.com/wtf-is-jsx/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;WTF is JSX (Let&amp;rsquo;s Build a JSX Renderer)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/hexacta/didact" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;A DIY guide to build your own React&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=_MAD4Oly9yg" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Building React From Scratch&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Gooact: React in 160 lines of JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/learn-you-some-custom-react-renderers-aed7164a4199" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Learn how React Reconciler package works by building your own lightweight React DOM&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://zapier.com/engineering/how-to-build-redux/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build Yourself a Redux&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.jamasoftware.com/blog/lets-write-redux/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Let’s Write Redux!&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://egghead.io/lessons/react-redux-implementing-store-from-scratch" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Redux: Implementing Store from Scratch&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build Your own Simplified AngularJS in 200 Lines of JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Make Your Own AngularJS&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How to write your own Virtual DOM&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://mfrachet.github.io/create-frontend-framework/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Building a frontend framework, from scratch, with components (templating, state, VDOM)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pomb.us/build-your-own-react/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build your own React&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://youtu.be/CGpMlWVcHok" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Building a Custom React Renderer&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-game"&gt;Build your own &lt;code&gt;Game&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://handmadehero.org/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Handmade Hero&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nesdoug.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;How to Program an NES game in C&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Chess Engine In C&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLSkJey49cOgTSj465v2KbLZ7LMn10bCF9" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Make: Dangerous Dave&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLT6WFYYZE6uLMcPGS3qfpYm7T_gViYMMt" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Learn Video Game Programming in C&lt;/em&gt;&lt;/a&gt;
[video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLkTXsX7igf8edTYU92nU-f5Ntzuf-RKvW" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Coding A Sudoku Solver in C&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLkTXsX7igf8erbWGYT4iSAhpnJLJ0Nk5G" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Coding a Rogue/Nethack RPG in C&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://brennan.io/2015/06/12/tetris-reimplementation/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;On Tetris and Reimplementation&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://learnopengl.com/In-Practice/2D-Game/Breakout" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Breakout&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://lazyfoo.net/tutorials/SDL/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Beginning Game Programming v2.0&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Tetris tutorial in C++ platform independent focused in game logic for beginners&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=ETvApbD5xRo&amp;amp;list=PLNOBk_id22bw6LXhrGfhVwqQIa-M2MsLa" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Remaking Cavestory in C++&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PL006xsVEsbKjSKBmLu1clo85yLrwjY67X" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Reconstructing Cave Story&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://nicktasios.nl/posts/space-invaders-from-scratch-part-1.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Space Invaders from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Learn C# by Building a Simple RPG&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://roguesharp.wordpress.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Creating a Roguelike Game in C#&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://scottlilly.com/build-a-cwpf-rpg/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Build a C#/WPF RPG&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLDZujg-VgQlZUy1iCqBbe5faZLMkA3g2x" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Games With Go&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=025QFeZfeyM" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;Code a 2D Game Engine using Java - Full Course for Beginners&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;3D Game Development with LWJGL 3&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;2D breakout game using Phaser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.lessmilk.com/tutorial/flappy-bird-phaser-1" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How to Make Flappy Bird in HTML5 With Phaser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://auth0.com/blog/developing-games-with-react-redux-and-svg-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Developing Games with React, Redux, and SVG&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=aXwCrtAo4Wc" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build your own 8-Ball Pool game from scratch&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://gamedevelopment.tutsplus.com/tutorials/how-to-make-your-first-roguelike--gamedev-13677" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How to Make Your First Roguelike&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.freecodecamp.org/think-like-a-programmer-how-to-build-snake-using-only-javascript-html-and-css-7b1479c3339e" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Think like a programmer: How to build Snake using only JavaScript, HTML &amp;amp; CSS&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/SSYGEN/blog/issues/30" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Lua&lt;/strong&gt;: &lt;em&gt;BYTEPATH&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pythonprogramming.net/pygame-python-3-part-1-intro/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Developing Games With PyGame&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://inventwithpython.com/makinggames.pdf" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Making Games with Python &amp;amp; Pygame&lt;/em&gt;&lt;/a&gt; [pdf]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://rogueliketutorials.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Roguelike Tutorial Revised&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://leanpub.com/developing-games-with-ruby/read" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Developing Games With Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.diatomenterprises.com/gamedev-on-ruby-why-not/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Ruby Snake&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://a5huynh.github.io/posts/2018/adventures-in-rust/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Adventures in Rust: A Basic 2D Game&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tomassedovic.github.io/roguelike-tutorial/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Roguelike Tutorial in Rust + tcod&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-git"&gt;Build your own &lt;code&gt;Git&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Reimplementing “git clone” in Haskell from the bottom up&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://gitlet.maryrosecook.com/docs/gitlet.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Gitlet&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://kushagra.dev/blog/build-git-learn-git/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build GIT - Learn GIT&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://benhoyt.com/writings/pygit/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Just enough of a Git client to create a repo, commit, and push itself to GitHub&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://wyag.thb.lt/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Write yourself a Git!&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.leshenko.net/p/ugit/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;ugit: Learn Git Internals by Building Git Yourself&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://robots.thoughtbot.com/rebuilding-git-in-ruby" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Rebuilding Git in Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-network-stack"&gt;Build your own &lt;code&gt;Network Stack&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://beej.us/guide/bgnet/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Beej&amp;rsquo;s Guide to Network Programming&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s code a TCP/IP stack&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/peiyuanix/build-your-own-zerotier" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C / Python&lt;/strong&gt;: &lt;em&gt;Build your own VPN/Virtual Switch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;How to build a network stack in Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-neural-network"&gt;Build your own &lt;code&gt;Neural Network&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.codeproject.com/Articles/11285/Neural-Network-OCR" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Neural Network OCR&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6" target="_blank" rel="noopener"
&gt;&lt;strong&gt;F#&lt;/strong&gt;: &lt;em&gt;Building Neural Networks in F#&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://made2591.github.io/posts/neuralnetwork" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build a multilayer perceptron with Golang&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;How to build a simple artificial neural network with Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://datadan.io/blog/neural-net-with-go" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Building a Neural Net from Scratch in Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript / Java&lt;/strong&gt;: &lt;em&gt;Neural Networks - The Nature of Code&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://iamtrask.github.io/2015/07/12/basic-python-network/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Neural Network in 11 lines of Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://victorzhou.com/blog/intro-to-neural-networks/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Implement a Neural Network from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/optical-character-recognition-ocr.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Optical Character Recognition (OCR)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://navoshta.com/traffic-signs-classification/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Traffic signs classification with a convolutional network&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://towardsdatascience.com/how-to-generate-music-using-a-lstm-neural-network-in-keras-68786834d4c5" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Generate Music using LSTM Neural Network in Keras&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://victorzhou.com/blog/intro-to-cnns-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;An Introduction to Convolutional Neural Networks&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Neural Networks: Zero to Hero&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-operating-system"&gt;Build your own &lt;code&gt;Operating System&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://joebergeron.io/posts/post_two.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Assembly&lt;/strong&gt;: &lt;em&gt;Writing a Tiny x86 Bootloader&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Assembly&lt;/strong&gt;: &lt;em&gt;Baking Pi – Operating Systems Development&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=ZjwvMcP3Nf0&amp;amp;list=PLU94OURih-CiP4WxKSMt3UcwMSDM3aTtX" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Building a software and hardware stack for a simple computer from scratch&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://tuhdo.github.io/os01/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Operating Systems: From 0 to 1&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://littleosbook.github.io/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;The little book about OS development&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://jamesmolloy.co.uk/tutorial_html/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Roll your own toy UNIX-clone OS&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Kernel 101 – Let’s write a Kernel&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Kernel 201 – Let’s write a Kernel with keyboard and screen support&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/jserv/mini-arm-os" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Build a minimal multi-tasking kernel for ARM from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/cfenollosa/os-tutorial" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;How to create an OS from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://danluu.com/malloc-tutorial/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Malloc tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.holbertonschool.com/hack-the-virtual-memory-c-strings-proc/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Hack the virtual memory&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/s-matyukevich/raspberry-pi-os" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Learning operating system development using Linux kernel and Raspberry Pi&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Operating systems development for Dummies&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Write your own Operating System&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://3zanders.co.uk/2017/10/13/writing-a-bootloader/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Writing a Bootloader&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://os.phil-opp.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Writing an OS in Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://osblog.stephenmarz.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Add RISC-V Rust Operating System Tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://linuxfromscratch.org/lfs" target="_blank" rel="noopener"
&gt;&lt;strong&gt;(any)&lt;/strong&gt;: &lt;em&gt;Linux from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-physics-engine"&gt;Build your own &lt;code&gt;Physics Engine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Video Game Physics Tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://allenchou.net/game-physics-series/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Game physics series by Allen Chou&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://gamedevelopment.tutsplus.com/series/how-to-create-a-custom-physics-engine--gamedev-12715" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How to Create a Custom Physics Engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLEETnX-uPtBXm1KEr_2zQ6K_0hoGH6JJ0" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;3D Physics Engine Tutorial&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://buildnewgames.com/gamephysics/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How Physics Engines Work&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://buildnewgames.com/broad-phase-collision-detection/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Broad Phase Collision Detection Using Spatial Partitioning&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.ibm.com/tutorials/wa-build2dphysicsengine/?mhsrc=ibmsearch_a&amp;amp;mhq=2dphysic" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build a simple 2D physics engine for JavaScript games&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-programming-language"&gt;Build your own &lt;code&gt;Programming Language&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kanaka/mal#mal---make-a-lisp" target="_blank" rel="noopener"
&gt;&lt;strong&gt;(any)&lt;/strong&gt;: &lt;em&gt;mal - Make a Lisp&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/nornagon/jonesforth/blob/master/jonesforth.S" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Assembly&lt;/strong&gt;: &lt;em&gt;Jonesforth&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Baby&amp;rsquo;s First Garbage Collector&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.buildyourownlisp.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://maplant.com/gc.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Writing a Simple Garbage Collector in C&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/lotabout/write-a-C-interpreter" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;C interpreter that interprets itself.&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/lotabout/Let-s-build-a-compiler" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;A C &amp;amp; x86 version of the &amp;ldquo;Let&amp;rsquo;s Build a Compiler&amp;rdquo; by Jack Crenshaw&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/DoctorWkt/acwj" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;A journey explaining how to build a compiler from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Writing Your Own Toy Compiler Using Flex&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=eF9qWbuQLuw" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How to Create a Compiler&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Kaleidoscope: Implementing a Language with LLVM&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://fsharpforfunandprofit.com/posts/understanding-parser-combinators/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;F#&lt;/strong&gt;: &lt;em&gt;Understanding Parser Combinators&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=zMJYoYwOCd4" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Elixir&lt;/strong&gt;: &lt;em&gt;Demystifying compilers by writing your own&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/hazbo/the-super-tiny-compiler" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;The Super Tiny Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=HxaD_trXwRE" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Lexical Scanning in Go&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://g-ford.github.io/cradle/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Build a Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://dev.stephendiehl.com/fun/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Write You a Haskell&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Write Yourself a Scheme in 48 Hours&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.wespiser.com/writings/wyas/home.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Haskell&lt;/strong&gt;: &lt;em&gt;Write You A Scheme&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.craftinginterpreters.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;Crafting interpreters: A handbook for making programming languages&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://jakubdziworski.github.io/categories.html#Enkel-ref" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;Creating JVM Language&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/jamiebuilds/the-super-tiny-compiler" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;The Super Tiny Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/keyanzhang/the-super-tiny-interpreter" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;The Super Tiny Interpreter&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://maryrosecook.com/blog/post/little-lisp-interpreter" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Little Lisp interpreter&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://lisperator.net/pltut/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How to implement a programming language in JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://idiocy.org/lets-go-write-a-lisp/part-1.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Let’s go write a Lisp&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://norasandler.com/2017/11/29/Write-a-Compiler.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;OCaml&lt;/strong&gt;: &lt;em&gt;Writing a C Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://bernsteinbear.com/blog/lisp/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;OCaml&lt;/strong&gt;: &lt;em&gt;Writing a Lisp, the series&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://compilers.iecc.com/crenshaw/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Pascal&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Build a Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Python Interpreter Written in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://khamidou.com/compilers/lisp.py/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;lisp.py: Make your own Lisp interpreter&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://norvig.com/lispy.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How to Write a Lisp Interpreter in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ruslanspivak.com/lsbasi-part1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Let’s Build A Simple Interpreter&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=dj9CBS3ikGA&amp;amp;list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD&amp;amp;index=1" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Make Your Own Simple Interpreted Programming Language&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://build-your-own.org/compiler/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;From Source Code To Machine Code: Build Your Own Compiler From Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://beautifulracket.com/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Racket&lt;/strong&gt;: &lt;em&gt;Beautiful Racket: How to make your own programming languages with Racket&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;A Compiler From Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Markdown compiler from scratch in Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://bodil.lol/parser-combinators/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Learning Parser Combinators With Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Swift&lt;/strong&gt;: &lt;em&gt;Building a LISP from scratch with Swift&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.scottlogic.com/2019/05/17/webassembly-compiler.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: &lt;em&gt;Build your own WebAssembly Compiler&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-regex-engine"&gt;Build your own &lt;code&gt;Regex Engine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;A Regular Expression Matcher&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://swtch.com/~rsc/regexp/regexp1.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Regular Expression Matching Can Be Simple And Fast&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rhaeguard.github.io/posts/regex" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;How to build a regex engine from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nickdrane.com/build-your-own-regex/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build a Regex Engine in Less than 40 Lines of Code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://dpk.io/dregs/toydregs" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;How to implement regular expressions in functional javascript using derivatives&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Implementing a Regular Expression Engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://perl.plover.com/Regex/article.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Perl&lt;/strong&gt;: &lt;em&gt;How Regexes Work&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://build-your-own.org/b2a/r0_intro" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Build Your Own Regular Expression Engines: Backtracking, NFA, DFA&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rcoh.svbtle.com/no-magic-regular-expressions" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Scala&lt;/strong&gt;: &lt;em&gt;No Magic: Regular Expressions&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-search-engine"&gt;Build your own &lt;code&gt;Search Engine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://stories.algolia.com/a-search-engine-in-css-b5ec4e902e97" target="_blank" rel="noopener"
&gt;&lt;strong&gt;CSS&lt;/strong&gt;: &lt;em&gt;A search engine in CSS&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.dr-josiah.com/2010/07/building-search-engine-using-redis-and.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building a search engine using Redis and redis-py&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://boyter.org/2010/08/build-vector-space-search-engine-python/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building a Vector Space Indexing Engine in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=cY7pE7vX6MU" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building A Python-Based Search Engine&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/filament-ai/making-text-search-learn-from-feedback-4fe210fd87b0" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Making text search learn from feedback&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://stevenloria.com/tf-idf/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Finding Important Words in Text Using TF-IDF&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-shell"&gt;Build your own &lt;code&gt;Shell&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://brennan.io/2015/01/16/write-a-shell-in-c/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Tutorial - Write a Shell in C&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kamalmarhubi/shell-workshop" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s build a shell!&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Writing a UNIX Shell&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/tokenrove/build-your-own-shell" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Build Your Own Shell&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://danishpraka.sh/posts/write-a-shell/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: Write a shell in C&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Writing a simple shell in Go&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.joshmcguigan.com/blog/build-your-own-shell-rust/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Build Your Own Shell using Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-template-engine"&gt;Build your own &lt;code&gt;Template Engine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;JavaScript template engine in just 20 lines&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/wdstack/understanding-javascript-micro-templating-f37a37b3b40e" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Understanding JavaScript Micro-Templating&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://alexmic.net/building-a-template-engine/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Approach: Building a toy template engine in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-template-engine.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Template Engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://bits.citrusbyte.com/how-to-write-a-template-library/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;How to write a template engine in less than 30 lines of code&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-text-editor"&gt;Build your own &lt;code&gt;Text Editor&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://viewsourcecode.org/snaptoken/kilo/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Build Your Own Text Editor&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.fltk.org/doc-1.1/editor.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Designing a Simple Text Editor&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=xqDonHEYPgA" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Python Tutorial: Make Your Own Text Editor&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.instructables.com/id/Create-a-Simple-Python-Text-Editor/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Create a Simple Python Text Editor!&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.aha.io/text-editor/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Build a Collaborative Text Editor Using Rails&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.flenker.blog/hecto/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Hecto: Build your own text editor in Rust&lt;/em&gt; &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-visual-recognition-system"&gt;Build your own &lt;code&gt;Visual Recognition System&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/devcenter/developing-a-license-plate-recognition-system-with-machine-learning-in-python-787833569ccd" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Developing a License Plate Recognition System with Machine Learning in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://hackernoon.com/building-a-facial-recognition-pipeline-with-deep-learning-in-tensorflow-66e7645015b8" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building a Facial Recognition Pipeline with Deep Learning in Tensorflow&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-voxel-engine"&gt;Build your own &lt;code&gt;Voxel Engine&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://sites.google.com/site/letsmakeavoxelengine/home" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Make a Voxel Engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-web-browser"&gt;Build your own &lt;code&gt;Web Browser&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s build a browser engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://browser.engineering" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Browser Engineering&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build-your-own-web-server"&gt;Build your own &lt;code&gt;Web Server&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.codeproject.com/Articles/859108/Writing-a-Web-Server-from-Scratch" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Writing a Web Server from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://build-your-own.org/webserver/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Build Your Own Web Server From Scratch In JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.codementor.io/@ziad-saab/let-s-code-a-web-server-from-scratch-with-nodejs-streams-h4uc9utji" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s code a web server from scratch with NodeJS Streams&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/antoaravinth/lets-build-express" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;lets-build-express&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://station.clancats.com/writing-a-webserver-in-pure-php/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;PHP&lt;/strong&gt;: &lt;em&gt;Writing a webserver in pure PHP&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-simple-web-server.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Simple Web Server&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ruslanspivak.com/lsbaws-part1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Let’s Build A Web Server.&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://defn.io/2018/02/25/web-app-from-scratch-01/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Web application from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://joaoventura.net/blog/2017/python-webserver/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building a basic HTTP Server from scratch in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://blog.luisrei.com/articles/flaskrest.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Implementing a RESTful Web API with Python &amp;amp; Flask&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Building a simple websockets server from scratch in Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="uncategorized"&gt;Uncategorized
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://nand2tetris.org/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;(any)&lt;/strong&gt;: &lt;em&gt;From NAND to Tetris: Building a Modern Computer From First Principles&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/inFaaa/build-your-own-x-vibe-coding" target="_blank" rel="noopener"
&gt;&lt;strong&gt;(any)&lt;/strong&gt;: build-your-own-x-vibe-coding: BYOX-style tutorials adapted for vibe coding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/the-same-origin-policy.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Alloy&lt;/strong&gt;: &lt;em&gt;The Same-Origin Policy&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://dranger.com/ffmpeg/ffmpeg.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;How to Write a Video Player in Less Than 1000 Lines&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/jamesroutley/write-a-hash-table" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Learn how to write a hash table in C&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;The very basics of a terminal emulator&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://brennan.io/2016/11/14/kernel-dev-ep3/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Write a System Call&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://codepr.github.io/posts/sol-mqtt-broker" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C&lt;/strong&gt;: &lt;em&gt;Sol - An MQTT broker from scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/relativty/Relativ" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Build your own VR headset for $200&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How X Window Managers work and how to write one&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Writing a Linux Debugger&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.lofibucket.com/articles/64k_intro.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;How a 64k intro is made&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C++&lt;/strong&gt;: &lt;em&gt;Make your own Game Engine&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://16bpp.net/tutorials/csharp-networking" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;C# Networking: Create a TCP chater server, TCP games, UDP Pong and more&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.seanjoflynn.com/research/skeletal-animation.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;C#&lt;/strong&gt;: &lt;em&gt;Loading and rendering 3D skeletal animations from scratch in C# and GLSL&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://bernhardwenzel.com/articles/clojure-spellchecker/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Clojure&lt;/strong&gt;: &lt;em&gt;Building a spell-checker&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ishuah.com/2021/03/10/build-a-terminal-emulator-in-100-lines-of-go/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Build A Simple Terminal Emulator In 100 Lines of Golang&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://kasvith.me/posts/lets-create-a-simple-lb-go/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Let&amp;rsquo;s Create a Simple Load Balancer&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kevmo314/codec-from-scratch" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Go&lt;/strong&gt;: &lt;em&gt;Video Encoding from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/playlist?list=PLgCYzUzKIBE9HUJU-upNvl3TRVAo9W47y" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Java&lt;/strong&gt;: &lt;em&gt;How to Build an Android Reddit App&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ronami/minipack" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build Your Own Module Bundler - Minipack&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://levelup.gitconnected.com/understand-javascript-promises-by-building-a-promise-from-scratch-84c0fd855720" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Learn JavaScript Promises by Building a Promise from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.mauriciopoppe.com/notes/computer-science/computation/promises/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Implementing promises from scratch (TDD way)&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.usejournal.com/implement-your-own-call-apply-and-bind-method-in-javascript-42cc85dba1b" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Implement your own — call(), apply() and bind() method in JavaScript&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/trekhleb/javascript-algorithms" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;JavaScript Algorithms and Data Structures&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pusher.com/tutorials/ride-hailing-react-native" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build a ride hailing app with React Native&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://levelup.gitconnected.com/building-your-own-adblocker-in-literally-10-minutes-1eec093b04cd" target="_blank" rel="noopener"
&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;: &lt;em&gt;Build Your Own AdBlocker in (Literally) 10 Minutes&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/kezhenxu94/cache-lite" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Kotlin&lt;/strong&gt;: &lt;em&gt;Build Your Own Cache&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/leandromoreira/cdn-up-and-running" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Lua&lt;/strong&gt;: &lt;em&gt;Building a CDN from Scratch to Learn about CDN&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day12_resp.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a Redis Protocol Parser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day11_buildsystem.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a Build system&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day08_minitest.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a MiniTest Framework&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day01_dmidecode.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a DMIDecode Parser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day05_iniparser.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a INI Parser&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day04_asynclinkschecker.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a Link Checker&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xmonader.github.io/nimdays/day07_shorturl.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Nim&lt;/strong&gt;: &lt;em&gt;Writing a URL Shortening Service&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.webdevdrops.com/en/build-static-site-generator-nodejs-8969ebe34b22/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Build a static site generator in 40 lines with Node.js&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js.&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;How to create a real-world Node CLI app with Node&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://engineerhead.github.io/dns-server/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Node.js&lt;/strong&gt;: &lt;em&gt;Build a DNS Server in Node.js&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;PHP&lt;/strong&gt;: &lt;em&gt;Write your own MVC from scratch in PHP&lt;/em&gt; &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog" target="_blank" rel="noopener"
&gt;&lt;strong&gt;PHP&lt;/strong&gt;: &lt;em&gt;Make your own blog&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://kevinsmith.io/modern-php-without-a-framework" target="_blank" rel="noopener"
&gt;&lt;strong&gt;PHP&lt;/strong&gt;: &lt;em&gt;Modern PHP Without a Framework&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://boyter.org/2013/01/code-for-a-search-engine-in-php-part-1/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;PHP&lt;/strong&gt;: &lt;em&gt;Code a Web Search Engine in PHP&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=o64FV-ez6Gw" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Build a Deep Learning Library&lt;/em&gt;&lt;/a&gt; [video]&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-continuous-integration-system.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Continuous Integration System&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.datacamp.com/community/tutorials/recommender-systems-python" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Recommender Systems in Python: Beginner Tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/@kopilov.vlad/detect-sms-spam-in-kaggle-with-scikit-learn-5f6afa7a3ca2" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Write SMS-spam detector with Scikit-learn&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://blog.untrod.com/2016/06/simple-similar-products-recommendation-engine-in-python.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;A Simple Content-Based Recommendation Engine in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.datacamp.com/community/tutorials/lstm-python-stock-market" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Stock Market Predictions with LSTM in Python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.paperspace.com/implementing-gans-in-tensorflow/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Building a simple Generative Adversarial Network (GAN) using Tensorflow&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Learn ML Algorithms by coding: Decision Trees&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/cheery/json-algorithm" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;JSON Decoding Algorithm&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://joshburns-xyz.vercel.app/posts/build-your-own-git-plugin" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Python&lt;/strong&gt;: &lt;em&gt;Build your own Git plugin with python&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;A Pedometer in the Real World&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Ruby&lt;/strong&gt;: &lt;em&gt;Creating a Linux Desktop application with Ruby&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/EmilHernvall/dnsguide/blob/master/README.md" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Building a DNS server in Rust&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;Writing Scalable Chat Service from Scratch&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.chinedufn.com/3d-webgl-basic-water-tutorial/" target="_blank" rel="noopener"
&gt;&lt;strong&gt;Rust&lt;/strong&gt;: &lt;em&gt;WebGL + Rust: Basic Water Tutorial&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/g-plane/tiny-package-manager" target="_blank" rel="noopener"
&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: &lt;em&gt;Tiny Package Manager: Learns how npm or Yarn works&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>