From 1c7b4c612929f5e5b6dd59cf30bdd9735d904157 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 8 Jul 2018 18:21:57 +0200 Subject: [PATCH 01/81] Remove space #228 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 452ad0a..39f2382 100644 --- a/README.md +++ b/README.md @@ -207,7 +207,7 @@ #### Build your own `Neural Network` * [**C#**: _Neural Network OCR_](https://www.codeproject.com/Articles/11285/Neural-Network-OCR) -* [**F#**: _Building Neural Networks in F# _](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6) +* [**F#**: _Building Neural Networks in F#_](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6) * [**Go**: _Build a multilayer perceptron with Golang_](https://made2591.github.io/posts/neuralnetwork) * [**Go**: _How to build a simple artificial neural network with Go_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) * [**Go**: _Building a Neural Net from Scratch in Go_](https://www.datadan.io/building-a-neural-net-from-scratch-in-go/) From f619db23e0d4326fe21c1d60d082e3edf4493815 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Mon, 9 Jul 2018 23:11:20 +0200 Subject: [PATCH 02/81] Add tutorial #227 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39f2382..faebe46 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ * [**Node.js**: _How to make a responsive telegram bot_](https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/) * [**Node.js**: _Create a Discord bot_](https://discordjs.guide/) * [**Node.js**: _gifbot - Building a GitHub App_](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html) +* [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _Chatbot Fundamentals: An interactive guide to writing bots in Python_](https://apps.worldwritable.com/tutorials/chatbot/) * [**Python**: _How to Build Your First Slack Bot with Python_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html) * [**Python**: _Build a Reddit Bot_](http://pythonforengineers.com/build-a-reddit-bot-part-1/) From 2b1be559283786594b6dcf2e069ca550fa4668a3 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Mon, 9 Jul 2018 23:27:00 +0200 Subject: [PATCH 03/81] Add tutorial #217 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faebe46..7b59e85 100644 --- a/README.md +++ b/README.md @@ -392,6 +392,7 @@ * [**Python**: _A Simple Content-Based Recommendation Engine in Python_](http://blog.untrod.com/2016/06/simple-similar-products-recommendation-engine-in-python.html) * [**Python**: _Stock Market Predictions with LSTM in Python_](https://www.datacamp.com/community/tutorials/lstm-python-stock-market) * [**Python**: _Build your own error-correction fountain code with Luby Transform Codes_](https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/) +* [**Python**: _Building a simple Generative Adversial Network (GAN) using Tensorflow_](https://blog.paperspace.com/implementing-gans-in-tensorflow/) * [**Ruby**: _A Pedometer in the Real World_](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html) * [**Ruby**: _Creating a Linux Desktop application with Ruby_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby) * [**Rust**: _Let's build a browser engine_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) From 64d064fa18bba70878d8d87c7bb73652f6d1834d Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sat, 14 Jul 2018 12:58:22 +0200 Subject: [PATCH 04/81] Add tutorial #235 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b59e85..a21c689 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ #### Build your own `Emulator` +* [**C**: _Writing a Game Boy emulator, Cinoop_](https://cturt.github.io/cinoop.html) * [**C++**: _How to write an emulator (CHIP-8 interpreter)_](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) * [**C++**: _Emulation tutorial (CHIP-8 interpreter)_](http://www.codeslinger.co.uk/pages/projects/chip8.html) * [**C++**: _Emulation tutorial (GameBoy emulator)_](http://www.codeslinger.co.uk/pages/projects/gameboy.html) From a7f8678f2081b713b7ec8a86309f7ad471aac06b Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sat, 14 Jul 2018 13:02:25 +0200 Subject: [PATCH 05/81] Add missing video tags #234 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a21c689..5aaf99d 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ * [**JavaScript**: _WTF is JSX (Let's Build a JSX Renderer)_](https://jasonformat.com/wtf-is-jsx/) * [**JavaScript**: _A DIY guide to build your own React_](https://github.com/hexacta/didact) -* [**JavaScript**: _Reverse Engineering React_](https://vimeo.com/album/3930691) +* [**JavaScript**: _Reverse Engineering React_](https://vimeo.com/album/3930691) [video] * [**JavaScript**: _Building React From Scratch_](https://www.youtube.com/watch?v=_MAD4Oly9yg) [video] * [**JavaScript**: _Building Your Own React Clone in Five Easy Steps_](https://blog.javascripting.com/2016/10/05/building-your-own-react-clone-in-five-easy-steps/) * [**JavaScript**: _Gooact: React in 160 lines of JavaScript_](https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f) @@ -150,7 +150,7 @@ * [**JavaScript**: _Build your own Vuejs_](https://github.com/jsrebuild/build-your-own-vuejs) * [**JavaScript**: _Build Yourself a Redux_](https://zapier.com/engineering/how-to-build-redux/) * [**JavaScript**: _Let’s Write Redux!_](https://www.jamasoftware.com/blog/lets-write-redux/) -* [**JavaScript**: _Redux: Implementing Store from Scratch_](https://egghead.io/lessons/react-redux-implementing-store-from-scratch) +* [**JavaScript**: _Redux: Implementing Store from Scratch_](https://egghead.io/lessons/react-redux-implementing-store-from-scratch) [video] * [**JavaScript**: _Build Your own Simplified AngularJS in 200 Lines of JavaScript_](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/) * [**JavaScript**: _Make Your Own AngularJS_](http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html) * [**JavaScript**: _How to write your own Virtual DOM_](https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060) @@ -189,7 +189,7 @@ * [**Lua**: _BYTEPATH_](https://github.com/SSYGEN/blog/issues/30) * [**Python**: _Developing Games With PyGame_](https://pythonprogramming.net/pygame-python-3-part-1-intro/) * [**Python**: _Making Games with Python & Pygame_](https://inventwithpython.com/makinggames.pdf) [pdf] -* [**Python**: _The Complete Roguelike Tutorial_](https://www.youtube.com/playlist?list=PLKUel_nHsTQ1yX7tQxR_SQRdcOFyXfNAb) +* [**Python**: _The Complete Roguelike Tutorial_](https://www.youtube.com/playlist?list=PLKUel_nHsTQ1yX7tQxR_SQRdcOFyXfNAb) [video] * [**Ruby**: _Developing Games With Ruby_](https://leanpub.com/developing-games-with-ruby/read) #### Build your own `Git` From d9e6ab2d28d2250d2a22415e870f3d026810f91b Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sat, 14 Jul 2018 13:05:42 +0200 Subject: [PATCH 06/81] Add tutorial #232 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5aaf99d..6b02134 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,7 @@ * [**JavaScript**: _Developing Games with React, Redux, and SVG_](https://auth0.com/blog/developing-games-with-react-redux-and-svg-part-1/) * [**JavaScript**: _Build your own 8-Ball Pool game from scratch_](https://www.youtube.com/watch?v=aXwCrtAo4Wc) [video] * [**JavaScript**: _How to Make Your First Roguelike_](https://gamedevelopment.tutsplus.com/tutorials/how-to-make-your-first-roguelike--gamedev-13677) +* [**JavaScript**: _Think like a programmer: How to build Snake using only JavaScript, HTML & CSS_](https://medium.freecodecamp.org/think-like-a-programmer-how-to-build-snake-using-only-javascript-html-and-css-7b1479c3339e) * [**Lua**: _BYTEPATH_](https://github.com/SSYGEN/blog/issues/30) * [**Python**: _Developing Games With PyGame_](https://pythonprogramming.net/pygame-python-3-part-1-intro/) * [**Python**: _Making Games with Python & Pygame_](https://inventwithpython.com/makinggames.pdf) [pdf] From 917f65828e08c724485331b414d90b659b1d3d24 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 19 Jul 2018 00:58:38 +0200 Subject: [PATCH 07/81] Add turorial #236 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b02134..e0b3653 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ * [**JavaScript**: _Building Your Own React Clone in Five Easy Steps_](https://blog.javascripting.com/2016/10/05/building-your-own-react-clone-in-five-easy-steps/) * [**JavaScript**: _Gooact: React in 160 lines of JavaScript_](https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f) * [**JavaScript**: _React Internals_](http://www.mattgreer.org/articles/react-internals-part-one-basic-rendering/) +* [**JavaScript**: _Learn how React Reconciler package works by building your own lightweight React DOM_](https://hackernoon.com/learn-you-some-custom-react-renderers-aed7164a4199) * [**JavaScript**: _Build your own Vuejs_](https://github.com/jsrebuild/build-your-own-vuejs) * [**JavaScript**: _Build Yourself a Redux_](https://zapier.com/engineering/how-to-build-redux/) * [**JavaScript**: _Let’s Write Redux!_](https://www.jamasoftware.com/blog/lets-write-redux/) From e371d3c27230c67f23f4b099e4d830f69ec13907 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 19 Jul 2018 01:06:21 +0200 Subject: [PATCH 08/81] Add tutorial #240 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0b3653..bf2bcc8 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ * [**JavaScript**: _Implementing promises from scratch (TDD way)_](https://www.mauriciopoppe.com/notes/computer-science/computation/promises/) * [**JavaScript**: _Implement your own — call(), apply() and bind() method in JavaScript_](https://blog.usejournal.com/implement-your-own-call-apply-and-bind-method-in-javascript-42cc85dba1b) * [**JavaScript**: _JavaScript Algorithms and Data Structures_](https://github.com/trekhleb/javascript-algorithms) +* [**JavaScript**: _How to Make an Evolutionary Tetris AI_](https://www.youtube.com/watch?v=xLHCMMGuN0Q) [video] * [**Kotlin**: _Build Your Own Cache_](http://kezhenxu94.me/2018/05/27/Build-Your-Own-Cache/) * [**Nim**: _Writing a DMIDecode Parser_](https://xmonader.github.io/nimdays/day1_dmidecode.html#cid1) * [**Nim**: _Writing a INI Parser_](https://xmonader.github.io/nimdays/day5_iniparser.html#cid13) From e120a00d95230031d1c51fc34bba519b39f0e44c Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 19 Jul 2018 01:23:08 +0200 Subject: [PATCH 09/81] Add tutorial #238 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bf2bcc8..641eb43 100644 --- a/README.md +++ b/README.md @@ -282,6 +282,7 @@ * [**Python**: _Simple Top-Down Parsing in Python_](http://effbot.org/zone/simple-top-down-parsing.htm) * [**Python**: _How to Write a Lisp Interpreter in Python_](http://norvig.com/lispy.html) * [**Python**: _Let’s Build A Simple Interpreter_](https://ruslanspivak.com/lsbasi-part1/) +* [**Python**: _Make Your Own Simple Interpreted Programming Language_](https://www.youtube.com/watch?v=dj9CBS3ikGA&list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD&index=1) [video] * [**Racket**: _Beautiful Racket: How to make your own programming languages with Racket_](https://beautifulracket.com/) * [**Ruby**: _A Compiler From Scratch_](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch) * [**Ruby**: _Markdown compiler from scratch in Ruby_](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/) From b903f017c2bc466a4c80f8eca9f19498d8419fff Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 19 Jul 2018 16:33:30 +0200 Subject: [PATCH 10/81] Add tutorial #237 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 641eb43..84155b6 100644 --- a/README.md +++ b/README.md @@ -382,6 +382,7 @@ * [**JavaScript**: _Implement your own — call(), apply() and bind() method in JavaScript_](https://blog.usejournal.com/implement-your-own-call-apply-and-bind-method-in-javascript-42cc85dba1b) * [**JavaScript**: _JavaScript Algorithms and Data Structures_](https://github.com/trekhleb/javascript-algorithms) * [**JavaScript**: _How to Make an Evolutionary Tetris AI_](https://www.youtube.com/watch?v=xLHCMMGuN0Q) [video] +* [**JavaScript**: _Building a Simple URL Shortener With Just HTML and Javascript_](https://palash.tk/Build-URL-Shortener-With-HTML-JS) * [**Kotlin**: _Build Your Own Cache_](http://kezhenxu94.me/2018/05/27/Build-Your-Own-Cache/) * [**Nim**: _Writing a DMIDecode Parser_](https://xmonader.github.io/nimdays/day1_dmidecode.html#cid1) * [**Nim**: _Writing a INI Parser_](https://xmonader.github.io/nimdays/day5_iniparser.html#cid13) From 085752698540513f95a8f649ab44d87ec353ee9f Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Tue, 24 Jul 2018 11:42:23 +0200 Subject: [PATCH 11/81] Add tutorial #244 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84155b6..5f08cfd 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,7 @@ * [**Java**: _Creating JVM Language_](http://jakubdziworski.github.io/categories.html#Enkel-ref) * [**JavaScript**: _The Super Tiny Compiler_](https://github.com/jamiebuilds/the-super-tiny-compiler) * [**JavaScript**: _The Super Tiny Interpreter_](https://github.com/keyanzhang/the-super-tiny-interpreter) +* [**JavaScript**: _Little Lisp interpreter_](https://maryrosecook.com/blog/post/little-lisp-interpreter) * [**OCaml**: _Writing a C Compiler_](https://norasandler.com/2017/11/29/Write-a-Compiler.html) * [**Pascal**: _Let's Build a Compiler_](https://compilers.iecc.com/crenshaw/) * [**Python**: _A Python Interpreter Written in Python_](http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html) From 840a2e6f93b91c0fcedbf07e482967416e2e9505 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Tue, 24 Jul 2018 11:44:35 +0200 Subject: [PATCH 12/81] Add tutorial #243 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f08cfd..0d28123 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ * [**JavaScript**: _The Super Tiny Compiler_](https://github.com/jamiebuilds/the-super-tiny-compiler) * [**JavaScript**: _The Super Tiny Interpreter_](https://github.com/keyanzhang/the-super-tiny-interpreter) * [**JavaScript**: _Little Lisp interpreter_](https://maryrosecook.com/blog/post/little-lisp-interpreter) +* [**JavaScript**: _How to implement a programming language in JavaScript_](http://lisperator.net/pltut/) * [**OCaml**: _Writing a C Compiler_](https://norasandler.com/2017/11/29/Write-a-Compiler.html) * [**Pascal**: _Let's Build a Compiler_](https://compilers.iecc.com/crenshaw/) * [**Python**: _A Python Interpreter Written in Python_](http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html) From 13a368d7cea5c217c929064885bf6e4a01ef465f Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Tue, 24 Jul 2018 11:47:59 +0200 Subject: [PATCH 13/81] Add tutorial #242 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d28123..b73d764 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ * [**Racket**: _Beautiful Racket: How to make your own programming languages with Racket_](https://beautifulracket.com/) * [**Ruby**: _A Compiler From Scratch_](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch) * [**Ruby**: _Markdown compiler from scratch in Ruby_](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/) +* [**Swift**: _Building a LISP from scratch with Swift_](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/) #### Build your own `Regex Engine` From 8d3693e9567a79276bfd202d920bb609414c78fb Mon Sep 17 00:00:00 2001 From: NoNE Date: Sun, 29 Jul 2018 13:35:16 +0200 Subject: [PATCH 14/81] Added new slack bot tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b73d764..842504c 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ * [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _Chatbot Fundamentals: An interactive guide to writing bots in Python_](https://apps.worldwritable.com/tutorials/chatbot/) * [**Python**: _How to Build Your First Slack Bot with Python_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html) +* [**Python**: How to build a Slack Bot with Python using Slack Events API & Django under 20 minute](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e) * [**Python**: _Build a Reddit Bot_](http://pythonforengineers.com/build-a-reddit-bot-part-1/) * [**Python**: _How To Make A Reddit Bot_](https://www.youtube.com/watch?v=krTUf7BpTc0) [video] * [**Python**: _How To Create a Telegram Bot Using Python_](https://khashtamov.com/en/how-to-create-a-telegram-bot-using-python/) From 42cd93e6dbb917b13d23b72a5029c30bc7f6c5fe Mon Sep 17 00:00:00 2001 From: NoNE Date: Tue, 31 Jul 2018 16:54:07 +0200 Subject: [PATCH 15/81] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 842504c..209a0ef 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ * [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _Chatbot Fundamentals: An interactive guide to writing bots in Python_](https://apps.worldwritable.com/tutorials/chatbot/) * [**Python**: _How to Build Your First Slack Bot with Python_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html) -* [**Python**: How to build a Slack Bot with Python using Slack Events API & Django under 20 minute](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e) +* [**Python**: _How to build a Slack Bot with Python using Slack Events API & Django under 20 minute_](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e) * [**Python**: _Build a Reddit Bot_](http://pythonforengineers.com/build-a-reddit-bot-part-1/) * [**Python**: _How To Make A Reddit Bot_](https://www.youtube.com/watch?v=krTUf7BpTc0) [video] * [**Python**: _How To Create a Telegram Bot Using Python_](https://khashtamov.com/en/how-to-create-a-telegram-bot-using-python/) From 143d3bbd67b4b27f084883e241d78ba0f594a512 Mon Sep 17 00:00:00 2001 From: mfrachet Date: Fri, 10 Aug 2018 15:20:17 +0200 Subject: [PATCH 16/81] modifying create-frontend-framework --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 209a0ef..04d21a9 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ * [**JavaScript**: _Build Your own Simplified AngularJS in 200 Lines of JavaScript_](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/) * [**JavaScript**: _Make Your Own AngularJS_](http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html) * [**JavaScript**: _How to write your own Virtual DOM_](https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060) -* [**JavaScript**: _Building a frontend framework, from scratch, with components_](https://github.com/mfrachet/create-frontend-framework) +* [**JavaScript**: _Building a frontend framework, from scratch, with components (templating, state, VDOM)_](https://mfrachet.github.io/create-frontend-framework/) #### Build your own `Game` From 5386902734f8ded5a8aa247c1677be709ef827eb Mon Sep 17 00:00:00 2001 From: Rahul J Date: Mon, 13 Aug 2018 15:05:23 +0530 Subject: [PATCH 17/81] Added Machine learning algorithms to the base entitites Added Decision tree code building exercise as part of the Machine learning algorithms. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 04d21a9..bc36191 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ * [Front-end Framework / Library](#build-your-own-front-end-framework--library) * [Game](#build-your-own-game) * [Git](#build-your-own-git) +* [Machine Learning Algorithm](#build-your-own-machine-learning-algorithm) * [Network Stack](#build-your-own-network-stack) * [Neural Network](#build-your-own-neural-network) * [Operating System](#build-your-own-operating-system) @@ -203,6 +204,11 @@ * [**Python**: _Just enough of a Git client to create a repo, commit, and push itself to GitHub_](https://benhoyt.com/writings/pygit/) * [**Ruby**: _Rebuilding Git in Ruby_](https://robots.thoughtbot.com/rebuilding-git-in-ruby) + +#### Build your own `Machine Learning Algorithm` + +* [**Python**: _Learn ML Algorithms by coding: Decision Trees_](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4) + #### Build your own `Network Stack` * [**C**: _Beej's Guide to Network Programming_](http://beej.us/guide/bgnet/html/multi/index.html) From c50c142f1303eb640605599f8c95d74eaf1c8f4c Mon Sep 17 00:00:00 2001 From: Rahul J Date: Mon, 13 Aug 2018 15:06:51 +0530 Subject: [PATCH 18/81] Modified to add Machine Learning Algorithm in the category list --- ISSUE_TEMPLATE | 1 + 1 file changed, 1 insertion(+) diff --git a/ISSUE_TEMPLATE b/ISSUE_TEMPLATE index 105426c..f826968 100644 --- a/ISSUE_TEMPLATE +++ b/ISSUE_TEMPLATE @@ -23,6 +23,7 @@ Thanks for contributing! Tutorial in this list should provide a guided path for * [ ] Front-end Framework / Library * [ ] Game * [ ] Git +* [ ] Machine Learning Algorithm * [ ] Network Stack * [ ] Neural Network * [ ] Operating System From 8b0481eeebee153b5cfb31c58c93498b12a1baa1 Mon Sep 17 00:00:00 2001 From: "Amr M. Kayid" Date: Sat, 18 Aug 2018 02:33:17 +0200 Subject: [PATCH 19/81] Add tutorial for Building a Deep Learning Library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04d21a9..fc7024a 100644 --- a/README.md +++ b/README.md @@ -395,6 +395,7 @@ * [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) +* [**Python**: _Build a Deep Learning Library_](https://www.youtube.com/watch?v=o64FV-ez6Gw) [video] * [**Python**: _How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes_](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/) * [**Python**: _Continuous Integration System_](http://aosabook.org/en/500L/a-continuous-integration-system.html) * [**Python**: _Recommender Systems in Python: Beginner Tutorial_](https://www.datacamp.com/community/tutorials/recommender-systems-python) From 9c252896a33aab579f67f763aa36cbef84230db3 Mon Sep 17 00:00:00 2001 From: Sandoche ADITTANE Date: Sat, 18 Aug 2018 11:00:19 +0200 Subject: [PATCH 20/81] Add Cryptocurrency proof of stake tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04d21a9..1ce8eb8 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ * [**Python**: _Let’s Build the Tiniest Blockchain_](https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b) * [**Ruby**: _Programming Blockchains Step-by-Step (Manuscripts Book Edition)_](https://github.com/yukimotopress/programming-blockchains-step-by-step) * [**TypeScript**: _Naivecoin: a tutorial for building a cryptocurrency_](https://lhartikk.github.io/) +* [**TypeScript**: _NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus_](https://naivecoinstake.learn.uno/) #### Build your own `Bot` From 5dcdf25eae95fef6680f9ce3e2b8c1b800e7b8f5 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Mon, 20 Aug 2018 13:50:39 +0200 Subject: [PATCH 21/81] Add tutorial #246 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dfa4455..7e2d989 100644 --- a/README.md +++ b/README.md @@ -405,6 +405,7 @@ * [**Python**: _Stock Market Predictions with LSTM in Python_](https://www.datacamp.com/community/tutorials/lstm-python-stock-market) * [**Python**: _Build your own error-correction fountain code with Luby Transform Codes_](https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/) * [**Python**: _Building a simple Generative Adversial Network (GAN) using Tensorflow_](https://blog.paperspace.com/implementing-gans-in-tensorflow/) +* [**Python**: _JSON Decoding Algorithm_](https://github.com/cheery/json-algorithm) * [**Ruby**: _A Pedometer in the Real World_](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html) * [**Ruby**: _Creating a Linux Desktop application with Ruby_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby) * [**Rust**: _Let's build a browser engine_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) From 49a0440ed23bc6dc1bb523881a209b252dbafa50 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:26:34 +0200 Subject: [PATCH 22/81] Move tutorial to "Uncategorized" --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index bc36191..e6ec0ff 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,6 @@ * [Front-end Framework / Library](#build-your-own-front-end-framework--library) * [Game](#build-your-own-game) * [Git](#build-your-own-git) -* [Machine Learning Algorithm](#build-your-own-machine-learning-algorithm) * [Network Stack](#build-your-own-network-stack) * [Neural Network](#build-your-own-neural-network) * [Operating System](#build-your-own-operating-system) @@ -204,11 +203,6 @@ * [**Python**: _Just enough of a Git client to create a repo, commit, and push itself to GitHub_](https://benhoyt.com/writings/pygit/) * [**Ruby**: _Rebuilding Git in Ruby_](https://robots.thoughtbot.com/rebuilding-git-in-ruby) - -#### Build your own `Machine Learning Algorithm` - -* [**Python**: _Learn ML Algorithms by coding: Decision Trees_](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4) - #### Build your own `Network Stack` * [**C**: _Beej's Guide to Network Programming_](http://beej.us/guide/bgnet/html/multi/index.html) @@ -409,6 +403,7 @@ * [**Python**: _Stock Market Predictions with LSTM in Python_](https://www.datacamp.com/community/tutorials/lstm-python-stock-market) * [**Python**: _Build your own error-correction fountain code with Luby Transform Codes_](https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/) * [**Python**: _Building a simple Generative Adversial Network (GAN) using Tensorflow_](https://blog.paperspace.com/implementing-gans-in-tensorflow/) +* [**Python**: _Learn ML Algorithms by coding: Decision Trees_](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4) * [**Ruby**: _A Pedometer in the Real World_](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html) * [**Ruby**: _Creating a Linux Desktop application with Ruby_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby) * [**Rust**: _Let's build a browser engine_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) From 4d1fe714d39071f2e193a18a0af0995157cc0040 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:26:57 +0200 Subject: [PATCH 23/81] Remove category from issue template --- ISSUE_TEMPLATE | 1 - 1 file changed, 1 deletion(-) diff --git a/ISSUE_TEMPLATE b/ISSUE_TEMPLATE index f826968..105426c 100644 --- a/ISSUE_TEMPLATE +++ b/ISSUE_TEMPLATE @@ -23,7 +23,6 @@ Thanks for contributing! Tutorial in this list should provide a guided path for * [ ] Front-end Framework / Library * [ ] Game * [ ] Git -* [ ] Machine Learning Algorithm * [ ] Network Stack * [ ] Neural Network * [ ] Operating System From 022ea73247930a436c472c12b23ca49e7d06b9bb Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:30:26 +0200 Subject: [PATCH 24/81] Add tutorial #248 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7077a5e..59d023c 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,7 @@ * [**C**: _Baby's First Garbage Collector_](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) * [**C**: _Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code_](http://www.buildyourownlisp.com/) * [**C**: _Writing a Simple Garbage Collector in C_](http://maplant.com/gc.html) +* [**C**: _C interpreter that interpretes itself._](https://github.com/lotabout/write-a-C-interpreter) * [**C++**: _Writing Your Own Toy Compiler Using Flex_](https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/) * [**C++**: _How to Create a Compiler_](https://www.youtube.com/watch?v=eF9qWbuQLuw) [video] * [**C++**: _Kaleidoscope: Implementing a Language with LLVM_](https://llvm.org/docs/tutorial/LangImpl01.html) From dca07be7a86939a1e2a3f1790d66eddcb7096e14 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:36:29 +0200 Subject: [PATCH 25/81] Add tutorial #253 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59d023c..15adab2 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ * [**Racket**: _Beautiful Racket: How to make your own programming languages with Racket_](https://beautifulracket.com/) * [**Ruby**: _A Compiler From Scratch_](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch) * [**Ruby**: _Markdown compiler from scratch in Ruby_](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/) +* [**Rust**: _So You Want to Build a Language VM_](https://blog.subnetzero.io/post/building-language-vm-part-00/) * [**Swift**: _Building a LISP from scratch with Swift_](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/) #### Build your own `Regex Engine` From be808809387128a3b70737b0df809528d3012a36 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:38:36 +0200 Subject: [PATCH 26/81] Add tutorial #254 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15adab2..386a996 100644 --- a/README.md +++ b/README.md @@ -414,6 +414,7 @@ * [**Rust**: _Let's build a browser engine_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) * [**Rust**: _Building a DNS server in Rust_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md) * [**TypeScript**: _Make your own GraphQL metrics dashboard_](http://all-loops-considered.org/2018/05/09/graphql-metrics-part-1/) +* [**TypeScript**: _Tiny Package Manager: Learns how npm or Yarn works_](https://github.com/g-plane/tiny-package-manager) ## How to contribute From 88387db219f0c3cd9f7cdda823ba818bb2801672 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:41:10 +0200 Subject: [PATCH 27/81] Add tutorial #255 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 386a996..8bd40f8 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ * [**JavaScript**: _Little Lisp interpreter_](https://maryrosecook.com/blog/post/little-lisp-interpreter) * [**JavaScript**: _How to implement a programming language in JavaScript_](http://lisperator.net/pltut/) * [**OCaml**: _Writing a C Compiler_](https://norasandler.com/2017/11/29/Write-a-Compiler.html) +* [**OCaml**: _Writing a Lisp, the series_](https://bernsteinbear.com/blog/lisp/) * [**Pascal**: _Let's Build a Compiler_](https://compilers.iecc.com/crenshaw/) * [**Python**: _A Python Interpreter Written in Python_](http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html) * [**Python**: _lisp.py: Make your own Lisp interpreter_](http://khamidou.com/compilers/lisp.py/) From 4f5c77315b27520126fb70de00b4e6407ccd9929 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:43:22 +0200 Subject: [PATCH 28/81] Add tutorial #256 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8bd40f8..da5a5ae 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ #### Build your own `Docker` * [**C**: _Linux containers in 500 lines of code_](https://blog.lizzie.io/linux-containers-in-500-loc.html) +* [**C++**: _Creating your own containers_](http://cesarvr.github.io/post/2018-05-22-create-containers/) * [**Go**: _Building a container from scratch in Go_](https://www.youtube.com/watch?v=Utf-A4rODH8) [video] * [**Python**: _A workshop on Linux containers: Rebuild Docker from Scratch_](https://github.com/Fewbytes/rubber-docker) * [**Python**: _A proof-of-concept imitation of Docker, written in 100% Python_](https://github.com/tonybaloney/mocker) From 0749023595d7cd03e025a52837be70449105a8c5 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:47:06 +0200 Subject: [PATCH 29/81] Add tutorial #257 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da5a5ae..14b7f8d 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,7 @@ * [**C++**: _Emulation tutorial (CHIP-8 interpreter)_](http://www.codeslinger.co.uk/pages/projects/chip8.html) * [**C++**: _Emulation tutorial (GameBoy emulator)_](http://www.codeslinger.co.uk/pages/projects/gameboy.html) * [**C++**: _Emulation tutorial (Master System emulator)_](http://www.codeslinger.co.uk/pages/projects/mastersystem/memory.html) +* [**Common Lisp**: _CHIP-8 in Common Lisp_](http://stevelosh.com/blog/2016/12/chip8-cpu/) * [**JavaScript**: _GameBoy Emulation in JavaScript_](http://imrannazar.com/GameBoy-Emulation-in-JavaScript) * [**Python**: _Emulation Basics: Write your own Chip 8 Emulator/Interpreter_](http://omokute.blogspot.com.br/2012/06/emulation-basics-write-your-own-chip-8.html) From bebf5b790153ff6609d889761f240209d17d3df1 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Wed, 29 Aug 2018 08:52:49 +0200 Subject: [PATCH 30/81] Add tutorial #252 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 14b7f8d..e221bfb 100644 --- a/README.md +++ b/README.md @@ -384,6 +384,7 @@ * [**C++**: _Writing a Linux Debugger_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) * [**C++**: _How a 64k intro is made_](http://www.lofibucket.com/articles/64k_intro.html) * [**C#**: _C# Networking: Create a TCP chater server, TCP games, UDP Pong and more_](https://16bpp.net/tutorials/csharp-networking) +* [**C#**: _Loading and rendering 3D skeletal animations from scratch in C# and GLSL_](https://www.seanjoflynn.com/research/skeletal-animation.html) * [**Clojure**: _Building a spell-checker_](https://bernhardwenzel.com/articles/clojure-spellchecker/) * [**Java**: _How to Build an Android Reddit App_](https://www.youtube.com/playlist?list=PLgCYzUzKIBE9HUJU-upNvl3TRVAo9W47y) [video] * [**JavaScript**: _Build Your Own Module Bundler - Minipack_](https://github.com/ronami/minipack) From 5197d1bf21df1e4d6fed4c996861d329c58f15de Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 7 Sep 2018 09:18:34 +0200 Subject: [PATCH 31/81] Add tutorial #259 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e221bfb..e63e3c6 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,7 @@ * [**Python**: _Making Games with Python & Pygame_](https://inventwithpython.com/makinggames.pdf) [pdf] * [**Python**: _The Complete Roguelike Tutorial_](https://www.youtube.com/playlist?list=PLKUel_nHsTQ1yX7tQxR_SQRdcOFyXfNAb) [video] * [**Ruby**: _Developing Games With Ruby_](https://leanpub.com/developing-games-with-ruby/read) +* [**Ruby**: _Ruby Snake_](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/) #### Build your own `Git` From aa65dcb47a795ba50a106268c8a38ac6ad1e923e Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 7 Sep 2018 09:27:38 +0200 Subject: [PATCH 32/81] Replace video link with playlist link #260 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e63e3c6..1d49c1d 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ * [**Go**: _Build a multilayer perceptron with Golang_](https://made2591.github.io/posts/neuralnetwork) * [**Go**: _How to build a simple artificial neural network with Go_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) * [**Go**: _Building a Neural Net from Scratch in Go_](https://www.datadan.io/building-a-neural-net-from-scratch-in-go/) -* [**Java**: _Neural Networks: Perceptron_](https://www.youtube.com/watch?v=ntKn5TPHHAk&feature=youtu.be) [video] +* [**JavaScript / Java**: _Neural Networks - The Nature of Code_](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh) [video] * [**JavaScript**: _Neural Network implementation in JavaScript, by an example_](https://franpapers.com/en/machine-learning-ai-en/2017-neural-network-implementation-in-javascript-by-an-example/) * [**JavaScript**: _Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)_](https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2) * [**Python**: _A Neural Network in 11 lines of Python_](https://iamtrask.github.io/2015/07/12/basic-python-network/) From 9d80e67dbaed531be0ebee1f42981648f2ac5860 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 7 Sep 2018 09:32:40 +0200 Subject: [PATCH 33/81] Add tutorial #258 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d49c1d..b3247cf 100644 --- a/README.md +++ b/README.md @@ -401,6 +401,7 @@ * [**Nim**: _Writing a Link Checker_](https://xmonader.github.io/nimdays/day4_asynclinkschecker.html#cid10) * [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day7_shorturl.html#cid20) * [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) +* [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) * [**Python**: _Build a Deep Learning Library_](https://www.youtube.com/watch?v=o64FV-ez6Gw) [video] From 3dea0a2d470054eb18f30f423ff2c0074153850f Mon Sep 17 00:00:00 2001 From: xmonader Date: Sun, 9 Sep 2018 12:32:12 +0200 Subject: [PATCH 34/81] Update Nim projects --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b3247cf..1f99181 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ #### Build your own `BitTorrent Client` * [**C#**: _Building a BitTorrent client from scratch in C#_](https://www.seanjoflynn.com/research/bittorrent.html) -* [**Nim**: _Writing a Bencode Parser_](https://xmonader.github.io/nimdays/day2_bencode.html#cid4) +* [**Nim**: _Writing a Bencode Parser_](https://xmonader.github.io/nimdays/day02_bencode.html) * [**Node.js**: _Write your own bittorrent client_](https://allenkim67.github.io/programming/2016/05/04/how-to-make-your-own-bittorrent-client.html) * [**Python**: _A BitTorrent client in Python 3.5_](http://markuseliasson.se/article/bittorrent-in-python/) @@ -109,7 +109,7 @@ * [**Go**: _Build a command line app with Go: lolcat_](https://flaviocopes.com/go-tutorial-lolcat/) * [**Go**: _Building a cli command with Go: cowsay_](https://flaviocopes.com/go-tutorial-cowsay/) * [**Go**: _Go CLI tutorial: fortune clone_](https://flaviocopes.com/go-tutorial-fortune/) -* [**Nim**: _Writing a stow alternative to manage dotfiles_](https://xmonader.github.io/nimdays/day6_nistow.html#cid16) +* [**Nim**: _Writing a stow alternative to manage dotfiles_](https://xmonader.github.io/nimdays/day06_nistow.html) #### Build your own `Database` @@ -396,10 +396,13 @@ * [**JavaScript**: _How to Make an Evolutionary Tetris AI_](https://www.youtube.com/watch?v=xLHCMMGuN0Q) [video] * [**JavaScript**: _Building a Simple URL Shortener With Just HTML and Javascript_](https://palash.tk/Build-URL-Shortener-With-HTML-JS) * [**Kotlin**: _Build Your Own Cache_](http://kezhenxu94.me/2018/05/27/Build-Your-Own-Cache/) -* [**Nim**: _Writing a DMIDecode Parser_](https://xmonader.github.io/nimdays/day1_dmidecode.html#cid1) -* [**Nim**: _Writing a INI Parser_](https://xmonader.github.io/nimdays/day5_iniparser.html#cid13) -* [**Nim**: _Writing a Link Checker_](https://xmonader.github.io/nimdays/day4_asynclinkschecker.html#cid10) -* [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day7_shorturl.html#cid20) +* [**Nim**: _Writing a Redis Protocol Parser_](https://xmonader.github.io/nimdays/day12_resp.html) +* [**Nim**: _Writing a Build system_](https://xmonader.github.io/nimdays/day11_buildsystem.html) +* [**Nim**: _Writing a MiniTest Framework_](https://xmonader.github.io/nimdays/day08_minitest.html) +* [**Nim**: _Writing a DMIDecode Parser_](https://xmonader.github.io/nimdays/day01_dmidecode.html) +* [**Nim**: _Writing a INI Parser_](https://xmonader.github.io/nimdays/day05_iniparser.html) +* [**Nim**: _Writing a Link Checker_](https://xmonader.github.io/nimdays/day04_asynclinkschecker.html) +* [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day07_shorturl.html) * [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) From 638a0f0602d7f88ea3304802586188e5d5b5fbcf Mon Sep 17 00:00:00 2001 From: Musa Farouk <30430451+musafarouk@users.noreply.github.com> Date: Sat, 15 Sep 2018 20:19:41 +0100 Subject: [PATCH 35/81] Added Blockchain Tutorial in Go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3247cf..3c347b4 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ * [**Crystal**: _Write your own blockchain and PoW algorithm using Crystal_](https://medium.com/@bradford_hamilton/write-your-own-blockchain-and-pow-algorithm-using-crystal-d53d5d9d0c52) * [**Go**: _Building Blockchain in Go_](https://jeiwan.cc/posts/building-blockchain-in-go-part-1/) * [**Go**: _Code your own blockchain in less than 200 lines of Go_](https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc) +* [**Go**: _Building A Simple Blockchain with Go_](https://www.codementor.io/codehakase/building-a-simple-blockchain-with-go-k7crur06v) * [**Java**: _Creating Your First Blockchain with Java_](https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa) * [**JavaScript**: _A cryptocurrency implementation in less than 1500 lines of code_](https://github.com/conradoqg/naivecoin) * [**JavaScript**: _Build your own Blockchain in JavaScript_](https://github.com/nambrot/blockchain-in-js) From dac99c8d4d7de8bf97c43d65b5cbfa7065686958 Mon Sep 17 00:00:00 2001 From: kudakwashe siziva <9620622+kaysiz@users.noreply.github.com> Date: Sun, 23 Sep 2018 03:41:34 +0200 Subject: [PATCH 36/81] Update README.md removed dead link (* [**C**: _Writing a shell in C_](https://prakashdanish.github.io/2018/01/15/write-a-shell.html)) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b3247cf..ee2f8f2 100644 --- a/README.md +++ b/README.md @@ -322,7 +322,6 @@ * [**C**: _Let's build a shell!_](https://github.com/kamalmarhubi/shell-workshop) * [**C**: _Writing a UNIX Shell_](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/) * [**C**: _Build Your Own Shell_](https://github.com/tokenrove/build-your-own-shell) -* [**C**: _Writing a shell in C_](https://prakashdanish.github.io/2018/01/15/write-a-shell.html) * [**Go**: _Writing a simple shell in Go_](https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/) * [**Ruby**: _A Unix Shell in Ruby_](https://www.jstorimer.com/blogs/workingwithcode/7766107-a-unix-shell-in-ruby) From 49d0240153e46a65c81aae57fc738925aaea9c5f Mon Sep 17 00:00:00 2001 From: Daniel Barnes <31489642+danielbarnes175@users.noreply.github.com> Date: Tue, 2 Oct 2018 19:33:16 -0500 Subject: [PATCH 37/81] Added a video tutorial for creating a Discord Bot --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9cfef22..536f1ad 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ * [**Node.js**: _Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js_](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d) * [**Node.js**: _How to make a responsive telegram bot_](https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/) * [**Node.js**: _Create a Discord bot_](https://discordjs.guide/) +* [**Node.js**: _Create a Discord bot_](https://www.youtube.com/playlist?list=PLVBD9pLCy6oogSgJuUQzE-99_-voOdSng) [video] * [**Node.js**: _gifbot - Building a GitHub App_](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html) * [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _Chatbot Fundamentals: An interactive guide to writing bots in Python_](https://apps.worldwritable.com/tutorials/chatbot/) From 4df2b860d6734c0fe9c786279bf5caff660f1fc0 Mon Sep 17 00:00:00 2001 From: Umar Farouq Date: Fri, 5 Oct 2018 02:07:06 +0000 Subject: [PATCH 38/81] Added react native uber clone tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7719c7a..f94d605 100644 --- a/README.md +++ b/README.md @@ -425,6 +425,7 @@ * [**Rust**: _Building a DNS server in Rust_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md) * [**TypeScript**: _Make your own GraphQL metrics dashboard_](http://all-loops-considered.org/2018/05/09/graphql-metrics-part-1/) * [**TypeScript**: _Tiny Package Manager: Learns how npm or Yarn works_](https://github.com/g-plane/tiny-package-manager) +* [**React Native**: _BUILD A RIDE HAILING APP WITH REACT NATIVEs_](https://pusher.com/tutorials/ride-hailing-react-native) ## How to contribute From c3e98aa9c0c546cd2501cc2428c308213adcf448 Mon Sep 17 00:00:00 2001 From: juliardi Date: Fri, 5 Oct 2018 17:00:13 +0700 Subject: [PATCH 39/81] Add 'Modern PHP without a Framework' tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7719c7a..136e453 100644 --- a/README.md +++ b/README.md @@ -408,6 +408,7 @@ * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) +* [**PHP**: _Modern PHP Without a Framework_](https://kevinsmith.io/modern-php-without-a-framework) * [**Python**: _Build a Deep Learning Library_](https://www.youtube.com/watch?v=o64FV-ez6Gw) [video] * [**Python**: _How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes_](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/) * [**Python**: _Continuous Integration System_](http://aosabook.org/en/500L/a-continuous-integration-system.html) From 196e5790f2dabbbad820ecf938f60ec86e59f924 Mon Sep 17 00:00:00 2001 From: Benjamin Sinkula Date: Fri, 5 Oct 2018 16:30:44 -0500 Subject: [PATCH 40/81] Add Build Your Own Collaborative Text Editor Using Rails --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7719c7a..5dc0f36 100644 --- a/README.md +++ b/README.md @@ -341,6 +341,7 @@ * [**C++**: _Designing a Simple Text Editor_](http://www.fltk.org/doc-1.1/editor.html) * [**Python**: _Python Tutorial: Make Your Own Text Editor_](https://www.youtube.com/watch?v=xqDonHEYPgA) [video] * [**Python**: _Create a Simple Python Text Editor!_](http://www.instructables.com/id/Create-a-Simple-Python-Text-Editor/) +* [**Ruby**: _Build a Collaborative Text Editor Using Rails_](https://blog.aha.io/text-editor/) #### Build your own `Visual Recognition System` From 7ce8aa291c37810aa8c942806320ebc32ed10b0a Mon Sep 17 00:00:00 2001 From: Daniel Barnes <31489642+danielbarnes175@users.noreply.github.com> Date: Thu, 11 Oct 2018 21:12:24 -0500 Subject: [PATCH 41/81] Add api tutorial from issue #267 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7719c7a..30c210a 100644 --- a/README.md +++ b/README.md @@ -370,6 +370,7 @@ * [**Python**: _Web application from scratch_](https://defn.io/2018/02/25/web-app-from-scratch-01/) * [**Python**: _Building a basic HTTP Server from scratch in Python_](http://joaoventura.net/blog/2017/python-webserver/) * [**Ruby**: _Building a simple websockets server from scratch in Ruby_](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/) +* [**Python**: _Implementing a RESTful Web API with Python & Flask_](http://blog.luisrei.com/articles/flaskrest.html) #### Uncategorized From 3b82ddfc8fb307570ac5bcf043ee575635879f5d Mon Sep 17 00:00:00 2001 From: Daniel Barnes <31489642+danielbarnes175@users.noreply.github.com> Date: Thu, 11 Oct 2018 21:14:10 -0500 Subject: [PATCH 42/81] Fixed formatting to group languages --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 30c210a..085bac8 100644 --- a/README.md +++ b/README.md @@ -369,8 +369,9 @@ * [**Python**: _Let’s Build A Web Server._](https://ruslanspivak.com/lsbaws-part1/) * [**Python**: _Web application from scratch_](https://defn.io/2018/02/25/web-app-from-scratch-01/) * [**Python**: _Building a basic HTTP Server from scratch in Python_](http://joaoventura.net/blog/2017/python-webserver/) -* [**Ruby**: _Building a simple websockets server from scratch in Ruby_](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/) * [**Python**: _Implementing a RESTful Web API with Python & Flask_](http://blog.luisrei.com/articles/flaskrest.html) +* [**Ruby**: _Building a simple websockets server from scratch in Ruby_](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/) + #### Uncategorized From 531d772f490ba134097b77d95334731a15b373fc Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 12 Oct 2018 10:46:40 +0200 Subject: [PATCH 43/81] Change link label --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f94d605..8ff40af 100644 --- a/README.md +++ b/README.md @@ -396,6 +396,7 @@ * [**JavaScript**: _JavaScript Algorithms and Data Structures_](https://github.com/trekhleb/javascript-algorithms) * [**JavaScript**: _How to Make an Evolutionary Tetris AI_](https://www.youtube.com/watch?v=xLHCMMGuN0Q) [video] * [**JavaScript**: _Building a Simple URL Shortener With Just HTML and Javascript_](https://palash.tk/Build-URL-Shortener-With-HTML-JS) +* [**JavaScript**: _Build a ride hailing app with React Native_](https://pusher.com/tutorials/ride-hailing-react-native) * [**Kotlin**: _Build Your Own Cache_](http://kezhenxu94.me/2018/05/27/Build-Your-Own-Cache/) * [**Nim**: _Writing a Redis Protocol Parser_](https://xmonader.github.io/nimdays/day12_resp.html) * [**Nim**: _Writing a Build system_](https://xmonader.github.io/nimdays/day11_buildsystem.html) @@ -425,7 +426,6 @@ * [**Rust**: _Building a DNS server in Rust_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md) * [**TypeScript**: _Make your own GraphQL metrics dashboard_](http://all-loops-considered.org/2018/05/09/graphql-metrics-part-1/) * [**TypeScript**: _Tiny Package Manager: Learns how npm or Yarn works_](https://github.com/g-plane/tiny-package-manager) -* [**React Native**: _BUILD A RIDE HAILING APP WITH REACT NATIVEs_](https://pusher.com/tutorials/ride-hailing-react-native) ## How to contribute From a28fa741b5093cd37e506776521d154039513918 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 12 Oct 2018 11:19:51 +0200 Subject: [PATCH 44/81] Update ISSUE_TEMPLATE --- ISSUE_TEMPLATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ISSUE_TEMPLATE b/ISSUE_TEMPLATE index 105426c..81a88a2 100644 --- a/ISSUE_TEMPLATE +++ b/ISSUE_TEMPLATE @@ -1,5 +1,5 @@ ### Main programming language From e173d82b0c3a3017b405d29e8f768f3c71ccc801 Mon Sep 17 00:00:00 2001 From: Palash Bauri Date: Sat, 13 Oct 2018 09:04:42 +0530 Subject: [PATCH 45/81] Added new from medium How to create a real-world Node CLI app with Node --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef1346e..9b35c28 100644 --- a/README.md +++ b/README.md @@ -410,6 +410,7 @@ * [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day07_shorturl.html) * [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) +* [**Node.js**: _How to create a real-world Node CLI app with Node](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) * [**PHP**: _Modern PHP Without a Framework_](https://kevinsmith.io/modern-php-without-a-framework) From d80cb1359db1adf10b8625e393e7b89377b03018 Mon Sep 17 00:00:00 2001 From: Palash Bauri Date: Sat, 13 Oct 2018 09:05:31 +0530 Subject: [PATCH 46/81] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b35c28..a47683d 100644 --- a/README.md +++ b/README.md @@ -410,7 +410,7 @@ * [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day07_shorturl.html) * [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) -* [**Node.js**: _How to create a real-world Node CLI app with Node](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) +* [**Node.js**: _How to create a real-world Node CLI app with Node_](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) * [**PHP**: _Make your own blog_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) * [**PHP**: _Modern PHP Without a Framework_](https://kevinsmith.io/modern-php-without-a-framework) From 6476ca63c0be9a7b38873572778ca907b03339a7 Mon Sep 17 00:00:00 2001 From: Rohith Sudheer <36558130+RohithS98@users.noreply.github.com> Date: Sat, 20 Oct 2018 14:49:30 +0530 Subject: [PATCH 47/81] Added python AR tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef1346e..2499001 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ * [**C#**: _AR Portal Tutorial with Unity_](https://www.youtube.com/playlist?list=PLPCqNOwwN794Gz5fzUSi1p4OqLU0HTmvn) [video] * [**C#**: _How to create a Dragon in Augmented Reality in Unity ARCore_](https://fr-film.net/v-how-to-create-a-dragon-in-augmented-reality-in-unity-arcore-tutorial-qTSDPkPyPqs.html) [video] * [**C#**: _How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down_](https://www.youtube.com/watch?v=Z5AmqMuNi08) [video] +* [**Python**: _Augmented Reality with Python and OpenCV_](https://bitesofcode.wordpress.com/2017/09/12/augmented-reality-with-python-and-opencv-part-1/) #### Build your own `BitTorrent Client` From 778984673c46c621a8ac6607a21a74a7be4d2638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=80=8C=E3=83=8D=E3=82=B3=E3=80=8D?= Date: Mon, 22 Oct 2018 19:03:32 +0300 Subject: [PATCH 48/81] remove video from readme --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2499001..3f65d46 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,6 @@ * [**Node.js**: _Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js_](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d) * [**Node.js**: _How to make a responsive telegram bot_](https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/) * [**Node.js**: _Create a Discord bot_](https://discordjs.guide/) -* [**Node.js**: _Create a Discord bot_](https://www.youtube.com/playlist?list=PLVBD9pLCy6oogSgJuUQzE-99_-voOdSng) [video] * [**Node.js**: _gifbot - Building a GitHub App_](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html) * [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) * [**Python**: _Chatbot Fundamentals: An interactive guide to writing bots in Python_](https://apps.worldwritable.com/tutorials/chatbot/) From 577fc7cfe5348510353ee9e732086a36705580c0 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 16 Nov 2018 23:04:25 +0100 Subject: [PATCH 49/81] Add tutorial #288 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2499001..f01327a 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ * [**Python**: _A Practical Introduction to Blockchain with Python_](http://adilmoujahid.com/posts/2018/03/intro-blockchain-bitcoin-python/) * [**Python**: _Let’s Build the Tiniest Blockchain_](https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b) * [**Ruby**: _Programming Blockchains Step-by-Step (Manuscripts Book Edition)_](https://github.com/yukimotopress/programming-blockchains-step-by-step) +* [**Scala**: _How to build a simple actor-based blockchain_](https://medium.freecodecamp.org/how-to-build-a-simple-actor-based-blockchain-aac1e996c177) * [**TypeScript**: _Naivecoin: a tutorial for building a cryptocurrency_](https://lhartikk.github.io/) * [**TypeScript**: _NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus_](https://naivecoinstake.learn.uno/) From 2ed1192136d1210a33fbfd3fbddc4570f2f1cbbe Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 16 Nov 2018 23:07:18 +0100 Subject: [PATCH 50/81] Add tutorial #283 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f01327a..91a6d8f 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ * [**C**: _Building a software and hardware stack for a simple computer from scratch_](https://www.youtube.com/watch?v=ZjwvMcP3Nf0&list=PLU94OURih-CiP4WxKSMt3UcwMSDM3aTtX) [video] * [**C**: _Operating Systems: From 0 to 1_](https://tuhdo.github.io/os01/) * [**C**: _The little book about OS development_](https://littleosbook.github.io/) +* [**C**: _Roll your own toy UNIX-clone OS_](http://jamesmolloy.co.uk/tutorial_html/) * [**C**: _Kernel 101 – Let’s write a Kernel_](https://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel) * [**C**: _Kernel 201 – Let’s write a Kernel with keyboard and screen support_](https://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard) * [**C**: _Build a minimal multi-tasking kernel for ARM from scratch_](https://github.com/jserv/mini-arm-os) From 3d7fbc051b3f416516b188e9d0ccc1715aa8a3a9 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 16 Nov 2018 23:12:27 +0100 Subject: [PATCH 51/81] Add tutorial #285 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91a6d8f..96a2bfb 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ * [**C++**: _Introduction to Ray Tracing: a Simple Method for Creating 3D Images_](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work) * [**C++**: _How OpenGL works: software rendering in 500 lines of code_](https://github.com/ssloy/tinyrenderer/wiki) * [**C++**: _Raycasting engine of Wolfenstein 3D_](http://lodev.org/cgtutor/raycasting.html) +* [**C++**: _Physically Based Rendering:From Theory To Implementation_](http://www.pbr-book.org/) * [**C# / TypeScript / JavaScript**: _Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/) * [**Java / JavaScript**: _Build your own 3D renderer_](https://avik-das.github.io/build-your-own-raytracer/) * [**Java**: _How to create your own simple 3D render engine in pure Java_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) From b8a5bc632dcc0efd1a170c71b8d36ec5e22200e8 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 16 Nov 2018 23:15:10 +0100 Subject: [PATCH 52/81] Add tutorial #286 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96a2bfb..2b4191d 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ * [**Ruby**: _Creating a Linux Desktop application with Ruby_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby) * [**Rust**: _Let's build a browser engine_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) * [**Rust**: _Building a DNS server in Rust_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md) +* [**Rust**: _Writing Scalable Chat Service from Scratch_](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html) * [**TypeScript**: _Make your own GraphQL metrics dashboard_](http://all-loops-considered.org/2018/05/09/graphql-metrics-part-1/) * [**TypeScript**: _Tiny Package Manager: Learns how npm or Yarn works_](https://github.com/g-plane/tiny-package-manager) From b534cb6ab0816ce1da0ac839584162c99e454807 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Mon, 19 Nov 2018 12:15:15 +0100 Subject: [PATCH 53/81] Add tutorial #289 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d20c978..4395c31 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ * [**C**: _Build Your Own Shell_](https://github.com/tokenrove/build-your-own-shell) * [**Go**: _Writing a simple shell in Go_](https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/) * [**Ruby**: _A Unix Shell in Ruby_](https://www.jstorimer.com/blogs/workingwithcode/7766107-a-unix-shell-in-ruby) +* [**Rust**: _Build Your Own Shell using Rust_](https://www.joshmcguigan.com/blog/build-your-own-shell-rust/) #### Build your own `Template Engine` From 5af09ed51aef3b65a1af6aabcabb103cee904afc Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sat, 24 Nov 2018 15:34:05 +0100 Subject: [PATCH 54/81] Remove tutorial #290 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4395c31..3834edf 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,6 @@ * [**C**: _A tutorials for a basic Invaders game made in C with GTK: and OpenGL_](https://dashgl.com/Invaders/) * [**C**: _Astroids Tutorial written in C using GTK with OpenGL and DashGL for matrix manipulation_](https://dashgl.com/Astroids/) * [**C**: _On Tetris and Reimplementation_](https://brennan.io/2015/06/12/tetris-reimplementation/) -* [**C++**: _How To Make Minecraft in C++/ OpenGL_](https://www.youtube.com/playlist?list=PLMZ_9w2XRxiZq1vfw1lrpCMRDufe2MKV_) [video] * [**C++**: _Breakout_](https://learnopengl.com/In-Practice/2D-Game/Breakout) * [**C++**: _Beginning Game Programming v2.0_](http://lazyfoo.net/tutorials/SDL/) * [**C++**: _Tetris tutorial in C++ platform independent focused in game logic for beginners_](http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/) From 22b9aef79ee874b303eb5dbdb25abe97926d951f Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 25 Nov 2018 11:33:53 +0100 Subject: [PATCH 55/81] Add tutorial #292 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3834edf..f7d3686 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,7 @@ * [**C++**: _How to Create a Compiler_](https://www.youtube.com/watch?v=eF9qWbuQLuw) [video] * [**C++**: _Kaleidoscope: Implementing a Language with LLVM_](https://llvm.org/docs/tutorial/LangImpl01.html) * [**F#**: _Understanding Parser Combinators_](https://fsharpforfunandprofit.com/posts/understanding-parser-combinators/) +* [**Elixir**: _Demystifying compilers by writing your own_](https://www.youtube.com/watch?v=zMJYoYwOCd4) [video] * [**Go**: _The Super Tiny Compiler_](https://github.com/hazbo/the-super-tiny-compiler) * [**Go**: _Lexical Scanning in Go_](https://www.youtube.com/watch?v=HxaD_trXwRE) [video] * [**Haskell**: _Let's Build a Compiler_](http://alephnullplex.github.io/cradle/) From ecf38bd126df8cd93366fc03bfc8ba942bcd76a5 Mon Sep 17 00:00:00 2001 From: Lucas-101 <35174794+Lucas-101@users.noreply.github.com> Date: Tue, 25 Dec 2018 18:08:27 -0800 Subject: [PATCH 56/81] Rename ISSUE_TEMPLATE to ISSUE_TEMPLATE.md --- ISSUE_TEMPLATE => ISSUE_TEMPLATE.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ISSUE_TEMPLATE => ISSUE_TEMPLATE.md (100%) diff --git a/ISSUE_TEMPLATE b/ISSUE_TEMPLATE.md similarity index 100% rename from ISSUE_TEMPLATE rename to ISSUE_TEMPLATE.md From 3c4c6cca65e4d252b0a3ae594ec18f2f27346d0d Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:27:31 +0100 Subject: [PATCH 57/81] Fix link #300 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7d3686..82bdc20 100644 --- a/README.md +++ b/README.md @@ -387,7 +387,7 @@ * [**C**: _Writing an SVG Library_](http://www.code-in-c.com/writing-svg-library-c/) * [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) * [**C**: _Write a System Call_](https://brennan.io/2016/11/14/kernel-dev-ep3/) -* [**C**: _Implementing a virtual machine in C_](https://felixangell.com/blog/implementing-a-virtual-machine-in-c/) +* [**C**: _Virtual machine in C_](https://blog.felixangell.com/virtual-machine-in-c/) * [**C++**: _Build your own VR headset for $100_](https://github.com/relativty/Relativ) * [**C++**: _How X Window Managers work and how to write one_](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html) * [**C++**: _Writing a Linux Debugger_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) From f4097b1eb321248101257fbfb70aea29ea0e22b4 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:40:18 +0100 Subject: [PATCH 58/81] Add tutorial #299 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82bdc20..60bf434 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ * [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) * [**C**: _Write a System Call_](https://brennan.io/2016/11/14/kernel-dev-ep3/) * [**C**: _Virtual machine in C_](https://blog.felixangell.com/virtual-machine-in-c/) +* [**C**: _Write your Own Virtual Machine_](https://justinmeiners.github.io/lc3-vm/) * [**C++**: _Build your own VR headset for $100_](https://github.com/relativty/Relativ) * [**C++**: _How X Window Managers work and how to write one_](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html) * [**C++**: _Writing a Linux Debugger_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) From 5cd9aa12d3fa36976d1c3097f9efcb8edb9799aa Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:43:20 +0100 Subject: [PATCH 59/81] Combine 'Virtual Machine' with 'Emulator' #299 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 60bf434..f289336 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ * [Command-Line Tool](#build-your-own-command-line-tool) * [Database](#build-your-own-database) * [Docker](#build-your-own-docker) -* [Emulator](#build-your-own-emulator) +* [Emulator / Virtual Machine](#build-your-own-emulator--virtual-machine) * [Front-end Framework / Library](#build-your-own-front-end-framework--library) * [Game](#build-your-own-game) * [Git](#build-your-own-git) @@ -135,8 +135,10 @@ * [**Python**: _A proof-of-concept imitation of Docker, written in 100% Python_](https://github.com/tonybaloney/mocker) * [**Shell**: _Docker implemented in around 100 lines of bash_](https://github.com/p8952/bocker) -#### Build your own `Emulator` +#### Build your own `Emulator / Virtual Machine` +* [**C**: _Virtual machine in C_](https://blog.felixangell.com/virtual-machine-in-c/) +* [**C**: _Write your Own Virtual Machine_](https://justinmeiners.github.io/lc3-vm/) * [**C**: _Writing a Game Boy emulator, Cinoop_](https://cturt.github.io/cinoop.html) * [**C++**: _How to write an emulator (CHIP-8 interpreter)_](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) * [**C++**: _Emulation tutorial (CHIP-8 interpreter)_](http://www.codeslinger.co.uk/pages/projects/chip8.html) @@ -387,8 +389,6 @@ * [**C**: _Writing an SVG Library_](http://www.code-in-c.com/writing-svg-library-c/) * [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) * [**C**: _Write a System Call_](https://brennan.io/2016/11/14/kernel-dev-ep3/) -* [**C**: _Virtual machine in C_](https://blog.felixangell.com/virtual-machine-in-c/) -* [**C**: _Write your Own Virtual Machine_](https://justinmeiners.github.io/lc3-vm/) * [**C++**: _Build your own VR headset for $100_](https://github.com/relativty/Relativ) * [**C++**: _How X Window Managers work and how to write one_](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html) * [**C++**: _Writing a Linux Debugger_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) From eb4ffe7d52b5b3b53b8fef70aae34969bcce401d Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:45:20 +0100 Subject: [PATCH 60/81] Extend 'Emulator' category with 'Virtual Machine' --- ISSUE_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 81a88a2..dd72f32 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -19,7 +19,7 @@ Thanks for contributing! Tutorial in this list should provide a guided path for * [ ] Command-Line Tool * [ ] Database * [ ] Docker -* [ ] Emulator +* [ ] Emulator / Virtual Machine * [ ] Front-end Framework / Library * [ ] Game * [ ] Git From d42bb697775c8c738765309b3ea07334cff519b0 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:49:08 +0100 Subject: [PATCH 61/81] Add tutorial #298 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f289336..f7028db 100644 --- a/README.md +++ b/README.md @@ -268,6 +268,7 @@ #### Build your own `Programming Language` * [**(any)**: _mal - Make a Lisp_](https://github.com/kanaka/mal#mal---make-a-lisp) +* [**Assembly**: _Jonesforth_](https://github.com/nornagon/jonesforth/blob/master/jonesforth.S) * [**C**: _Baby's First Garbage Collector_](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) * [**C**: _Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code_](http://www.buildyourownlisp.com/) * [**C**: _Writing a Simple Garbage Collector in C_](http://maplant.com/gc.html) From 9589d17d5c8e4c5d11ef4c3ff3cd876a9136909f Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Thu, 27 Dec 2018 11:52:16 +0100 Subject: [PATCH 62/81] Add tutorial #297 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7028db..802c290 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ * [**C**: _Malloc tutorial_](https://danluu.com/malloc-tutorial/) * [**C**: _Hack the virtual memory_](https://blog.holbertonschool.com/hack-the-virtual-memory-c-strings-proc/) * [**C**: _Learning operating system development using Linux kernel and Raspberry Pi_](https://github.com/s-matyukevich/raspberry-pi-os) +* [**C**: _Operating systems development for Dummies_](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac) * [**C++**: _Write your own Operating System_](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) [video] * [**C++**: _Writing a Bootloader_](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/) * [**Rust**: _Writing an OS in Rust_](https://os.phil-opp.com/first-edition/) From 55c019899c62b0608f982a524768d12cb9bca4de Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 13 Jan 2019 11:20:34 +0100 Subject: [PATCH 63/81] Add tutorial #302 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 802c290..34908bb 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ * [**Python**: _Developing Games With PyGame_](https://pythonprogramming.net/pygame-python-3-part-1-intro/) * [**Python**: _Making Games with Python & Pygame_](https://inventwithpython.com/makinggames.pdf) [pdf] * [**Python**: _The Complete Roguelike Tutorial_](https://www.youtube.com/playlist?list=PLKUel_nHsTQ1yX7tQxR_SQRdcOFyXfNAb) [video] +* [**Python**: _Roguelike Tutorial Revised_](http://rogueliketutorials.com/libtcod/1) * [**Ruby**: _Developing Games With Ruby_](https://leanpub.com/developing-games-with-ruby/read) * [**Ruby**: _Ruby Snake_](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/) From 435c2a7b67bb6db702c2e1fc0611734eaea430b0 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 13 Jan 2019 11:24:48 +0100 Subject: [PATCH 64/81] Add tutorial #305 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 34908bb..ddde41e 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,7 @@ * [**C++**: _Space Invaders from Scratch_](http://nicktasios.nl/posts/space-invaders-from-scratch-part-1.html) * [**C#**: _Learn C# by Building a Simple RPG_](http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/) * [**C#**: _Creating a Roguelike Game in C#_](https://roguesharp.wordpress.com/) +* [**C#**: _Build a C#/WPF RPG_](https://scottlilly.com/build-a-cwpf-rpg/) * [**Go**: _Games With Go_](https://gameswithgo.org/) [video] * [**Java**: _3D Game Development with LWJGL 3_](https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/) * [**JavaScript**: _2D breakout game using Phaser_](https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser) From 984f24106e2cd2184cff8dfbbefe46e1f4b4c319 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 13 Jan 2019 11:29:35 +0100 Subject: [PATCH 65/81] Add tutorial #306 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ddde41e..4f3b6b7 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ * [**C++**: _How OpenGL works: software rendering in 500 lines of code_](https://github.com/ssloy/tinyrenderer/wiki) * [**C++**: _Raycasting engine of Wolfenstein 3D_](http://lodev.org/cgtutor/raycasting.html) * [**C++**: _Physically Based Rendering:From Theory To Implementation_](http://www.pbr-book.org/) +* [**C++**: _Rasterization: a Practical Implementation_](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm) * [**C# / TypeScript / JavaScript**: _Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/) * [**Java / JavaScript**: _Build your own 3D renderer_](https://avik-das.github.io/build-your-own-raytracer/) * [**Java**: _How to create your own simple 3D render engine in pure Java_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) From 0bfdbd0e590a2f20cd30c4e0460d1a00d3ab4bb7 Mon Sep 17 00:00:00 2001 From: kezhenxu94 Date: Mon, 4 Feb 2019 11:59:15 +0800 Subject: [PATCH 66/81] Fix broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f3b6b7..da8ea66 100644 --- a/README.md +++ b/README.md @@ -410,7 +410,7 @@ * [**JavaScript**: _How to Make an Evolutionary Tetris AI_](https://www.youtube.com/watch?v=xLHCMMGuN0Q) [video] * [**JavaScript**: _Building a Simple URL Shortener With Just HTML and Javascript_](https://palash.tk/Build-URL-Shortener-With-HTML-JS) * [**JavaScript**: _Build a ride hailing app with React Native_](https://pusher.com/tutorials/ride-hailing-react-native) -* [**Kotlin**: _Build Your Own Cache_](http://kezhenxu94.me/2018/05/27/Build-Your-Own-Cache/) +* [**Kotlin**: _Build Your Own Cache_](https://github.com/kezhenxu94/cache-lite) * [**Nim**: _Writing a Redis Protocol Parser_](https://xmonader.github.io/nimdays/day12_resp.html) * [**Nim**: _Writing a Build system_](https://xmonader.github.io/nimdays/day11_buildsystem.html) * [**Nim**: _Writing a MiniTest Framework_](https://xmonader.github.io/nimdays/day08_minitest.html) From b5b4593261c3e84c322b8bc9673580ae1ecdc0e4 Mon Sep 17 00:00:00 2001 From: Siddharth Naithani <42946112+sn99@users.noreply.github.com> Date: Fri, 8 Feb 2019 02:21:29 +0530 Subject: [PATCH 67/81] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f3b6b7..9d913f3 100644 --- a/README.md +++ b/README.md @@ -254,7 +254,8 @@ * [**C**: _Operating systems development for Dummies_](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac) * [**C++**: _Write your own Operating System_](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) [video] * [**C++**: _Writing a Bootloader_](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/) -* [**Rust**: _Writing an OS in Rust_](https://os.phil-opp.com/first-edition/) +* [**Rust**: _Writing an OS in Rust (first edition)_](https://os.phil-opp.com/first-edition/) +* [**Rust**: _Writing an OS in Rust (second edition)_](https://os.phil-opp.com/) #### Build your own `Physics Engine` From 5f4d9616577c62bb920f93611bfce7723b47eaf4 Mon Sep 17 00:00:00 2001 From: 0xflotus <0xflotus@gmail.com> Date: Wed, 20 Feb 2019 03:12:23 +0100 Subject: [PATCH 68/81] fixed interprets --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f3b6b7..b98ea2a 100644 --- a/README.md +++ b/README.md @@ -276,7 +276,7 @@ * [**C**: _Baby's First Garbage Collector_](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) * [**C**: _Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code_](http://www.buildyourownlisp.com/) * [**C**: _Writing a Simple Garbage Collector in C_](http://maplant.com/gc.html) -* [**C**: _C interpreter that interpretes itself._](https://github.com/lotabout/write-a-C-interpreter) +* [**C**: _C interpreter that interprets itself._](https://github.com/lotabout/write-a-C-interpreter) * [**C++**: _Writing Your Own Toy Compiler Using Flex_](https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/) * [**C++**: _How to Create a Compiler_](https://www.youtube.com/watch?v=eF9qWbuQLuw) [video] * [**C++**: _Kaleidoscope: Implementing a Language with LLVM_](https://llvm.org/docs/tutorial/LangImpl01.html) From 476faebbf502cfda1cae6c001f7cf1b89b0cf5e9 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 1 Mar 2019 11:42:42 +0100 Subject: [PATCH 69/81] Remove "Writing an OS in Rust (first edition)" --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 9d913f3..b9db9b6 100644 --- a/README.md +++ b/README.md @@ -254,8 +254,7 @@ * [**C**: _Operating systems development for Dummies_](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac) * [**C++**: _Write your own Operating System_](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) [video] * [**C++**: _Writing a Bootloader_](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/) -* [**Rust**: _Writing an OS in Rust (first edition)_](https://os.phil-opp.com/first-edition/) -* [**Rust**: _Writing an OS in Rust (second edition)_](https://os.phil-opp.com/) +* [**Rust**: _Writing an OS in Rust_](https://os.phil-opp.com/) #### Build your own `Physics Engine` From a3e2d666249070295f9af25a7ea1d1d8c1fecb4c Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Fri, 1 Mar 2019 11:46:56 +0100 Subject: [PATCH 70/81] Remove broken link #307 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5b65205..9a40a35 100644 --- a/README.md +++ b/README.md @@ -356,7 +356,6 @@ #### Build your own `Visual Recognition System` -* [**Python**: _Driver Drowsiness detection using OpenCV and Python_](http://pythonopencv.com/driver-drowsiness-detection-using-opencv-and-python/) * [**Python**: _Developing a License Plate Recognition System with Machine Learning in Python_](https://blog.devcenter.co/developing-a-license-plate-recognition-system-with-machine-learning-in-python-787833569ccd) * [**Python**: _Building a Facial Recognition Pipeline with Deep Learning in Tensorflow_](https://hackernoon.com/building-a-facial-recognition-pipeline-with-deep-learning-in-tensorflow-66e7645015b8) From e9e86de6334ecb0f153df4b057e52abf7e055dd8 Mon Sep 17 00:00:00 2001 From: Warren Gates Date: Sun, 3 Mar 2019 18:56:49 -0500 Subject: [PATCH 71/81] Removed Build your own Vuejs Removed * [**JavaScript**: _Build your own Vuejs_](https://github.com/jsrebuild/build-your-own-vuejs) -Repo was archived, unfinished, and abandoned. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9a40a35..c6c6265 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,6 @@ * [**JavaScript**: _Gooact: React in 160 lines of JavaScript_](https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f) * [**JavaScript**: _React Internals_](http://www.mattgreer.org/articles/react-internals-part-one-basic-rendering/) * [**JavaScript**: _Learn how React Reconciler package works by building your own lightweight React DOM_](https://hackernoon.com/learn-you-some-custom-react-renderers-aed7164a4199) -* [**JavaScript**: _Build your own Vuejs_](https://github.com/jsrebuild/build-your-own-vuejs) * [**JavaScript**: _Build Yourself a Redux_](https://zapier.com/engineering/how-to-build-redux/) * [**JavaScript**: _Let’s Write Redux!_](https://www.jamasoftware.com/blog/lets-write-redux/) * [**JavaScript**: _Redux: Implementing Store from Scratch_](https://egghead.io/lessons/react-redux-implementing-store-from-scratch) [video] From 1d441d33564c476d4f9acf78d9ef67f75041f17d Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 10 Mar 2019 12:50:07 +0100 Subject: [PATCH 72/81] Add tutorial #318 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c6c6265..19e84b3 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ * [**Python**: _Create a Twitter Bot in Python Using Tweepy_](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607) * [**Python**: _Creating Reddit Bot with Python & PRAW_](https://www.youtube.com/playlist?list=PLIFBTFgFpoJ9vmYYlfxRFV6U_XhG-4fpP) [video] * [**R**: _Build A Cryptocurrency Trading Bot with R_](https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1) +* [**Rust**: _A bot for Starcraft in Rust, C or any other language_](https://habr.com/en/post/436254/) #### Build your own `Command-Line Tool` From fc7969716f717811c569066bd8594de41dab7856 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 10 Mar 2019 12:58:16 +0100 Subject: [PATCH 73/81] Add tutorial #335 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 19e84b3..6d26899 100644 --- a/README.md +++ b/README.md @@ -393,6 +393,7 @@ * [**C**: _Writing an SVG Library_](http://www.code-in-c.com/writing-svg-library-c/) * [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) * [**C**: _Write a System Call_](https://brennan.io/2016/11/14/kernel-dev-ep3/) +* [**C**: _Sol - An MQTT broker from scratch_](https://codepr.github.io/posts/sol-mqtt-broker) * [**C++**: _Build your own VR headset for $100_](https://github.com/relativty/Relativ) * [**C++**: _How X Window Managers work and how to write one_](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html) * [**C++**: _Writing a Linux Debugger_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) From 88711a69acb2b3eab0b261452f0734f41f209961 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 10 Mar 2019 13:02:12 +0100 Subject: [PATCH 74/81] Add tutorial #334 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d26899..d819a74 100644 --- a/README.md +++ b/README.md @@ -277,6 +277,7 @@ * [**C**: _Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code_](http://www.buildyourownlisp.com/) * [**C**: _Writing a Simple Garbage Collector in C_](http://maplant.com/gc.html) * [**C**: _C interpreter that interprets itself._](https://github.com/lotabout/write-a-C-interpreter) +* [**C**: _A C & x86 version of the "Let's Build a Compiler" by Jack Crenshaw_](https://github.com/lotabout/Let-s-build-a-compiler) * [**C++**: _Writing Your Own Toy Compiler Using Flex_](https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/) * [**C++**: _How to Create a Compiler_](https://www.youtube.com/watch?v=eF9qWbuQLuw) [video] * [**C++**: _Kaleidoscope: Implementing a Language with LLVM_](https://llvm.org/docs/tutorial/LangImpl01.html) From 3338d9b19af84e4ba642767e3c6ee5a548b95c73 Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 10 Mar 2019 13:05:04 +0100 Subject: [PATCH 75/81] Add tutorial #322 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d819a74..7e9fba4 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,7 @@ * [**Python**: _Roguelike Tutorial Revised_](http://rogueliketutorials.com/libtcod/1) * [**Ruby**: _Developing Games With Ruby_](https://leanpub.com/developing-games-with-ruby/read) * [**Ruby**: _Ruby Snake_](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/) +* [**Rust**: _Adventures in Rust: A Basic 2D Game_](https://a5huynh.github.io/2018/02/02/adventures-in-rust.html) #### Build your own `Git` From 2a2ca7b3fdd2f73bf91862626eb49b6a5411eaec Mon Sep 17 00:00:00 2001 From: Daniel Stefanovic Date: Sun, 10 Mar 2019 13:10:50 +0100 Subject: [PATCH 76/81] Add tutorial #323 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7e9fba4..8089055 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ * [**Ruby**: _Developing Games With Ruby_](https://leanpub.com/developing-games-with-ruby/read) * [**Ruby**: _Ruby Snake_](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/) * [**Rust**: _Adventures in Rust: A Basic 2D Game_](https://a5huynh.github.io/2018/02/02/adventures-in-rust.html) +* [**Rust**: _Roguelike Tutorial in Rust + tcod_](https://tomassedovic.github.io/roguelike-tutorial/) #### Build your own `Git` From 936696662f278362cf0f581a8c4ecd903a662c27 Mon Sep 17 00:00:00 2001 From: Victor Zhou Date: Mon, 11 Mar 2019 13:19:42 -0400 Subject: [PATCH 77/81] Add Python Neural Network tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8089055..c18b5e0 100644 --- a/README.md +++ b/README.md @@ -234,6 +234,7 @@ * [**JavaScript**: _Neural Network implementation in JavaScript, by an example_](https://franpapers.com/en/machine-learning-ai-en/2017-neural-network-implementation-in-javascript-by-an-example/) * [**JavaScript**: _Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)_](https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2) * [**Python**: _A Neural Network in 11 lines of Python_](https://iamtrask.github.io/2015/07/12/basic-python-network/) +* [**Python**: _Implement a Neural Network from Scratch_](https://victorzhou.com/blog/intro-to-neural-networks/) * [**Python**: _Optical Character Recognition (OCR)_](http://aosabook.org/en/500L/optical-character-recognition-ocr.html) * [**Python**: _Traffic signs classification with a convolutional network_](https://navoshta.com/traffic-signs-classification/) * [**Python**: _Generate Music using LSTM Neural Network in Keras_](https://towardsdatascience.com/how-to-generate-music-using-a-lstm-neural-network-in-keras-68786834d4c5) From ddba5135b839f36930df122f1c28db0ee711ccec Mon Sep 17 00:00:00 2001 From: Uman Shahzad Date: Fri, 15 Mar 2019 10:39:30 +0500 Subject: [PATCH 78/81] Add 'Write yourself a Git!' --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c18b5e0..482cd8f 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,7 @@ * [**JavaScript**: _Gitlet_](http://gitlet.maryrosecook.com/docs/gitlet.html) * [**JavaScript**: _Build GIT - Learn GIT_](https://kushagragour.in/blog/2014/01/build-git-learn-git/) * [**Python**: _Just enough of a Git client to create a repo, commit, and push itself to GitHub_](https://benhoyt.com/writings/pygit/) +* [**Python**: _Write yourself a Git!_](https://wyag.thb.lt/) * [**Ruby**: _Rebuilding Git in Ruby_](https://robots.thoughtbot.com/rebuilding-git-in-ruby) #### Build your own `Network Stack` From 3904ed909814d7a1ac384917e4e6f798bd8c764a Mon Sep 17 00:00:00 2001 From: char16t Date: Thu, 18 Apr 2019 11:12:39 +0300 Subject: [PATCH 79/81] Update dead link (#350) Update dead link to "Build a static site generator in 40 lines with Node.js" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c18b5e0..630fb1f 100644 --- a/README.md +++ b/README.md @@ -422,7 +422,7 @@ * [**Nim**: _Writing a INI Parser_](https://xmonader.github.io/nimdays/day05_iniparser.html) * [**Nim**: _Writing a Link Checker_](https://xmonader.github.io/nimdays/day04_asynclinkschecker.html) * [**Nim**: _Writing a URL Shortening Service_](https://xmonader.github.io/nimdays/day07_shorturl.html) -* [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://medium.com/douglas-matoso-english/build-static-site-generator-nodejs-8969ebe34b22) +* [**Node.js**: _Build a static site generator in 40 lines with Node.js_](https://www.webdevdrops.com/build-static-site-generator-nodejs-8969ebe34b22/) * [**Node.js**: _Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js._](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) * [**Node.js**: _How to create a real-world Node CLI app with Node_](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) * [**PHP**: _Write your own MVC from scratch in PHP_ ](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) From c2c9b782e522738fc63d98c3965d48dc85d504d6 Mon Sep 17 00:00:00 2001 From: Frederico Mazzone <5685776+Frezzle@users.noreply.github.com> Date: Tue, 23 Apr 2019 21:04:12 +0100 Subject: [PATCH 80/81] Add Go container tutorial --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c18b5e0..c0a3066 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ * [**C**: _Linux containers in 500 lines of code_](https://blog.lizzie.io/linux-containers-in-500-loc.html) * [**C++**: _Creating your own containers_](http://cesarvr.github.io/post/2018-05-22-create-containers/) +* [**Go**: _Build Your Own Container Using Less than 100 Lines of Go_](https://www.infoq.com/articles/build-a-container-golang) * [**Go**: _Building a container from scratch in Go_](https://www.youtube.com/watch?v=Utf-A4rODH8) [video] * [**Python**: _A workshop on Linux containers: Rebuild Docker from Scratch_](https://github.com/Fewbytes/rubber-docker) * [**Python**: _A proof-of-concept imitation of Docker, written in 100% Python_](https://github.com/tonybaloney/mocker) From 0c3ef06bbc9a5c843845c29dc19570c9ed95a1b6 Mon Sep 17 00:00:00 2001 From: leonardo Date: Thu, 6 Jun 2019 17:26:13 +0200 Subject: [PATCH 81/81] fix broken link to content --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c18b5e0..e355ba6 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,7 @@ * [**F#**: _Building Neural Networks in F#_](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6) * [**Go**: _Build a multilayer perceptron with Golang_](https://made2591.github.io/posts/neuralnetwork) * [**Go**: _How to build a simple artificial neural network with Go_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) -* [**Go**: _Building a Neural Net from Scratch in Go_](https://www.datadan.io/building-a-neural-net-from-scratch-in-go/) +* [**Go**: _Building a Neural Net from Scratch in Go_](https://datadan.io/neural-net-with-go) * [**JavaScript / Java**: _Neural Networks - The Nature of Code_](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh) [video] * [**JavaScript**: _Neural Network implementation in JavaScript, by an example_](https://franpapers.com/en/machine-learning-ai-en/2017-neural-network-implementation-in-javascript-by-an-example/) * [**JavaScript**: _Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)_](https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2)