
CTO & co-founder @v7labs. Reliable AI agents at work, strange small models and weird interfaces for fun. I build everything I write about.
London, England
Joined October 2010
- Tweets407
- Following431
- Followers495
- Likes1.1K
Pinned Tweet
I trained an AI model to autocomplete my piano prompts.
Here’s what happens when I give it the first few notes:
Nice writeup. The `*` on `*` on `*` chain is grim.
Let's use * to disable password logins.
Let's make crypt() return * instead of NULL on failure.
Let's make crypt() fail on passwords over 256 bytes.
What could possibly go wrong?
*sshole is out
if you run sshd on alpine, openwrt or any musl box with password auth on: update now
official writeup: sshhole.com
Lean 4 seems to be winning everywhere for proofs these days. A bit of a shame. I always preferred doing them in Agda.
Experimenting with a cache for Elixir's Erlang to BEAM compilation step. So far, about 20% less time waiting for compiles while working on my backend. Some cold-build tests were ~3% slower, though. Still early, and I'm checking correctness
Tested LFM3-VL-2B (thinking) on 100 images from my zero-shot COCO object detection benchmark:
• LFM3-VL-2B: 0.271 mAP (0.397 [email protected])
• Gemini 4 Argon (same images): 0.543 mAP (0.711 [email protected])
It needed an explicit x/y coordinate prompt and produced valid JSON on 76/100 images. Fixing 8 missing brackets bumped mAP to 0.306, right around Gemini 2.5 Flash/Pro territory from a 2B model.
Introducing 𝙻𝙵𝙼𝟹: our new generation of Liquid Foundation Models. With a new tri-hybrid architecture and new multimodal encoders, the LFM3 family is the ideal model suite for specialized intelligence.
> 6 model instances, across text, audio, vision, and omni modalities, generative and decision models.
> 𝙻𝙵𝙼𝟹-𝟷.𝟽𝙱: text, 256k context window.
> 𝙻𝙵𝙼𝟹-𝚅𝙻-𝟸𝙱: vision-language model with video-input support for spatial understanding
> 𝙻𝙵𝙼𝟹-𝙰𝚞𝚍𝚒𝚘-𝟸𝙱: tool calls, voice chat, reasoning in 18 languages.
> 𝙻𝙵𝙼𝟹-𝙾𝚖𝚗𝚒-𝟸𝙱: an omni model combines vision, audio, and language.
> 𝚍𝟷-𝟸𝙱 and 𝚍𝟷-𝙾𝚖𝚗𝚒-𝟸𝙱: decision models with typed outputs and calibrated probabilities in a single pass. Omni adds audio input.
> fine-tune on 1 GPU.
> a new tri-hybrid architecture
> architecture optimized for 14 processor classes across GPUs, CPUs, and NPUs.
> 𝙻𝙵𝙼𝟹-𝚅𝙻-𝟸𝙱 is a beast. It performs competitively with Gemma 4 12B (6x larger), and Gemini 3.5 Flash Lite, and GPT-5.6 Luna, with 1.9B parameters.
> 𝙻𝙵𝙼𝟹-𝟷.𝟽𝙱 is #1 on the Pareto frontier of device intelligence 𝚙𝚒𝚙𝚎𝚝𝚝𝚎.𝚕𝚒𝚚𝚞𝚒𝚍.𝚊𝚒
Every modality for specialized intelligence. Pick the one that fits your use case, customize it, and run it on-device.
1/ 🧵
Built an incremental game that runs a real Qwen3-0.6B locally in your browser via WebGPU.
The model starts out useless, so you earn cash to wrap code, tools and bureaucracy around it until it can actually do the job.
Play it here: simedw.com/projects/harness-…
Write up here: simedw.com/2026/10/27/harnes…
TIL that WebGPU only guarantees 8 storage buffers per shader stage. Chrome lets me use 10+, but Firefox limits it to 9, on the exact same GPU.
Of course my shaders need 10 😅
Guess I'll have to pack a few buffers together.
Moved house and my headless Raspberry Pi was still looking for the old Wi-Fi. Couldn't face digging a keyboard out of a moving box, so I made my Mac broadcast the old SSID and password, waited for the Pi to join, SSH'd in and switched it over 😅
Trained a 360M model to pretend to be a terminal. There's no real shell behind it, but it runs vim, tmux and snake, and mostly remembers your files 😅
You can read about it and test it here: simedw.com/2026/10/21/world-…
It's a 208 MB download and runs best in Chrome on a laptop.
Very well thought through outline of the future of maths. I see so many parallels to software engineering and can only assume that, as time goes on, more and more groups will have to face very similar challenges
I’m very opinionated. So it’s nearly impossible for me to hear someone’s arguments and *not* find something I disagree with. (This includes reading things I myself wrote years - or weeks - ago.) And yet the amazing Grant Sanderson @3blue1brown has put out a long, detailed video on the future of mathematics, in which I cannot find a single flaw. I’ll be sending this to every PhD student and postdoc I know, and strongly recommend everyone watch it.
youtube.com/watch?v=LKrwhjOI…
(Of course I tried to say many of the same things in my conversation with Thomas Koberda. But Grant’s version, unsurprisingly, does an infinitely better job at communicating those ideas!)
Since we’re all rewriting everything in Rust, here’s my contribution: Dialyzer.
~3× faster on cold runs, matching warnings on tested projects. Uses more memory though.
London just got chilly.
There's probably a German word for putting on your winter coat for the first time and finding things in the pockets you'd forgotten about.








