| tags: code eso

Speaking of Befunge, I have also written a somewhat speedy interpreter for the older, more limited Befunge-93 variant of it.

It is called ff, and it is but a single file of C: ff3.c. (The 3 is a version number of sorts.)

| tags: code web

zpaste is a simple, single-user (or not-too-many-user) pastebin/tinyurl hybrid, in case you want something a bit more tweakable than the myriad of web services around. GitHub repository.

| tags: asm code

You know how, when you link an ELF executable dynamically, all the names of the dynamically linked symbols end up being included in the executable? That's, like, several bytes — maybe even dozens — of bloat. (And there's no Windows DLL style import-by-ordinal functionality.) Turns out, however, that it's possible to refer to the symbols by their hash values instead. That's a fixed cost of four bytes per symbol, compared to 8 (symbol table entry) + strlen(name) + 1 for regular dynamic linking. (Of course there's also some amount of bytes wasted in the stub that does the hash resolving.)