Simon Edwardsson (@SimEdw) header
Simon Edwardsson (@SimEdw) profile picture

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
Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)Photo by Simon Edwardsson (@SimEdw)
I trained an AI model to autocomplete my piano prompts. Here’s what happens when I give it the first few notes:
6
6
3
36
2,873
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
1
103
Lean 4 seems to be winning everywhere for proofs these days. A bit of a shame. I always preferred doing them in Agda.
2
157
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
2
3
142
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/ 🧵
136
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.
5
2
1
12
557
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.
1
111
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 😅
1
1
162
Arc is shutting down, so if you're looking for a slightly different kind of browser... Spegel uses an LLM to turn any website into clean markdown, right in your terminal. 😅 pip install spegel
1
2
206
Me: Mum, can we have a world model? Mum: We have a world model at home. World model at home:
3
224
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 😅
8
5
6
50
3,688
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!)
87
Great to finally see a promising diffusion LLM
1/4 Today, we’re releasing Mercury 3. Mercury 3 is by far our most powerful model and the most intelligent diffusion LLM ever released. It outperforms GPT-6 Luna and Haiku 5.5 on quality while running at 1000+ tok/sec.
5
198
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.
5
2
1
9
569
I'm backporting some of the algorithmic changes to the Erlang version. Stay tuned!
28
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.
1
3
152