Data Labeling is the New Data Mining
Jun 26, 2026
In 2011 I worked on Oracle Spend Classification, a data mining project. Machine learning algorithms classified products and parts into various spend categories for better control over the spend, contracts and even the design. Unlike the previous efforts the machine learning ran autonomously with a great degree of accuracy. But it worked on structured data, the product master, purchase orders, goods receipt and so on.
However, the world is mostly unstructured. The things we see, the things we do, the words we speak, the music we play. Computers are remarkably inefficient at making sense of all that. We have to...
AI and Overproduction
Jun 25, 2026
In February I decided to move to the command line. I started assembling the tools to live primarily in command-line mode. One of the tools I missed badly was a good Markdown reader. I searched far and wide. There were not many good options. Glow was the most convincing choice, but I was hitting bugs and limitations. So I decided to build one for myself. Armed with Claude Code, I built one in a couple of weeks - a command-line Markdown viewer with a simple editor and readability metrics. I shared it with some friends and decided to let it...
New Wine in Old Wineskins
Mar 20, 2026
There is a recurring debate about AI replacing human activities - in coding, design, shopping, negotiation, and medical diagnosis. What we often overlook is that we are asking an inherently probabilistic system to perform tasks that demand determinism and precision.
My view is that we need to redefine the processes themselves.
Let us consider the process of design, whether it be web, software, interior, or industrial. Traditionally, we begin with requirements and exact measurements, translating them into prototypes, diagrams, or CAD models. By the time a design is visualised, significant effort has already been invested. Every iteration from that point...
Products, Platforms, and Protocols
Jan 29, 2026
Product Thinking, Product Engineering, Minimum Viable Products… We build products to solve problems. Ship fast, learn faster. The product was the thing, and everything else existed to serve it.
Then someone noticed that every team was solving the same problems. Pipelines, containers, observability, deployment - the same foundations being laid over and over again. So we abstracted downward, and platform engineering emerged. Build the foundation once, let products plant themselves on top. The platform handles the how so product teams can focus on the what.
It’s a good deal, if you accept the terms. Comply with the platform’s architecture, follow...
Single-use Systems
Jan 26, 2026
It’s nearly impossible to discuss technology today without AI entering the conversation. And increasingly, it’s becoming just as difficult to talk about software without acknowledging a fundamental shift in how it comes into being. I’ve been observing this shift for a while, watching the patterns take shape as AI tools grow more capable, more accessible, and more deeply woven into our development practices.
The pattern I keep returning to is one we’ve seen play out before, in an entirely different domain.
Manufacturing efficiencies enable mass production. Mass production enables cost efficiencies. Push this far enough, and products become cheaper to...
Measure Once, Cut Twice
Dec 27, 2025
The old proverb tells us to measure twice, cut once. It sounds like practical wisdom: be careful, avoid waste, get it right the first time. This article challenges that wisdom, in building products, software or otherwise.
I recently watched a woodworking video by Foureyes Furniture where Chris Salomone dismantles this wisdom. Even when it comes to measurement, he explains, the real skill isn’t in measuring precisely. It’s in sneaking up on the fit. Making incremental cuts, testing against the actual work, adjusting until the piece sits exactly where it should. And once such a setup is complete, it’s all...
Interface Overloading
Dec 16, 2025
Recently I had to replace the brake pads on my car. All four of them, and it was quite an expense.
I was cautious driving with the new pads. Partly because the workshop asked me to break them in. And partly because the large expense reminded me to drive carefully without stepping on the brakes unnecessarily. For a while, I observed the brake lights of the cars ahead of me. I became conscious of my speed, when I applied the brakes, how long and how hard.
That’s when I realised something. I have only three primary interfaces to communicate with...
The Strangler Anti-pattern
Dec 7, 2025
Martin Fowler saw some strangler figs in Queensland back in 2001. Those remarkable trees became the metaphor for modernising legacy systems - the Strangler Fig Pattern. Wrap new functionality around the old, let the legacy gradually die, and emerge with a modern system.
It’s a common strategy for microservices adoption. But I think we often forget the fig part of strangler fig.
Here’s the thing about strangler figs: when the host tree finally dies and decays, the fig doesn’t collapse. Its roots have grown into a self-supporting columnar structure - an independent organism that no longer needs what it once...
Practical Software Engineering with AI
Sep 21, 2025
I have been coding with AI assistance for 3 years, all the way from the beta version of GitHub Copilot. In the past 3 months, Claude Code and Gemini CLI have upped the game with agentic capabilities. Did it improve the speed and experience of software engineering? I had quite mixed results. But after the initial excitement and disillusionment, here is what I found working for the third quarter of 2025. The technology is evolving at a rapid pace - some of these recommendations might be outdated in another 3 months or so. But what’s more important is the spirit...
The Wheel Paradigm
Jul 25, 2025
We invented the wheel thousands of years ago. The circular form is mechanically superior to anything nature has produced for locomotion. Yet, wheels are rare in biology; hardly any animals have evolved wheel-like appendages, despite their obvious advantages in efficiency.
Here’s what’s fascinating: we became so committed to the wheel that we reshaped the entire world around it. When our wheeled vehicles couldn’t reach certain terrains, we didn’t abandon wheels. Instead, we built roads, carved tunnels through mountains, and engineered hairpin curves to make the inaccessible accessible. We transformed the environment to suit our superior mechanical solution.
Nature works the...