Our great sponsors
-
-
I love these tiny decoders, even if their use cases are limited. To me this is as much art as programming.
For Javascript I ran into these two recently:
Tiny LZW(ish) encoder/decoder. The decoder is 141 bytes: https://gist.github.com/mr5z/d3b653ae9b82bb8c4c2501a06f3931c...
RegPack, a non-standard encoding, but an awesome approach for small chunks (1-4KByte is ideasl) of self contained compressed code, using regular expressions for decoding: https://github.com/Siorki/RegPack
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Crinkler
Crinkler is an executable file compressor (or rather, a compressing linker) for compressing small 32-bit Windows demoscene executables. As of 2020, it is the most widely used tool for compressing 1k/4k/8k intros.
Crinkler [1] is a popular compressor-linker for 1--8 KB demos and its decompressor (partially embedded in a PE header) is probably around 1--200 bytes. Later efforts like oneKpaq [2] also have a comparable decompressor size.
If you don't mind a shameless plug and a slightly larger decompressor (about 500 bytes in JS) for better compression, my Roadroller [3] might fit the bill as well.
[1] https://github.com/runestubbe/Crinkler
-
Crinkler [1] is a popular compressor-linker for 1--8 KB demos and its decompressor (partially embedded in a PE header) is probably around 1--200 bytes. Later efforts like oneKpaq [2] also have a comparable decompressor size.
If you don't mind a shameless plug and a slightly larger decompressor (about 500 bytes in JS) for better compression, my Roadroller [3] might fit the bill as well.
[1] https://github.com/runestubbe/Crinkler
-
Crinkler [1] is a popular compressor-linker for 1--8 KB demos and its decompressor (partially embedded in a PE header) is probably around 1--200 bytes. Later efforts like oneKpaq [2] also have a comparable decompressor size.
If you don't mind a shameless plug and a slightly larger decompressor (about 500 bytes in JS) for better compression, my Roadroller [3] might fit the bill as well.
[1] https://github.com/runestubbe/Crinkler
-
I looked at the latest version of UPX, they began to use LZMA, if this is considered an LZMA decoder:
https://github.com/upx/upx/blob/devel/src/stub/src/arch/amd6...
Then it takes ~2500 bytes, mine is ~500 (static version). But the decompression speed for larger code should be higher, as I noticed.