Hacker News new | ask | show | jobs
by deater 490 days ago
for those excited about tiny ELF executables, or tiny programs in general, check out the Lovebyte size-coding demoparty happening next weekend. It's likely there will be a few tiny ELF entries there.
2 comments

That's neat, I didn't know that there was much sizecoding activity with ELFs, except for the BGGP competitions [0]. (Mainly because it's not nearly as easy to output graphics than on all the old-school platforms, I'd imagine.) Does Lovebyte publish previous years' demos anywhere?

[0] https://binary.golf/

I don't know if there's a good way to search for them. Most of the Lovebyte entries can be found on pouet or demozoo.org but I don't know if there's an easy way to filter out only Linux entries.

I've written a few sizecoded raspberry pi entries, there's even a writeup of one of them in tmp.out where I loaded some code into the ELF headers https://tmpout.sh/3/08.html

Pouet certainly has platform filtering; try:

https://www.pouet.net/prodlist.php?type[]=32b&type[]=64b&typ...

Ah, then I suppose you'd be aware of my own forays into 64-bit ELFs (https://tmpout.sh/3/22.html)! I really should get around to publishing my writeup of the 73-byte minimum on Linux. (At least, it's 73 bytes for x86-64, since '\177E' at the start of the file jumps to byte 71, but it may be different under AArch64.) I have a nearly-complete draft, but I got caught on some oddities around the vDSO mapping which may or may not have changed across kernel versions, especially since the time I wrote it. Perhaps I should just jettison that section entirely and get the article out, since it's not like any of the x86 vDSOs have useful gadgets anyway.
https://code.golf/ also has scoreboards for x86-64 Linux binaries.
Didn't know about that, will have to take a look.

I think I am the "inventor" of the first 64 and 32 byte intro competitions. (Just checked, we ran a 64 byte competition at the 0a000h 2002 and added 32 byte in 2003.) See https://0a000h.de/2002/ and https://0a000h.de/2003/ - releases are on scene.org