Blogs on the future of software.
Long-form notes on version control, code intelligence, entities, merges, and the infrastructure required for agents to write most of the world's code.
Code is not text.
Git is one of the greatest pieces of software ever written. It tracks text files brilliantly. But code has structure that text doesn't, and there's a lot you can do once your tools understand that.
The Entity
Every tool needs a unit of analysis, and text editors settled on characters while git settled on lines and compilers on tokens. We think the right unit for code intelligence is the entity.
What if Merges Understood Your Code?
Git's three-way merge is one of the most elegant algorithms in everyday use. It works on lines of text, which means it's occasionally too conservative about what counts as a conflict.
Stop Grepping, Ask the Compiler
When you change a function, the compiler already knows everything about it, and yet agents ignore all of that and go grepping instead.
Patch Theory for Entities
Version control has been trying to acquire a theory for twenty years, and it keeps almost working. Merge becomes provable when you stop treating a file as a sequence and start treating it as a map.