OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
Support This Site
If you like what I do please support me on Ko-fi
FSF

Author Archives: Graham
Creating “sub-agents” with Mistral Vibe
The vibe coding assistant doesn’t have the same idea of sub-agents that Claude Code does, but you can create them yourself—more or less—from the pieces it supplies. Write the prompt for the sub-agent in a markdown file, and save it … Continue reading
Posted in AI
Leave a comment
Announcing Chiron Codex, a community of software centaurs
Software engineers don’t need to outsource our agency to coding agents. We don’t need to give up reading the code, or understanding the problems. We can use AI tools to augment our own capabilities, to improve our engineering knowledge and … Continue reading
Posted in AI
Leave a comment
Configuring your computer for local inference with a generative AI coding assistant
You can use multiple tools to download, host, and interact with large language models (LLMs) for generative tasks, including coding assistants. This post describes the one that I tried that has been the most successful. Even if you follow the … Continue reading
Posted in whatevs
Leave a comment
Management is the wrong analogy for LLM augmentation
A common meme at the moment in AI-augmented coding circles is “we are all managers now”, with people expressing the idea that alongside actual programming, programmers now manage their team of agents. This is a poor analogy, in both directions. … Continue reading
Posted in AI, tool-support
Leave a comment
Is spec-driven development the end of Agile software development?
A claim that I’ve seen on software social media is that spec-driven development is evidence that agile was a dark path, poorly chosen. The argument goes that Agile software development is about eschewing detailed designs and specifications, in favour of experimentation and … Continue reading
Posted in agile, AI
Leave a comment
On the value of old principles
People using AI coding assistants typically wrestle with three problems (assuming they know what they’re trying to get the model to do, and that that’s the correct thing to try to get it to do): (It’s important to bear in … Continue reading
Posted in AI, design, OOP
Leave a comment
Vibe coding and BASIC
In Vibe Coding: What is it Good For? Absolutely Nothing (Sorry, Linus), The Register makes a comparison between vibe coding today and the BASIC programming of the first generation of home microcomputers: In one respect, though, vibe coding does have … Continue reading
Posted in AI, history
Leave a comment
Essence and accident in language model-assisted coding
In 1986, Fred Brooks posited that there was “no silver bullet” in software engineering—no tool or process that would yield an order-of-magnitude improvement in productivity. He based this assertion on the division of complexity into that which is essential to … Continue reading
Posted in AI, software-engineering, tool-support
2 Comments
Tony Hoare and negative space
The Primeagen calls it Negative-Space Programming: using assertions to cut off the space of possible programs, leaving only the ones you believe are possible given your knowledge of a program’s state at a point. Tony Hoare just called it “logic”, … Continue reading
When did people favor composition over inheritance?
The phrase “favor composition over inheritance” has become one of those thought-terminating cliches in software design, and I always like to take a deeper look at those to understand where they come from and what ideas we’re missing if we … Continue reading
Posted in history, ooa/d, OOP
5 Comments