RSSAmplifier

Blog

Ben Congdon

Recent posts from Ben Congdon

benjamincongdon.meRSS feed ↗50 posts

Latest posts

To the Agents: "This place is not a place of honor"

TL;DR: “Private by obscurity” has been dissolved. Internal tools often have layering boundaries that are enforced only by convention. It’s natural to assume a “high trust environment”, where privileged actions are discouraged by obscurity and goodwill instead of hard technical boundaries. Coding agents have dissolved this obscurity, and as a result internal platform…

Thoughts on Marginal Token Spend

The rise of coding agents has made it easy for a single engineer to spend thousands of dollars a day in LLM tokens. This is a new class of expense, and it will change the future cost structure of software engineering. We are between stable equilibria today in SWE: the old one, of needing humans to drive any code change, and a yet-to-be-established new one, where AI agents write most code. Taking…

Tokenmaxxing is Goodharting

Coding agents and reasoning models let individuals consume many more LLM tokens than they could a year ago. It’s now easy for a single engineer to spend thousands of dollars in daily token usage. This is being actively encouraged through the recent memetic spread of “Tokenmaxxing” – the idea that if you consume more tokens, you’re more “AI native” and…

Feature Flagging at Databricks

In late January, I published a post 1 ( archive ) on the Databricks engineering blog about “SAFE”, the feature flagging and experimentation platform I’ve been working on for the past few years. SAFE is what I’ve been spending most of my time on during my time at Databricks, and it’s been rewarding to see the project grow from an initial prototype to a mature internal platform. I’ve been the tech…

2025 in Review

Previously: 2024 , 2023 , 2022 , 2021 , 2020 , 2019 , 2018 , 2017 A surprisingly persistent personality quirk I have is that I care a lot about the changeover of the new year. I quite like consuming yearly predictions, year-in-reviews, and so on, and use the calendar transition as a time for reflection. Work I’ve now been at Databricks for a little over 3.5 years, and it’s been quite a fun ride.…

On Not Running While Injured

A few days ago I tumbled down some stairs and managed to bruise both of my knees. I’ve taken a break from running since then to prevent injuring myself further. It’s made me reflect on an injury earlier this summer where I aggravated my knee through overtraining to the point of not being able to run on it for a few weeks – right before the Seattle marathon . Fortunately, I got back to…

Software Engineering in 2026

Over the holidays, I’ve been thinking about what the impacts of 2025’s progress in AI coding tools will mean for how software gets designed, built, and operated in 2026. The primary impact of LLM tooling, so far, is that the marginal cost (both in terms of time and dollars) of producing high quality code has gone down significantly. Of course, producing code is only part of the full job of…

Watches

I’ve been thinking a lot about watches over the past few months – like a lot about watches. If I look at my Chrome browser tabs, most of them are watch related. The immediate reason for this is that I have a few friends who got into fancy mechanical watches a few years ago, and their influence has slowly rubbed off on me. But in reality, the interest predates my friends’ recent…

Notes from Early Flight Training

