Here are some interesting tutorial links that I saw in a HN thread.
500 Lines or Less
In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program’s major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.
If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, these books can help you too.
Crafting Interpreters
This book contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s gonna be a blast.
Starting from
main()
, you’ll build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you will thoroughly understand because you wrote each one yourself.
Let’s Build a Simple Database
Writing a sqlite clone from scratch in C
Linux containers in 500 lines of code
Linux containers in 500 lines of code
https://blog.lizzie.io/linux-containers-in-500-loc.html
Naivecoin: a tutorial for building a cryptocurrency
In this tutorial we will code from scratch some of the basic concepts that are needed for a working cryptocurrency. The angle is always to implement things in the most simplest way.
The project that we will build in this tutorial is called “Naivecoin”. The programming language is Typescript. The Naivecoin is in some terms an extension to the Naivechain - blockchain in 200 lines of code.
Build your own 3D renderer
These is the course guide for a workshop I’m holding at Bradfield School of Computer Science. In the two-day workshop, I go through the fundamentals of 3D graphics, with an emphasis on foundational knowledge and hands-on experimentation. The workshop also lets me answer questions in person and help move students along the coursework in a timely fashion, but even without my presence, the material should be useful to a wider audience. The workshop is laid out a series of lessons, each with a corresponding project. Students learn one foundational concept in each lesson, then implement that concept in their very own 3D renderer.
More
See the original discussion for more links.