top | item 34019549

Ask HN: Similar books to “Raytracing in one Weekend”?

150 points| augunrik | 3 years ago

I really liked the "Raytracing in one Weekend" Series [0], in terms of: explaining a complicated concept by programming a toy implementation of the thing itself and afterwards one is left with more knowledge and something to "show".

Does someone know similar series on other subjects than raytracing? I know there is the Advent of Code, but that's more like solving a puzzle.

[0]: https://raytracing.github.io

27 comments

order

Jemaclus|3 years ago

I would recommend Crafting Interpreters (https://craftinginterpreters.com) or Interpreter Book (https://interpreterbook.com/). Excellent ways to learn how to build an interpreter. You have a functioning interpreter by the end of it, and it's easy enough to extend it into new concepts! I'm using some of the lessons learned from that to build a custom interpreter for a small project I'm working on. It's really fun!

jesusinsneakers|3 years ago

I've been struggling to decide which one (of the two interpreter books you mentioned) to read. Any specific reason I should read one over the other?

sasas|3 years ago

This is a fantastic list of projects. From 3D renderers, blockchain protocols, frameworks to emulators.

"Build your own X" - "This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch." [0]

[0] https://github.com/codecrafters-io/build-your-own-x

maximmcnair|3 years ago

The "From Nand to Tetris" course or in book form "The Elements of Computing Systems". This steps through building a computer from scratch. Starting with building logic gates from transistors, through to building a CPU and then writing assembly.

renaissance_tea|3 years ago

FWIW this book is great. It took me a couple months of immense dedication to finish everything from the first course.

tmtvl|3 years ago

Common Lisp: A Gentle Introduction has you code a bunch of neat little projects, I'm especially fond of the substitution cypher solving program. It reminds me of Covert Action.

jchook|3 years ago

Check out Crafting Interpreters[0]. You learn about Chomsky formal language hierarchy, constructing context-free grammars, lexing, parsing, error reporting, etc by building your own programming language.

[0]: https://craftinginterpreters.com/

avinassh|3 years ago

self plug: I wanted to learn how databases work internally, like how they store and retrieve data, build indexes, etc.

I built an educational KV store to teach someone to write a database from scratch. I have set up this project in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. There are hints if you get stuck. When all the tests pass, you would have written a persistent key-value store in the end.

link: https://github.com/avinassh/py-caskdb

locriacyber|3 years ago

Generative Design by Benedikt Groß, Hartmut Bohnacker, Julia Laub, Claudius Lazzeroni

It's about 2D programmatic raster graphics.

augunrik|3 years ago

Thanks for all your links! I haven't decided on what to next :D