Awesome DIY Software
What awesome-diy-software has in common:
- Describe a technology or feature by implementation.
- Ideally in no more than few thousands lines of code (and not just 10-20 line code snippets).
- Idea is to teach about underlying technology by a hands-on project, which is not overwhelming like trying to implement full-feature game engine and yet captures the essence of technology.
- All have the "Weekend Projects" feel
- Unity's roll-a-ball tutorial pretty good for starting out with their IDE and also gives some decent exposure to C# basics.
Interpreters: Lisp Based
- Write You a Scheme Haskell to write a Scheme!
- Build Your Own Lisp
- Scheme from Scratch
- Make a LISP
- Writing an Interpreter in Go
Image Processing and Computer Vision
Interpreters: Other (Non - Lisp)
There is a separate section, for lisp interpreters
Java Virtual Machine
- Writing a full-featured multi-tenant Laravel app from scratch
- Let's Build A Forum with Laravel and TDD
- Containers in 500 lines
- Malloc tutorial
- Bitwise - An educational project to create a software/hardware stack for a computer from scratch.
- Baby's First Garbage Collector
- A TDD approach for building a simple microprocessor model in Python
- Linux From Scratch
Retracers and 3D Rendering
Storage and Databases
Web Apps: Usage
These are tutorials for learning to use web frameworks:
- Some useful links for React.js
- How to Build Tinder with React Native & Expo
- Writing a full-featured multi-tenant web app from scratch
Web frameworks: Internals
These tutorials are geared towards building a frontend web framework and can be used to get a better understanding of internals.
PRs to organize these resources are very welcome!
- Handmade Hero
- Build your own Sinatra
- Destroy All Software's "From Scratch" series
- Building an online marketplace from scratch
- Build a game with Lua and LÖVE
- Let's Make a Voxel Engine