The author describes accidentally creating wigglegrams (stereoscopic GIFs) by taking multiple similar photos, and wrote a script using perceptual hashing to automatically detect and stitch them together from their iCloud photo library.
# help i accidentally a wigglegram
Source: [https://lmao.center/blog/wiggle-accidents/](https://lmao.center/blog/wiggle-accidents/)
Do you know what a[wigglegram](https://en.wikipedia.org/wiki/Wiggle_stereoscopy)is?
[](https://lmao.center/blog/wiggle-accidents/wg_sc2.gif)↳ c\. "suavecorn" on redditIt is a kind of stereo image you make by looping frames together, like as a GIF\.
[](https://lmao.center/blog/wiggle-accidents/wg_hs1.gif)↳ c\. "aka\_hochstapler" on redditThe effect is quite convincing\.
[](https://lmao.center/blog/wiggle-accidents/wg_sc1.gif)↳ c\. "suavecorn" on redditI am something of an indecisive photographer and when I like an angle I will take a lot of frames, from slightly different angles etc\., looking for "the shot"\. And since I am also a bit of a hoarder I never clear out my camera roll\.
"Same shot from different angles"? You know what that sounds a bit familiar\.
[](https://lmao.center/blog/wiggle-accidents/accident_raw.gif)↳ scrollin'Sure enough my phone is full of wigglegrams that I took by accident\. Years' worth, waiting for me to sit down and stitch them together\.
Or, perhaps, for*something*to stitch them together\. It occurred to me last weekend that I can use[perceptual hashing](https://en.wikipedia.org/wiki/Perceptual_hashing)\- what TinEye \(et al\.\) uses for reverse image search \- to try and find runs of similar images and pull them out from my library automatically\. So I wrote a little script to hash all my pictures:
[](https://lmao.center/blog/wiggle-accidents/hashes.png)↳ slowly, slowlyHashing is quick but downloading photos from iCloud is not\.
The result is a hash that \- unlike a cryptographic function like sha1 \- will share more bits with hashes of similar\-looking images than with dissimilar ones\. We can use that to calculate the hamming distance between pairs of images and find a threshold:
[](https://lmao.center/blog/wiggle-accidents/hamming.png)↳ ten seems like a good boundaryAnd extract pairs:
[](https://lmao.center/blog/wiggle-accidents/runs.png)↳ plausible\.\.\.And hundreds of wigglegrams spew forth\.
[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-06-23_16-40-51.gif)↳ space mountain?[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-07-27_18-38-37.gif)↳ block island[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-05-04_13-21-17.gif)↳ deland[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-06-24_18-32-47.gif)↳ probably also disney?A few of them I am guilty of taking intentionally\. But most are true accidents\. As such many of them come out as less "stereoscopic" and more "kinescopic" \- like little unintentional movies\.
[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-06-14_19-35-14.gif)↳ notting hill[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-06-18_18-13-08.gif)↳ perugiaAnimals are a natural fit for the concept, unpredictable as they are:
[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-02-08_13-13-17.gif)↳ cat[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-08-07_18-20-31.gif)↳ another cat[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-07-06_17-52-46.gif)↳ dog[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-06-12_08-48-45.gif)↳ pigeonDesign\-work also\. \(I am always indecisive\.\)
[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-12-11_15-23-48.gif)↳ ipad sidecar I should write on[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-06-20_02-41-49.gif)↳ baby book[](https://lmao.center/blog/wiggle-accidents/wiggle_2024-06-07_04-06-21.gif)↳ same but doing a rad flip[](https://lmao.center/blog/wiggle-accidents/wiggle_2025-11-23_03-14-34.gif)↳ resistor bridge[](https://lmao.center/blog/wiggle-accidents/wiggle_2026-03-08_15-37-55.gif)↳ leg in piecesAnd sculpture:
[](https://lmao.center/blog/wiggle-accidents/wiggle_2026-02-03_15-41-19.gif)↳ olivetti[](https://lmao.center/blog/wiggle-accidents/wiggle_2023-01-08_14-26-44.gif)↳ charlotte?[](https://lmao.center/blog/wiggle-accidents/wiggle_2023-01-05_23-22-27.gif)↳ frog with a jointWhat fun\. I have the script up on[Github](https://github.com/JCLemme/wiggle-wiggle)if you want to play with it \- it'll work on your iCloud photos library if you're on a Mac, or you can point it at a directory of pictures otherwise\.
Cheers~
[](https://lmao.center/blog/wiggle-accidents/wiggle_2026-01-24_10-34-29.gif)↳ and happy birthday ig
---
[home](https://lmao.center/)~ posted june 04 2026
A tech blogger details how they reverse-engineered a server-side imagemap on a 1990s website to archive over 7,000 GIF icons from the Ibiblio Icon Browser, overcoming challenges with automated scripting.
The author shares their experience building a small flow matching image generation model trained on Apple emoji images, describing the initial failed approach and the successful pivot using RGB channels, residual blocks, and attention.
The author explains their method for dithering images using Imagemagick, simulating amplitude-modulated and frequency-modulated print patterns to reduce file size and achieve a specific aesthetic, inspired by Low Tech Magazine and a pink monochrome design.
Photosynthesis is an innovative iPhone camera app that captures simultaneous images from two lenses and fuses them into a single high-resolution photo, delivering real optical detail without generative AI.