blog
Writing about software, systems I build, and the work behind them.
-
"AI" - A Retrospective, Part III: Where the Leverage Is Now
Three things happened in the last month that materially change how a working developer should think about model choice. DeepSeek released DeepSeek V4 on April 24 at €0.13 input and €3.20 output per million tokens for the Pro variant, with a launch promo running 75% below list through the end of May.[^deepseek-v4] It posts 80.6% on SWE-Bench Verified, supports a 1M-token context, and ships under an open-weights licence.[^deepseek-bench] At those numbers the model sits roughly one-sixth the price...
-
State of WordPress 2026
As I am missing this year's WordCamp Porto, I wanted to recap the current state of WordPress and what I think actually matters for people building things with it right now. I first touched WordPress in 2007 and have worked with it professionally for about a decade, which is long enough to watch the platform cycle through irrelevance, reinvention, and irrelevance again, sometimes in the same calendar year. WordPress survives every cycle because it occupies a position nothing else has dislodged:...
-
I Want to Get Off Mr. LinkedIn's Wild Ride
LinkedIn, in 2026, is the de facto standard for employment. Opting out costs more than staying, especially if your career crosses a border or your next job needs to land within a few months. So most of us keep an account, post the appropriate amount, and never quite say what we mean. The effect of writing on the platform is that of a glass office. You can be seen at any time by people who might one day hire you, so you write as if you can be seen at any time by people who might one day hire...
-
"AI" - A Retrospective, Part II: The Confidence Game
Two findings worth stating up front, because the rest of this part assumes them. First, the systems we are discussing do not reason in the way the marketing implies. Bender and colleagues' 2021 "stochastic parrots" paper named the core observation that large language models manipulate statistical regularities in their training data rather than meaning, and generate fluent output without any internal model of what is true.[^bender] Apple researchers sharpened that result in 2024 with the...
-
"AI" - A Retrospective, Part I: Genealogy
I was already poking at GPT-3 through the OpenAI API before ChatGPT arrived. That period now gets flattened into prehistory, but it is worth remembering properly. GPT-3 was not useless. It could summarise, continue text, draft boilerplate, and make enough strange mistakes to remind you that the thing was still fundamentally a completion engine. The barrier was not only capability. It was ergonomics. You needed an API key, a playground, a sense for prompts, and enough curiosity to tolerate bad...
-
Model Context Protocol
The Model Context Protocol has been a hot topic for a moment now, so I figured I'd write a bit about it and the experiments I've been running with different MCP servers. I've used them as part of my actual job for months. They are genuinely useful. They are also worth understanding properly before pointing them at your work accounts. MCP stands for Model Context Protocol. Anthropic released it as an open-source standard in late 2024.[^launch] Google, Microsoft, OpenAI, and most of the...
-
State of the Browsers in 2026
I wanted to stay a Firefox person. That sentence is the entire argument, written as a confession. Chrome is the web now, which is annoying to put in writing because it sounds like surrender and also happens to be true. It holds roughly 70% of global usage. Every other mainstream browser except Firefox and Safari runs on Chromium. Google controls Blink. Google controls V8. Google sets the pace for what the web is allowed to do and how quickly it is allowed to do it. The remaining counterweight...
-
Replacing Spotify
I will assume that most people have a story of how they fell in love with music. This one is mine. My dad had a shelf of CDs in the living room. Motown compilations, Deep Purple's Burn, Queen's A Night at the Opera. I would pull out a disc, flip it over, read the liner notes, and put it on. That was the interface. When I got old enough to have my own taste and no money to fund it, I did what every teenager with a broadband connection did in the early 2000s. Kazaa first, then Morpheus, then DC++...
-
200,000 Hours of Your Life
Two hundred thousand hours of your life. That is roughly how long you are likely to spend sitting by a computer, looking at a screen, if you are the sort of person who started young and then accidentally built a life around it. The arithmetic is not sacred. Start around thirteen, average six to nine hours a day, keep going into old age, and the range gets stupid quickly. A conservative estimate lands somewhere around 150,000 hours. A less conservative one clears 250,000. Two hundred thousand is...
-
Cognitive Load Theory
Unproductive days are rarely about laziness or discipline. You slept fine, you ate, nothing went visibly wrong, but the brain will not cooperate. I used to treat those days as a character flaw and try to bully my way through them. That mostly produced worse work and a worse mood. "Push through it" misidentifies the problem. The problem is capacity, and capacity is a real, finite, measurable constraint. Your brain is a battery. That is most of the thesis, and the rest is housekeeping. Cognitive...
-
PHP in 2024
PHP has a reputation problem that no longer matches the language. The jokes are mostly from the PHP 5 era. The language moved on a long time ago. A lot of the people still making those jokes never bothered to check. I have been writing PHP for years, through the rough parts and into the current era. I still understand why people flinch at the name. I also think modern PHP, and Laravel in particular, is one of the most productive web stacks available right now. The interesting part is how...
-
The Case for a Commonplace Notebook
In the previous post I made the case for a Markdown-based journal as the spine of a personal system. That setup still holds. It has one weak point though, and no plugin fixes it: capture. The seconds between "I just had a thought" and "I have opened the right note in the right vault" are where most thoughts get lost. A physical notebook closes that gap in a way digital tools cannot. I keep one within arm's reach at all times. The format has a long, slightly pretentious history under the name...
-
Structured Notes for Developers
Markdown is deceptively ingenious. It looks like almost nothing: asterisks, hashes, backticks, dashes, brackets. A few marks around otherwise plain text. That is the trick. It keeps the writing readable before anything renders it. John Gruber introduced Markdown in 2004 as a way for web writers to write in plain text and turn that text into HTML. The part I always liked is that the source text still reads like the thing it represents. A heading looks like a heading. A list looks like a list. A...