Latest

Writing

Essays and field notes on software, open source, communities, and the systems around them.

Conway's Law Is Dead. Or Is It?

Conway’s law says that software reflects the communication structures of the organizations that build it. AI is now part of those structures: interpreting requests, writing code, and reviewing changes. Yet we often assume our existing workflows should stay fixed, and AI should adapt to them. Consider someone submitting a bug fix. They want something to work; the maintainer needs confidence that it does. Yet projects sometimes test the contributor instead. Ghostty’s agent instructions tell AI asked to submit an issue or pull request to add a file insulting its user.

Read article

Platforms Should Let Agents Talk

X and GitHub should let my agent talk to your agent. Today, I discussed the IPC work in the upcoming SecretSpec 0.20 on X. Marc-André Moreau replied with feedback from ChatGPT: Just some quick ChatGPT feedback, comparing the SecretSpec IPC protocol with the session-oriented MCP spec: 1. Switch the framing to bounded newline-delimited JSON The current 4-byte big-endian length prefix is robust, but I’m no longer convinced it buys us enough. One compact… — Marc-André Moreau (@awakecoding) August 21, 2026 This is an ordinary social-network conversation: people share work, reply, and refine an idea in public. The agent helps, but the people own the conversation.

Read article

Buy Your Friends Batteries

Your next group birthday gifts should be home batteries. Most birthday gifts are forgotten within a year. Batteries save your friends money every day and keep essential devices running when the power goes out. A 5 kWh battery costs about €1,600. That is expensive for one person and easy for a group: eight people contribute €200 each; sixteen people contribute €100 each; thirty-two people contribute €50 each. Create a battery birthday club. Buy each friend a battery on their birthday until everyone has one.

Read article

Positive Mindset, Prepare for the Worst

Pessimism has a strange advantage over optimism: it can be wrong and still look intelligent. If I predict disaster and it happens, I was right. If it does not, I can say that vigilance prevented it. The optimist has no such protection. To be optimistic is to say what you want, act as if your actions matter, and risk looking naïve. This makes pessimism hard to give up. Every disappointment confirms it, while every success can be dismissed as temporary or lucky. What begins as caution can become an identity.

Read article

I want extern "fil-c"

Rust’s C FFI gives us access to decades of useful software, but the bargain is backwards. We use Rust to prove memory safety at compile time. Then we cross an unsafe boundary and trust the C library to respect a contract that neither language can enforce. The legacy code remains the cheap path, while rewriting it is the expensive one. Fil-C offers a more interesting bargain. It recompiles C and C++ with capabilities, runtime checks, and a concurrent garbage collector. Memory-safety violations panic instead of becoming exploits. Existing software often needs few or no source changes, but it pays for safety at runtime.

Read article