DigitalCat

$DIGITAL

a jpeg of a cat, saved as a jpeg of a cat, over and over, in front of you. an aligned copy stops changing forever. a repost never does.

Digital Cat
generation 0 untouched
what that save changed nothing yet

the grid lands on the same pixels every time. this is what copying a file actually is.

file
a png, 220 KB, nothing lost yet
pixels moved
none yet
from generation 0
identical
checksum
no jpeg yet
encoded in
not yet

one generation

The button encodes him as a JPEG at quality 50, throws the pixels away, and decodes the JPEG back. That is the whole operation. It never gets filtered or resized, and the quality never moves. The panel beside him is the difference between the picture before that save and the picture after it, turned up ten times so you can see it at all, and the faint grid over it is the block grid itself.

why copying stops mattering

JPEG (ITU-T T.81, 1992) cuts a picture into blocks of 8 by 8 pixels and rounds each block down to the nearest step on a fixed table. Round a number that is already sitting on a step and it does not move. So the aligned lane runs out of damage: after a handful of generations the file coming out is byte for byte the file that went in, and stays that way for as long as you keep pressing. The difference panel goes black and never lights up again. That black square is the whole promise of digital, drawn.

why reposting never does

Nobody copies anything. They screenshot it, they crop it, they upload it somewhere that encodes it again, and the picture lands a few pixels over. The 8 by 8 grid lands with it, on a different set of pixels, so blocks that had settled get cut apart and rounded again. Same encoder, same quality, same picture. It never settles. Deep fried memes have looked like that since about 2015, and the look is not a filter, it is arithmetic with nowhere to stop.

the original

There is not one. The file he arrived in was already a JPEG, so generation 0 up there is a copy of something nobody kept. Every cat you have ever seen on the internet was in the same position.