Build Your Own

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.

500 Lines or Less

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.

Crafting Interpreters

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.

Build your own 3D renderer

More

See the original discussion for more links.

Another good resource. (cross-posted from chat)

1 Like