The MLX vision-language library shipped twice this week, and buried in the larger of the two releases is the thing worth your time: its embeddings endpoint now accepts images. Not a caption you then embed as text. The picture itself goes in, a vector comes out, on your own machine, for nothing.
Here is the door. Somn's identifier currently works one way: a vision model looks at a frame and says style and colour in words. And you have already filed the idea of a colour histogram as a foil track, something cheap and stupid that can disagree with the model when the model is wrong. An image embedding is a much better foil than a histogram. Same cost shape, far more signal. Every frame becomes a vector, near-duplicates collapse on their own, and a garment the identifier has seen forty times sits in a cluster you can point at and count. It does not replace the read. It gives the read something to argue with, which is the whole point of a foil.
The second door is smaller and lands sooner. Loratool's bucket tool dedupes datasets with perceptual hashing, which is the pre-deep-learning answer to a question embeddings actually answer. Swapping it is an afternoon, not a project, and every dataset that goes through it afterwards is cleaner for free. LifeLab's photo pile is the same shape and the same fix.
Molmo was broken. The release notes say the fix was for image-feature scatter and prompt formatting, and describe the previous state as unusable output. Loraflow has Molmo, plus the other captioners in that synthesis idea, sitting deferred. If the reason it got deferred was that the output was garbage, the garbage was a defect in the port, not a verdict on the model. One re-test before you treat that decision as settled.
The same release also added a frames fallback so models without a dedicated video processor can take video anyway. Somn is a frames pipeline by construction, so this is not urgent for you, but it means the temporal reads you have been building by hand are becoming a thing the library does. Worth a glance in a month.
And one small pleasure: one of the release's own loops now clears the MLX cache every round. That is exactly the load-once, clean-up-after-yourself discipline the lab wrote down after Metal's wired memory froze a Mac mid-batch. Upstream has arrived at your own lesson independently.
Scaleway turned on passkey login for the console. Owners only, not team members, which means it applies to you and only you. That console is the account that can delete popcorn two, its volumes and its addresses, as you demonstrated on popcorn one. It is currently protected by a password and whatever second factor you set up and have not thought about since. This is the cheapest security improvement available to you this week.
Cloudflare's Sippy now migrates from Azure Blob Storage and from any S three compatible provider, not just Amazon and Google. Scaleway object storage is S three compatible. Sippy copies objects into R two lazily, as your app requests them, so there is no upfront move and no migration egress bill.
Real capability, and the wrong direction for you. Your own rule is European providers when quality is equal, and you spent part of this month writing down the idea of a European git remote as a system of record. Sippy only pulls data into Cloudflare. There is no matching lane out. So the honest reading is that this makes R two stickier rather than making your storage estate more portable. Worth knowing it exists. Not worth acting on.
The uv package manager reached zero point twelve point one: per-package pre-release policies, a shell activation script for xonsh, and a preview auto-fix for its check command. Housekeeping, all of it. Codex shipped one backported bug fix about review defaults for cyber-capable models. ElevenLabs shipped an enormous amount, procedures, crawl jobs, WhatsApp branch overrides, voice activity detection, essentially all of it for their conversational agents product, and none of it touches sound effects, music or narration. That one is not for you. Cloudflare also switched on billing for the R two data catalogue and R two SQL, which would matter if you kept Iceberg tables in R two, and you do not.
Point the embeddings endpoint at one folder of somn frames and see whether the clusters agree with the identifier. That is a single session, and it either gives you a foil track or tells you the identifier is better than you thought.