@dotstdy some of my favorite speedruns are ones that depend on memory layout; e.g. for _Link to the Past_ and _Ocarina of Time_.
i feel like it might be interesting if game designers reintroduced this kind of thing deliberately!
@sinbad I'm confused by the implication that people using non-memory-safe languages aren't also relying on dozens upon dozens of libraries (static and dynamic) that they haven't personally vetted.
What, you just trust dpkg ?
ETA Wait, my mistake. You actually do read all the source? How on Earth do you make time to actually write code?
@mark oh sure non-memory safe languages can have the same problem; although many of them lack package managers because they’re old.
I don’t use many dependencies (that I haven’t written). And the ones I do use are either from a source I know and trust, or I read the source. Sometimes both.
@sinbad glances at your Mastodon bio
... ah, yes, I see. Having some experience rolling my own game engine back in the day, I see how you get there. For the longest time, our only three dependencies were Lua, OpenSSL, and Open Dynamics Engine (and we did have an engineer who'd read all the OpenSSL source and we could have, theoretically, read all of ODE and Lua, though I don't think we ever found occasion to lay eyes on every single byte).
I don't miss the weird corner-case errors but I do miss being that intimately familiar with almost the whole stack; we had to add some hilarious hacks to both ODE and Lua to get it to work in our context (we made ODE work in the context of an Internet Explorer plugin by patching over its use of alloca to do a slab alloc from a big chunk of heap because it wanted preposterous sizes of stack in one go that slammed into the hard-coded IE thread redzone, and we made Lua able to handle "stack unwinding" in a crash by adding a flag to its interpreter that converted every opcode to "UNCONDITIONAL RETURN" so it would unwind its stack if the plugin was trying to close and a script was still running).
THIS