Top tip(s) for those trying to understand a complex, well-established codebase: start off by rewinding the git history to a very early release.
There's a good chance that most of the core abstractions have survived unscathed, and seeing them surrounded by fewer ossified tendrils will make them easier to make sense of.
As an example, Veloren 0.2 was just 20k lines (compared to 330k today), yet much of 0.2's design principles have survived with surprisingly few changes.
Joshua Barretto
Joshua Barretto
jsbarretto_at_social.coop@momostr.pink
npub1zt77...uwkx
Mostly libre software and system safety. Also gardening, DIY, dog photos. Founded nostr:npub1hxejjw84c7qy5jm4tedxfqwxy5tt6ujv85u9zz57wh8zh9nyvlusczxz57 and other projects. Really, really dislikes fascists, born at 364 ppm.
Pronouns: He/Him
Location: Bristol, UK
Alias: zesterer
Blog: https://jsbarretto.com
> Rust is too constrained without [unsafe blocks] to get any useful work done.
Just saw this in the wild again.
@npub1hxej...xz57 has about 330,000 lines of Rust code today. It's a networked, multi-threaded, 3D, portable game and game engine played by thousands of people. Very much not a contrived example. Name any sort of code and you'll find it in there: GUI, packet parsing, physics, DSP, decision trees, database calls, ECS, procgen, audio. It's all in there.
It has 12 instances of `unsafe`:
(1/2)
Thinking that I might start adding something like this to more of the software I write.

