Decayfmt – a file format that corrupts itself a little every time you open it

unprovable 49 points 20 comments August 21, 2026
github.com · View on Hacker News

Discussion Highlights (12 comments)

NDlurker

Should have patented it and licensed it to Snap

m3kw9

I thought something like this should be part of the file system to make it even more laborious to by pass

dang

Kind of like how human memory works, if I understand correctly.

angeldimitrov94

Seems like there is no mechanism to allow non-corrupting reads from authorized processes? Begs the question then of what the point of this is. Pure novelty, or truly something that could be used in practice?

jolmg

> This is a social contract What's the other side of the contract? Why would a reader oblige to corrupt?

M95D

Would you please stop inventing more ways to enshittify the world?

m3047

You might look into (Norbert) Weiner functions.

jasonpeacock

Reminds me of Tie::Hash::Cannabinol: Tie::Hash::Cannabinol is a completely useless demonstration of how to use Tie::StdHash to pervert the behaviour of Perl hashes. Once a hash has been tied to Tie::Hash::Cannabinol, there is a 25% chance that it will forget anything that you tell it immediately and a further 25% chance that it won't be able to retrieve any information you ask it for. Any information that it does return will be pulled at random from its keys. Oh, and the return value from exists isn't to be trusted either :) [1] https://metacpan.org/pod/Tie::Hash::Cannabinol

BugsJustFindMe

This is NOT a file format that corrupts itself. This is a file reader that corrupts files. There's a big difference. Nothing about the format itself causes or requires corruption. A better tagline would be "decayfmt is a social contract enforced by pinky promise".

fnordlord

From what I remember, MS Paint do something similar when you would save the image as a jpeg. It would apply the algorithm each save and the image would degrade a bit each time. It was super fun.

horticulturist

This sounds like Excel when you open a CSV file.

ricudis

I initially thought this would be part of a fuzzer.

Semantic search powered by Rivestack pgvector
4,128 stories · 37,281 chunks indexed