I’m about half a dozen flights into training for a Private Pilot’s License and wanted to write some notes while I’m still firmly in the “beginner mindset”. 𐡸 Flight training has tons and tons of mnemonics . Wikipedia has 2 separate articles for these ( 1 , 2 ), and this is nothing near an exhaustive list. Many of these mnemonics are either heavily forced acronyms (e.g. for landing go arounds:…

On (and Contra) Chalmers on LLM Interlocutors

David Chalmers recently wrote a thought-provoking paper on the nature of conversational LLM entities, titled “What We Talk to When We Talk to Language Models” . It introduces some useful conceptual handles around the problem of LLM ontology, but I think it largely sidesteps the interesting problems of what we are interacting with by focusing mostly on the mechanical concerns of LLM interactions,…

My Favorite Books of 2023-2025

Previous book lists: 2022 , 2021 , 2020 , 2019 , 2018 . Additionally, my Reading List has a full log of the books I read. I regrettably skipped my yearly book reviews for 2023 and 2024, so for 2025 I’m including everything I’ve read in the past 3 years. This is an easier task than it should be, as in 2024 and 2025 I didn’t read nearly as many books as I had in the preceding years. Non-Fiction The…

A Time of Wonders

Today is Christmas Eve, which puts us in that liminal few weeks of the holiday season that serve as useful time for reflection. Work slows down, we pass through the darkest days of the year, friends and family visit for the holidays, and the calendars turn over to the new year. This year, I’ve been feeling gratitude for the sheer abundance of living in a technologically advanced society.…

RAII Guards and Newtypes in Rust

I’ve been having a bunch of fun in Rust recently. I’ve finally gotten past the point of fighting with the borrow checker and now am solidly in the plateau of productivity with the language. 1 One of the first things that struck me about Rust was how confident I felt that if I wrote something sane-looking that passed the compiler, I was more likely than in other languages to have a program that…

Letters Are Still an Option

I sometimes wish I’d grown up in the era of written letters, or that email and long-form written correspondences were more fashionable than they currently are. There is something quite enjoyable about sitting down and intentionally writing to someone, for hours even. The times that I’ve sat down to write something long-form to a friend, or have received the same, feel qualitatively different from…

An Inconvenient Truth

Salvatore Sanfilippo, aka antirez, the creator of Redis, posted a piece on his reflections on AI for the end of 2025 . He ends with the statement: The fundamental challenge in AI for the next 20 years is avoiding extinction. I’ve been hesitant to say this publicly, but I broadly agree with this statement. Here are a few related statements I endorse: Building intelligences smarter than humans is…

The South Flow SeaTac Arrival Corridor

From Gas Works Park, you can watch jets descend to SeaTac in a steady stream, one every minute or two. I’ve lived in various neighborhoods in Seattle, all under this corridor – SLU, Eastlake, Fremont. I didn’t think much of this fact until fairly recently, when I started taking flight lessons and becoming generally more actively interested in aviation. The South Flow SeaTac Arrival Corridor;…

My Favorite Music of 2025

2025 was a really good year for music for me. My music collection system is pretty basic: every year, I cut a new playlist and add songs that I’m currently resonating with. The playlist gets progressively longer until the end of the year, after which I reset and start with a blank slate in January. I started this back in ~2018 after feeling like I was in a musical rut, finding everything I…

Collecting Shibboleths

Judge a man by his questions rather than by his answers. – Voltaire I am an introvert by nature, but I come alive for a good conversation. I was reflecting on this after a recent international flight, where I was sitting next to a friendly man who turned out to be a late-career civil engineer. I have a close friend who is a civil engineer, and so as this conversation unfolded I was able to…

Book Review: I Am a Strange Loop

In the end, we self-perceiving, self-inventing, locked-in mirages are little miracles of self-reference. … Our very nature is such as to prevent us from fully understanding its very nature. – Douglas R. Hofstadter Most people know of Douglas Hofstadter for his masterpiece Gödel, Escher, Bach (“GEB”). I quite enjoyed GEB, but one of his lesser known books – I Am a Strange Loop…

What Are You Trying to Say?

From Dwarkesh Patel : Unreasonably effective writing advice: “What are you trying to say here? Okay, just write that.” Writing effectively is notoriously hard. Even once you get past writers block and are actually writing words on the page, organizing those words coherently is challenging. One virtue I’ve come to value in writing is simplicity. That is, writing in a way that can be…

Day 15 of Daily Writing

This is post 15 of my unannounced, self-imposed month of daily writing. I’ve been making soft promises to myself and others to write more for… years. I was inspired by a few of the folks who wrote daily last month for Inkhaven , and so decided to do my own super unofficial version of that. It’s been fun so far! And by “fun” I mean it’s been a rewarding challenge. :) Some thoughts: Sitting…

Book Review: The Demon in the Machine

The thing that separates life from non-life is information. - Paul Davies I’ve probably learned about the thought experiment of Maxwell’s demon at least half a dozen times – in multiple physics courses, in multiple books. Until I read Paul Davies’ The Demon in the Machine , I don’t think I realized that the paradox of Maxwell’s demon had actually been solved . 1 More on that later. The core…

Chorus is Good Software

I’ve been using Chorus for the past 6-7 months. Within the first couple days of using it, I was telling everyone I talk with about AI stuff to try it out. Melty Labs, the company behind Chorus, subsequently built Conductor . It appears this Conductor now their primary focus, and as such they’ve decided to open source Chorus. Chorus is a macOS LLM client. Its differentiating feature is that it…

The Coming Need for Formal Specification

In late 2022, I had a conversation with a senior engineer on the coming problem of “what to do when AI is writing most of the code”. His opinion, which I found striking at the time, was that engineers would transition from writing mostly “implementation” code, to mostly writing tests and specifications. I remember thinking at the time that this was prescient. With three years of hindsight, it…

Zip Files as (Simple) Key-Value Stores

I recently encountered a fun performance problem. Consider the following: You need to distribute a key-value dataset with string keys and opaque value blobs in the 100B - 1MB range. There are on the order of 10k keys to distribute. Critically, you are in a constrained memory environment where you do not have enough memory to load all the blobs into memory at one time. You do, however, have enough…

