Compress any file into a Tweet?!
This morning I launched .com, an online tool for reducing any file to a tiny, almost impossible size.
I launched a fun website for it, as a portmanteau of “Hash” and “Shrink”.
The theory behind it was one I first started playing with in 2008, which is the idea of creating every possible iteration of a file, to find all the hash-collisions.
You’d then reject any candidates that didn’t fit certain qualifications. For instance, you might reject any file that isn’t a valid MP3, or any file that doesn’t match a perceptual hash
After all the filters, you’d indicate which hash-collision generated the correct version of you file.
I wrote up two versions to play with the idea, and see what it might look like.
Writing it was a lot of fun, and I got more practice using multi-processor code in Python.
Unfortunately, it’s entirely impractical, at least without Quantum Computers.
The problem is, even a fast machine using the GPU can only do 400K hash collisions per second.
At this rate, it would take more time to re-create the file, than has so-far elapsed in the universe.
That’s a bit slow 😉
In any event, I figured it’d be fun to make up a website for the project, and put a demo online, which calculates how-long your file would take to return.
After a bit of playing and a cheap template from ThemeForest, I put together some images for it.
The logo was a lot of fun, trying to emphasize the dual-nature of the name.
I also had fun trying to make images which ‘pop’I hate this word, and get practice using some flash tools to cycle between them.
.com was born.