title |
---|
Awesome DIY Software |
awesome-diy-software
A curated list of awesome DIY software. Inspired by awesome-go and this HN post.
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
Compilers
Cryptocurrency
Game Development
- 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
Laravel
- Writing a full-featured multi-tenant Laravel app from scratch
- Let's Build A Forum with Laravel and TDD
Operating Systems
- nand2tetris
- 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
Regular Expressions
Retracers and 3D Rendering
Software renderer
Storage and Databases
Text Editor
Version Control
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.
Web Programming
Unsorted
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
Other similar lists
- 500 Lines or less Book with many small tutorials covering a wide range of topics
- Project Based Learning