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...
Technical Credit Score
Jun 15, 2025
Ward Cunningham coined the term technical debt to describe the trade-offs between engineering costs and short-term business gains. One takes debt only if it justifies a positive return on investment that exceeds the interest cost over time.
Uncle Bob explains how unrealistic or unreasonable choices lead to technical mess, not technical debt. Technical debts are reasonable decisions — they are made deliberately to support business gains, in the face of project constraints that involve cost and time. When these conditions aren’t met, he calls it technical mess rather than debt.
Often, as time passes and with widespread use, the meaning...
Disruptive Innovation Next
Jun 9, 2025
Oftentimes, we think innovation is all about new ideas and methods. Of course, innovate comes from “in” (into) and “novus” (new). By extension, we assume that innovation is about creating better products and services. After all, why should we innovate if we are not making things better?
However, in the real world, innovation can also mean creating new markets or networks that did not exist due to various reasons. This is what Clay Christensen describes in his book “The Innovator’s Dilemma.”
Disruptive innovation does not challenge the leaders directly.
Disruptive innovation does not challenge the leaders directly. Instead,...
Fast Tech
Jun 2, 2025
Fast food, fast fashion, and now fast tech.
We had recipes, templates, libraries, and automation. And then exploitation.
We had standardisation, sourcing, scaling, and just-in-time. And then gluttony.
We had expertise, designs, craftsmanship, and research. And then hype.
Speed thrills.
AI Instincts
May 21, 2025
“You are a customer service agent for Acme International” - that’s how the prompt starts. But what’s a customer service agent? Beyond the behaviors encoded in the prompt, what does the foundation model bring to the table? And how different would it be from model to model and version to version?
Last year we created a chatbot which engages with customers through conversations. The AI was inquisitive and would keep the conversation going, almost indefinitely. So, we dumbed it down to a question/answer bot. This year the experience is quite different. The newer version of the foundation model seems to...
Learn to Unlearn
Apr 20, 2025
We had implemented an AI solution in 2024. These days we are working on updating the underlying Generative AI models for better functionality and performance. The prompts used in 2024 had a lot of instructions to make AI work the way we wanted to - some transformations, a few guards, and a couple of examples. Soon we realized that the old prompts were not quite effective with the new models - in fact we did not need too many specific instructions with the newer models. It was a moment of unlearning for us, and it was quite recognizable as the...
Age of Agents
Apr 14, 2025
“What’s an agent?”, my friend asked. To me it’s quite obvious from the word itself. Agent is an entity which has “agencies” - power or capacity to fulfil an action or a service. And agents act on behalf of someone. Today, we want AI models to be the agents - agents to perform actions on our desktop or through the internet of things.
How does it work? The AI models, acting as agents, need knowledge and tools. The knowledge to answer questions, make decisions, or to learn how to use tools. Tools to do things, make changes, send emails, book...