Field Signal · Curated Reading
The Engineering
Signal.
High-signal field notes, architecture teardowns, and engineering writing from 50 publications. A focused reading queue for becoming a stronger end-to-end engineer. Updated 20 Aug.
Litestream v0.5.0 is Here
I’m Ben Johnson, and I work on Litestream at Fly.io. Litestream makes it easy to build SQLite-backed full-stack applications with resilience to server failure. It’s open source, runs anywhere, and it’s easy to get started. Litestream is the missing backup/restore system for SQLite. It runs as a side...
Build Better Agents With MorphLLM
I’m an audiophile, which is a nice way to describe someone who spends their children’s college fund on equipment that yields no audible improvement in sound quality. As such, I refused to use wireless headphones for the longest time. The fun thing about wired headphones is when you forget they’re on...
Trust Calibration for AI Software Builders
Trust calibration is a concept from the world of human-machine interaction design, one that is super relevant to AI software builders. Trust calibration is the practice of aligning the level of trust that users have in our products with its actual capabilities. If we build things that our users trus...
Games as Model Eval: 1-Click Deploy AI Town on Fly.io
Recently, I suggested that The Future Isn’t Model Agnostic, that it’s better to pick one model that works for your project and build around it, rather than engineering for model flexibility. If you buy that, you also have to acknowledge how important comprehensive model evaluation becomes. Benchmark...
The Future Isn't Model Agnostic
Your users don’t care that your AI project is model agnostic. In my last project, I spent countless hours ensuring that the LLMs running my services could be swapped out as easily as possible. I couldn’t touch a device with an internet connection without hearing about the latest benchmark-breaking m...
From Intern Project to Production: How I Shipped the Draw Tool for Canva's Present Mode
Overview of the technical hurdles I overcame to evolve my intern project into a new feature for users.
Measuring Commercial Impact at Scale at Canva
How We Built Canva's IMPACT App with Streamlit in Snowflake
Phoenix.new – The Remote AI Runtime for Phoenix
I’m Chris McCord, the creator of Elixir’s Phoenix framework. For the past several months, I’ve been working on a skunkworks project at Fly.io, and it’s time to show it off. I wanted LLM agents to work just as well with Elixir as they do with Python and JavaScript. Last December, in order to figure o...
What are MCP Servers?
With Fly.io, you can get your app running globally in a matter of minutes, and with MCP servers you can integrate with Claude, VSCode, Cursor and many more AI clients. Try it out for yourself! The introduction to Model Context Protocol starts out with: MCP is an open protocol that standardizes how a...
Yes, You Can Use AI in Our Interviews. In fact, we insist
How We Redesigned Technical Interviews for the AI Era
My AI Skeptic Friends Are All Nuts
A heartfelt provocation about AI-assisted programming. Tech execs are mandating LLM adoption. That’s bad strategy. But I get where they’re coming from. Some of the smartest people I know share a bone-deep belief that AI is a fad — the next iteration of NFT mania. I’ve been reluctant to push back on ...
Using Kamal 2.0 in Production
Agile Web Development with Rails 8 is off to production, where they do things like editing, indexing, pagination, and printing. In researching the chapter on Deployment and Production, I became very dissatisfied with the content available on Kamal. I ended up writing my own, and it went well beyond ...
parking_lot: ffffffffffffffff...
We’re Fly.io, a public cloud that runs apps in a bunch of locations all over the world. This is a post about a gnarly bug in our Anycast router, the largest Rust project in our codebase. You won’t need much of any Rust to follow it. The basic idea is simple: customers give us Docker containers, and ...
Litestream: Revamped
Litestream is an open-source tool that makes it possible to run many kinds of full-stack applications on top of SQLite by making them reliably recoverable from object storage. This is a post about the biggest change we’ve made to it since I launched it. Nearly a decade ago, I got a bug up my ass. I ...
Launching MCP Servers on Fly.io
This is a blog post. Part showing off. Part opinion. Plan accordingly. The Model Context Protocol is days away from turning six months old. You read that right, six months old. MCP Servers have both taken the world by storm, and still trying to figure out what they want to be when they grow up. Ther...
Provisioning Machines using MCPs
Today’s state of the art is K8S, Terraform, web based UIs, and CLIs. Those days are numbered. On Monday, I created my first fly volume using an MCP. For those who don’t know what MCPs are, they are how you attach tools to LLMs like Claude or Cursor. I added support for fly volume create to fly mcp s...
30 Minutes With MCP and flyctl
I wrote this post on our internal message board, and then someone asked, “why is this an internal post and not on our blog”, so now it is. well, Cursor built I built the most basic MCP server for flyctl I could think of. It took 30 minutes. MCP, for those unaware, is the emerging standard protocol f...
Our Best Customers Are Now Robots
We’re Fly.io, a developer-focused public cloud. We turn Docker containers into hardware-isolated virtual machines running on our own metal around the world. We spent years coming up with a developer experience we were proud of. But now the robots are taking over, and they don’t care. It’s weird to s...
Operationalizing Macaroons
We’re Fly.io, a security bearer token company with a public cloud problem. You can read more about what our platform does (Docker container goes in, virtual machine in Singapore comes out), but this is just an engineering deep-dive into how we make our security tokens work. It’s a tokens nerd post. ...
Taming A Voracious Rust Proxy
Here’s a fun bug. The basic idea of our service is that we run containers for our users, as hardware-isolated virtual machines (Fly Machines), on hardware we own around the world. What makes that interesting is that we also connect every Fly Machine to a global Anycast network. If your app is runnin...
Behind the scenes of Canva's DesignDNA campaign
How we used generative AI to build our year-in-review campaign
We Were Wrong About GPUs
We’re building a public cloud, on hardware we own. We raised money to do that, and to place some bets; one of them: GPU-enabling our customers. A progress report: GPUs aren’t going anywhere, but: GPUs aren’t going anywhere. A couple years back, we put a bunch of chips down on the bet that people shi...
The Exit Interview: JP Phillips
JP Phillips is off to greener, or at least calmer, pastures. He joined us 4 years ago to build the next generation of our orchestration system, and has been one of the anchors of our engineering team. His last day is today. We wanted to know what he was thinking, and figured you might too. Question ...
A Blog, If You Can Keep It
A boldfaced lede like this was a sure sign you were reading a carefully choreographed EffortPost from our team at Fly.io. We’re going to do less of those. Or the same amount but more of a different kind of post. Either way: launch an app on Fly.io today! Over the last 5 years, we’ve done pretty well...
Did Semgrep Just Get A Lot More Interesting?
This whole paragraph is just one long sentence. God I love just random-ass blogging again. This bit by Geoffrey Huntley is super interesting to me and, despite calling out that LLM-driven development agents like Cursor have something like a 40% success rate at actually building anything that passes ...