Field Notes.

The Coming of Local Models

Slides of my code.talks 2026 talk on local AI, plus the long version with all the slides I had to cut

OpenAI's Moat

People keep saying OpenAI has no moat. I think they're wrong - the answer is apps.

Using Zed's ACP with Codex

Explanation of how to use OpenAI's Codex Agent with Agent Client Protocol (ACP) clients such as Zed, Neovim or Emacs

Benchmarking Local Embeddings

Which embedding models are particularly useful for generation and retrieval of information privately on the local computer

A Mastodon Client with a Messenger Feel

Ebou is a different take on the Microblogging / Mastodon experience. It groups new Toots by author and displays them in a UI not unlike modern messengers like Telegram, iMessage or WhatsApp.

Bevy Quickmenu: Streamlined, Multi-Input Game Menus for Bevy Engine

Bevy Quickmenu simplifies the creation of in-game menus in the Bevy game engine, making it easy to build main menus, pause screens, and settings menus that are compatible with keyboard, mouse, and gamepad inputs. Designed to overcome the challenges of traditional Bevy UI, it provides a lightweight and customizable solution

TwitVault: Easily Archive and Search Your Twitter Data with our Syncable Desktop App

TwitVault is a cross platform desktop app that uses the Twitter api to download your profile data. It can also sync your profile to retrieve new data (with some limitations) and it can import some data from the official Twitter archives. You can then browse and search your offline Twitter data from the convenience of a native (well, partially native) deskop app.

Why I don't like Xcode

I realized I have to re-iterate my position on Xcode. So here's a brief note about why I don't like it.

A New Bevy Game

I started working on a new game using the Bevy game engine

El Señor Pacbomber

The unholy combination of PacMan and Bomberman: El Señor Pacbomber. For the Bevy Jam #2

Rust strings are hard

I recently gave a Rust workshop to Kotlin and Swift developers. Strings in Rust are a really, really difficult topic for complete newcomers