Two million games, one running clock
Plate two: two players sharing one truth while the clock runs, and why the bravest thing a real-time system can do is stop.
Plate two: two players sharing one truth while the clock runs, and why the bravest thing a real-time system can do is stop.
Large language models are rarely the weakest part of a GenAI system. The prompts, permissions, tools and people wrapped around them usually are.
This site now answers questions over MCP through a tool called `ask_matt`. It quotes from published articles, hands over the hand-kept numbers when a question wants one, cites everything, and refuses the rest. The refusal took the most design effort.
Servers fail every day. Whether that becomes an outage depends far more on the organisation than the infrastructure.
Most engineering systems are built to answer what happened. The harder question, the one that surfaces at the worst possible moment, is who changed what, when, why, and whether they should have.
Every technology generation promises to transform how software gets delivered. Most of them eventually rediscover that organisational structure shapes the outcome far more than the tools the engineers happen to be holding.
Why Model Context Protocol matters less because of the protocol itself and more because it solves a problem every engineering organisation eventually encounters.
Resilience is a design input, not a deep dive at the end. The first in a series: the smallest system everyone knows, designed around the question of what is allowed to die.
Most software engineers think a payment is a database transaction. The payments industry has spent decades proving otherwise.
Most security incidents don't begin with sophisticated attackers. They begin with credentials sitting somewhere they shouldn't.
Every system that tracks value eventually needs a ledger, and most start with a balance column and a sense of optimism. The fix is double-entry bookkeeping: five hundred years old, and small enough to build in an afternoon.
Code rarely becomes hard to maintain because engineers wanted it that way. More often the architecture is just a faithful record of the incentives, constraints and decisions of the organisation around it.
Most engineers think desktop platforms are about windows and toolbars. The hard parts are identity, communication, deployment, versioning and convincing hundreds of applications to coexist without setting fire to each other.
Modern financial exchanges move billions of dollars a day, yet the core matching engine comes down to a handful of data structures and a few unglamorous rules.
After enough profiling sessions you start to realise the language is rarely the bottleneck. Our assumptions usually are.
Most caching strategies look brilliant during architecture reviews and become considerably less impressive the first time stale data reaches production.