What I Look For in AI-Assisted PRs

I review a lot of PRs these days. As the job of a PR author becomes easier with AI, the job of a PR reviewer gets harder. 1 AI can “assist” with code review, but I’m less optimistic about AI code review than AI code generation. Sure, Claude/Codex can be quite helpful as a first pass, but code review still requires a large amount of human taste. 2 I care about the high level…

SWIM: Outsourced Heartbeats

How does a distributed system reliably determine when one of its members has failed? This is a tricky problem: you need to deal with unreliably networks, the fact that nodes can crash at arbitrary times, and you need to do so in a way that can scale to thousands of noes. This is the role of a failure detection system, and is one of the most foundational parts of many distributed systems. There are…

The Decline of the Software Drafter?

1. It’s hard not to think about the direction the software engineering field is going in. I don’t think you, dear reader, need to be reminded of this, but just to set up some timeline tentpoles: In mid 2024 , Github Copilot was something of a pleasant convenience for coding. This was the “fancy autocomplete” era. A “nice to have”, which you could lean on, but where you still felt fully in-control…

Embodied Cognition and the "Tokenverse"

1. One of the common criticisms of modern AI systems is that they aren’t sufficiently embodied . The idea being there’s some inherent quality of being an agent embedded inside a body in the physical world which cannot be attained by a token-predicting LLM, regardless of how intelligent an agent becomes. To address the validity of this criticism, we need to have a philosophically rich understanding…

Book Review: Antimemetics

Source 1. Slippery Ideas Nadia Asparouhova’s Antimemetics is, itself, antimemetic. 1 I devoured this book in a few sittings on the bus to work, but if I had to describe it, I really only have a few conceptual handles that I could grasp onto: Memes are ideas that spread easily. Antimemes are ideas that resist spreading. We live in an information ecosystem which is made up of various types of memes.…

TIL: SQLite's 'WITHOUT ROWID'

By default, SQLite tables have a special rowid column that uniquely identifies each row. This rowid exists even if you have a user-specified PRIMARY KEY on the table. How this rowid column behaves is influenced by your PRIMARY KEY type. Integer Primary Keys : If you have an integer primary key, then the primary key column becomes an alias for the special rowid column. The rowid and your…

Race Report: Seattle Marathon 2025

Last Sunday, I ran the 2025 Seattle Marathon. This was my third marathon, and I got a PR! I’m splitting this race report into two broad sections: about the course, and about my experience/training/etc. The Course & Event Candidly, I’ve avoided running the Seattle Marathon in the past because I’d heard negative things about the course layout. Previous courses spent much more time around the…

Technical Escape Velocity

1. When I was learning to program, I remember a specific phase transition in that process of skill acquisition – a distinct “before” and “after”, similar to how when learning to read there’s the “before” of ignorance, the “after” of effortlessly reading, and surprisingly little memory of the intermediate struggle of learning. For programming, this phase transition was the point where I felt…

Why Magnetos

I’ve recently started on the journey to get a private pilot’s license. One thing I’ve enjoyed about the process so far is the extent to which you’re encouraged to understand how most of the systems work at a fairly deep level. Contrast this to driving a car, where you can mostly get away with “turn key, use gas & brake pedals, don’t do anything stupid that would cause…

Schedule Recurring Calls With Your Far-Away Friends

I enjoy conversations, particularly with people I care about. I also have a social circle which is rather geographically dispersed. This, of course, presents the problem of “how do I stay in touch with people?” Facebook et al. haven’t solved this problem in a satisfactory way for me. Discord / private group chats are fine, but don’t feel socially fulfilling in a way that 30 minutes of even…

Fifty Bits of Career Advice

As my team’s summer interns finished up their rotations this week, I had my usual end-of-internship “AMA” 1:1s. It’s something I enjoy doing, but I realized I was covering a lot of the same topics I’ve discussed with other previous interns and early-career engineers over the years. So I thought it’d be useful to collect these recurring bits of advice into a…

The Agency Gap

There’s a line in Ben Kuhn’s essay, “Impact, agency, and taste” , that’s been rattling around in my head lately. He describes impact as the practice of “making success inevitable”. That phrase captures something important about how to approach work. Kuhn draws a distinction between two ways of approaching a project or goal: There’s a huge difference…

When Red Buttons Aren't Enough

