what are some other tutorials for implementing a toy version of a hard thing in a short amount of time? Like https://implement-dns.wizardzines.com or https://raytracing.github.io

I’m especially interested in the “in a short amount of time” aspect, I think nand2tetris is extremely cool but you definitely can’t do it in 3 days.

If possible I'd love to hear about a project you personally did and how long it took you.

Implement DNS in a weekend

@b0rk "Software Design by Example" (in JavaScript) is free to read online at https://third-bit.com/sdxjs/, and I hope to have the Python version up for beta readers by August.
Software Design by Example

@b0rk What I'd _really_ like is not more examples, but a volume of commentary and critique. Pauline Kael and Siskel & Ebert helped two generations of actors, writers, and directors be better tomorrow by taking apart what had been created yesterday and explaining how things worked (or didn't). We definitely need more model implementations, but I think we also need people to analyze the ones we have so that we can make the next ones better.
This is one of my dissatisfactions with both software engineering and computing education: neither thinks that criticism in the sense of literary, music, or film criticism is something they should do or reward. Twenty years on, most books and courses on software architecture & software design still don't describe actual, specific systems in pedagogically-useful detail https://third-bit.com/sdxjs/introduction/#introduction-history
Software Design by Example: Introduction

@gvwilson Gosh, this is so daunting because there's so much noise and the signal takes great effort to generalize. It takes a lot of expertise to critique effectively. Devs and users often praise the design they know while criticizing others and maintainers yearn for a hypothetical second system that surely would be cleaner before encountering the messy constraints. The best lessons may be when informed teams make high-stakes decisions, but it's rare and often for hyper-localized reasons.
@jedbrown and yet it's considered _normal_ in design-intensive disciplines like architecture and industrial design. Their students are explicitly taught, over and over, how to analyze the work of their predecessors and peers, and given a rich intellectual vocabulary with which to do that. No idea how one would prove this claim, but I firmly believe this tradition makes those fields stronger and leads to better designs.
@gvwilson @jedbrown Early on, I quickly realized I had a better design sense than my students (possibly from more experience) and I sought out works on design in CS so I could teach it. Here are some I found:

Blauww and Brooks: Computer Architecture: Concepts and Evolution

Brooks would later write on design in CS itself in "The Design of Design".

For software, Winograd edited a book on "Bringing Design to Software", available online at https://hci.stanford.edu/publications/bds/
Bringing Design to Software

@sree thanks - I know there are scattered examples, but as far as I can tell they are very much the exception