Writing
Notes on coding agents, LLMs in production, and what goes into a harness.
-
March 28, 2026
Every agent works in the demo
The resumption contract: what a fresh session reads first, why conversation history is not state, and the test that separates a demo from production.
-
March 28, 2026
Most SKILL.md files work once
What makes an agent skill hold up past the first session: a trigger-clear description, a short file, scripts for deterministic work, a resumption contract.
-
March 28, 2026
The 99% problem
Compound error rates in long agent pipelines, the success table at 99, 95 and 90 percent per step, and why shorter segments beat better models.
-
March 28, 2026
The model is the easy part
Scaffolding moves task completion more than model choice does, and what a production agent harness has to hold up under.
-
March 28, 2026
Your agent isn't confused. It's drowning.
Context bloat as the main undiagnosed failure mode: tool overload, raw corpora handed to agents, and subagents used as context firewalls.
-
March 25, 2026
The context envelope: what your LLM chat agent needs but isn't getting
The JSON payload a web app should wrap around every chat turn: six sections, the prompt injection and cache gotchas, and a ship order to follow.
-
March 25, 2026
The MCP paradox
A year of MCP: the integration problem it solved, the context bloat it created, the CLI comeback, and why the real constraint on agents is attention.
-
March 25, 2026
TypeScript vs JavaScript for AI agents: the feedback loop is everything
The compiler gives a coding agent a loop it can close on its own. Without it you are the loop, and the regression and token numbers show the gap.
-
March 25, 2026
Your new job title is AI office manager
Most of the day around a coding agent is plumbing. What compounds is the CLAUDE.md files, the skills, and the connectors that make a workspace usable.
-
March 31, 2025
Rewriting from scratch is becoming viable
Rewriting a codebase from scratch becomes viable with AI assisted coding, with parity checked by tests generated from high level specs.
-
March 17, 2025
Qwen releases QwQ-32B
Qwen's QwQ-32B at release, a 32B reasoning model measured against DeepSeek-R1, and the two stage reinforcement learning behind it.
-
March 1, 2025
Tribal knowledge never reaches the coding agent
Coding agents only get the context you hand them, while human developers pull from Slack, meetings and hallway talk that never reaches a repo.
-
February 5, 2025
Three minutes to generate, two hours to debug
The answer to the three minutes to generate, two hours to debug line: the quality of the code is still yours, review it or write better tests.
-
October 9, 2024
18 lessons for building products on LLMs
Practical rules for building on LLMs: few shot sample counts, prompt splitting, chain of thought, guardrails, LLM as judge, and assertion tests.
-
September 21, 2024
Developers who don't use AI assisted coding are falling behind
A short and blunt take from September 2024 on developers who refuse to try AI assisted coding.
-
August 30, 2024
Dont trust AI experts
The AI expert label as marketing, what a real one would have to be able to do, and why you never need that profile anyway.
-
August 26, 2024
ColBERT: Contextualized Late Interaction over BERT
ColBERT for retrieval: one vector per token instead of one per document, and why late interaction sits between bi-encoders and cross encoders.
-
August 19, 2024
The AI market is crowded with promises, not products
The AI market is crowded with promises rather than working products, with the ERP, wearables and low code precedents to back the pattern.
-
August 15, 2024
Google's Gemma, don't use the 7B yet
Google's Gemma 2B and 7B at release, the gap between the reported benchmarks and what the community measured, and the parameter count discrepancy.
-
August 10, 2024
Mistral AI releases Mistral Large
Mistral Large at launch: benchmarks, price against GPT-4, 32k context, function calling, the Azure partnership, and Le Chat.
-
August 9, 2024
Continual pretraining instead of retraining from scratch
Continuing pretraining instead of retraining from scratch: re-warm and re-decay the learning rate, and replay a small slice of the old data.
-
August 9, 2024
Takeaways from Lex Fridman's interview with Sam Altman
Takeaways from the Lex Fridman interview with Sam Altman: compute as the currency of the future, the board saga, GPT-5, and governance.
-
August 8, 2024
A free comparator for open source LLMs
A free comparator to run the same prompt through several open source LLMs, and an open question about prompt formats.
-
July 29, 2024
Training LLMs from scratch as a startup
Yi Tay on training LLMs from scratch as a startup: hardware roulette, multi cluster juggling, thin codebases, and the cost of every idle minute.
-
July 28, 2024
If you are looking for a product manager, here is one
A short recommendation for a product manager with a technical background.
-
July 24, 2024
Cosmic rays can make your LLM training fail
Google's Gemini paper listed cosmic rays among the causes of training failures, then dropped the statement in a later version.
-
July 24, 2024
Hugging Face was a sassy chatbot
Hugging Face started in 2016 as a chatbot for teenagers, published papers and open source tools along the way, and pivoted at the end of 2019.
-
July 23, 2024
Takeways from the Mixtral paper with no chitchat
Takeaways from the Mixtral paper: sparse mixture of experts per transformer block, 47B total for 13B active, MegaBlocks, and a 32k context that holds.
-
July 15, 2024
OCR just got better
Surya, a Python package that locates each line of text in an image or PDF, what it handles, what it does not, and its licence.
-
July 12, 2024
Groq and LPUs, why they run LLMs faster
Why Groq ran Mixtral faster than GPU providers: deterministic LPUs, on chip memory, a compiler first design, and the scaling question that follows.
-
July 9, 2024
A non technical dive into alignment
A non technical walk through alignment: knowledge comes from pretraining, behaviour from RLHF, and what it took OpenAI to build InstructGPT.
-
July 1, 2024
Numbers every LLM developer should know
Numbers every LLM developer should know, from Waleed Kadous at Anyscale: cost ratios, tokens per word, and GPU memory per token.
-
June 25, 2024
The sample efficiency comparison is unfair
Sample efficiency comparisons between humans and models are unfair, and in context learning changes what counts as an example.
-
June 21, 2024
Token facts cheat sheet
Order of magnitude figures for tokens: counts per word, page and book, training set sizes, context lengths, and latency per input or output token.
-
July 31, 2023
The logarithm is not a hack
The logarithm was invented to turn multiplication into addition, in Napier's own words from 1614. It is not a hack.
-
July 25, 2023
Good intuition cannot be handed to you
Terence Tao's pre-rigorous, rigorous and post-rigorous stages, and why good intuition cannot be handed to you without the formal detour.
-
July 6, 2023
How a point estimate turns a project into a loss
How a project sold on a point estimate, with the uncertainty interval ignored, turns into a loss, and the three ways teams cover it up.
-
August 19, 2022
The manifold hypothesis, explained with a shoelace
The manifold hypothesis explained with a tied shoelace: hidden layers untangle the data until a hyperplane can separate the two classes.
-
August 17, 2022
Meta AI animates children's drawings
Meta AI's four step pipeline that detects, masks, rigs and animates children's drawings, tested here on a drawing of Rick.
-
August 9, 2022
What Leetcode interviews get right, and what they don't
An honest list of what Leetcode style interviews get right and everything they get wrong, ending on the proof of work comparison.
-
August 2, 2022
Learning rate schedules, explained with a radar
Learning rate schedules explained with a radar that gives you direction but not distance, plus three schedules worth knowing.
-
July 26, 2022
Why ReLU dominates
ReLU dominates because a neural net only slices the input space hyperplane after hyperplane, and piecewise linearity is the non linearity that fits.
-
July 24, 2022
To train a classifier, you need a dataset
Building a labelled dataset with experts or with Mechanical Turk, and why keeping the full answer distribution beats collapsing it to the mode.
-
July 16, 2022
Humans only look more sample efficient than neural nets
Humans look more sample efficient than neural nets until you count evolution, innate priors and the DNA bottleneck as part of the training budget.
-
July 15, 2022
Intelligence is the ability to generalize
Three claims about intelligence as the ability to generalize, and why nothing shipped under the AI label in 2022 generalizes globally.
-
July 12, 2022
The artists of tomorrow will navigate latent space
A short note on the artists of the future as navigators who know where to sail in the latent space of art.
-
July 8, 2022
GauGAN2, NVIDIAs model keeps amazing me
NVIDIA's GauGAN2 turning a few strokes and the words neon fire into a semi abstract image, with a link to the live demo.
-
July 2, 2022
Machine learning is not classical optimization
Why machine learning is not classical optimization: the target is generalization error, which changes how the objective and the data feed are handled.
-
July 30, 2020
Can a gorilla ride a camel?
A McGill and Microsoft paper on models that answer plausibility questions from text alone, and the idea of asking one who wins between Batman and Spider-Man.