On June 12, 2025, most of GCP went offline. This led to downstream outages in a multitude of websites and services, such as Cloudflare , Spotify , OpenAI, Anthropic, Replit, and many others. With a few days of hindsight, GCP published a quite detailed postmortem . Frankly, I’m impressed by the depth of this PM and the quantity of technical details that they released publicly. Given this…

Why Developer Tools?

I had the realization a year or so ago that much of the high-impact work I’ve done in my career has been related – directly or indirectly – to building developer tooling. I did not plan this, at all, but I’m quite happy to have found impact in this niche. My first job outside of school was writing a developer tool for engineers building the Google Cloud Console , which is the…

The Models Want to Reason

Since I wrote about COCONUT , Meta’s paper on reasoning in latent space, there’s been a wave in publicly accessible research into reasoning models. The most notable example, which overshadows everything else to the point of feeling like I almost don’t need to mention it as I write this in mid Feb 2025, was the Deepseek R1 paper . While I think the R1 paper is great and deserved…

How I Use AI: Early 2025

Previously: Mid 2024 The landscape of AI tooling continues to shift, even in the past half year. This is not unexpected. This post is an updated snapshot of the “state of things I use”. Tools Work Copilot Edits : This feels roughly 85% as effective as Cursor, but the ability to incorporate enterprise code context makes it roughly on par. I am shocked that I never hear anyone talking about this. My…

AI Slop, Suspicion, and Writing Back

The impetus for this post was my recent realization that I’ve developed an involuntary reflex for spotting AI-generated content. The tells are subtle now, but (sadly? tellingly?) this sort of content is seemingly everywhere now once you start looking. The Rise of AI Slop One bit of hipster cred I get to claim is that I followed Simon Willison before he became the cool AI blogger. 1 Perhaps…

Chain of Continuous Thoughts

Recent advances in LLMs have demonstrated increasingly powerful reasoning capabilities, primarily through eliciting chain-of-thought outputs from models. While these methods have proven effective, they rely on discrete, tokenized representations of reasoning steps. A recent research paper from Meta introduces a novel approach that steps away from this paradigm: reasoning in continuous latent space…

Lake Union's Lonely Trolley: SLU Streetcar Ridership

I lived in the Eastlake neighborhood of Seattle for several years. Eastlake, by its name, sits on the east side of Lake Union. As a runner, I spent many mornings running along the lake, passing by the South Lake Union Streetcar . Each time I ran past the streetcar, what consistently struck me as odd was that the streetcars were almost always empty . I’d see maybe one or two people riding it.…

TaskWarrior

I haven’t been writing much recently ( sound of crickets coming from this year’s blog archive ), but this is such an OnBrand™ post that I couldn’t not write it. At work, I’ve been shifting into more of a TL role, and as such I’ve been tracking an increasingly large number of streams of information. We use JIRA for bug/feature level work, but a lot of the stuff that I…

How I Use AI: Mid-2024

I’ve been in a mode of trying lots of new AI tools for the past year or two, and feel like it’s useful to take an occasional snapshot of the “state of things I use”, as I expect this to continue to change pretty rapidly. Claude 3.5 Sonnet (via API Console or LLM ) : I currently find Claude 3.5 Sonnet to be the most delightful / insightful / poignant model to…

Avoid Load-bearing Shell Scripts

I’ve recently been contemplating a recurring pattern that I’ve observed in several teams I’ve worked on – the ‘Load-Bearing Script.’ The outline of this pattern goes like this: A team member writes a portion of a system as a shell script for a quick prototype. That shell script, initially quite simple, grows in complexity over time. Eventually, the script grows to an…

Soft Boredom

I recently read Pema Chödrön’s Living Beautifully , and I was struck by the following passage: Chögyam Trungpa demonstrated the co-emergent nature of feelings in a teaching on boredom-on how we feel when nothing’s happening. Hot boredom, he said, is a restless, impatient, I-want-to-get-out of here feeling. But we can also experience nothing happening as cool boredom, as a care-free,…

Mental Models: Slack

Two of my all-time favorite articles about managing one’s energy and time relate to the notion of maintaining “Slack” in one’s life. The first, Slack , by Zvi Mowshowitz, directly describes the Slack concept that I refer to in this post. The second, Sabbath hard and go home , expands on this notion in the context of the author’s Jewish upbringing. I’ve been…

The Soul of an Old Machine

I recently got an M2 MacBook Air to replace my 2014 MacBook Pro. Apple offered to recycle my old machine (and give me a token $90 off my new laptop as a trade-in), which I gladly opted-in to. However, when it got time to actually wipe my old laptop and trade it in, I couldn’t help but get a little sentimental about it. I’ve used this laptop for nearly a decade – and it was a…