you know, people often say things like "C is a deeply unserious programming language for modern times — it doesn't even have a hash table in the standard library!". and these people are wrong.
in one of my favorite bits of lore, C does in fact have a hash table in the standard library!
... well, if you count POSIX as the standard C library, at least. everyone implements POSIX, right?
also note that I said "a hash table", not "hash tables". you get one hash table. per process.
and in true C fashion, you have to specify the size when you create it and you cannot resize it later. the glibc manual even notes that you should choose the maximum "wisely".
for a fun time, `man hcreate`.
you know, people often say things like "C is a deeply unserious programming language for modern times — it doesn't even have a hash table in the standard library!". and these people are wrong.
in one of my favorite bits of lore, C does in fact have a hash table in the standard library!
so I just realized I did a sizable project and never posted about it publically
last year I spent a few months on and off reverse engineering Pinball Fantasies (a 1992 video game; originally for Amiga, though I was reversing the more polished DOS port) with the intent of doing a game engine recreation, and then rewrote the logic as a Rust program
I'd also like to thank @domi for porting this thing to browser environment with WASM, and hosting the result: https://pfr.sakamoto.pl/
enjoy!
so I just realized I did a sizable project and never posted about it publically
last year I spent a few months on and off reverse engineering Pinball Fantasies (a 1992 video game; originally for Amiga, though I was reversing the more polished DOS port) with the intent of doing a game engine recreation, and then rewrote the logic as a Rust program