Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

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 | Leave a comment

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

Posted in history, software-engineering | Tagged | Leave a comment

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 | 3 Comments

LLMs and reinforcement learning

My reflection on the Richard Sutton interview with Dwarkesh Patel was that it was interesting how much the two participants talk past each other, and fail to find common ground. Particularly that they couldn’t agree on the power of reinforcement learning, when … Continue reading

Posted in AI | Leave a comment

Prompting software or supporting engineering

As we learn to operate these new generative predictive transformers, those of us in the world of software need to work out what we’re doing it for. The way in which we use them, the results we get—and the direction … Continue reading

Posted in AI | Leave a comment

Unintended consequences

As the shift in content of this blog has made abundantly clear, for the last five years I’ve been doing a PhD. I’ve also been working full-time, so that research and study has basically taken up all of my spare … Continue reading

Posted in advancement of the self | Leave a comment

Is Foundation a Utopian vision?

Important: while I’m only talking about the Foundation books in vague details here, I will end up summarising a number of key points through the whole series. If you haven’t read them, and intend to, I recommend not reading this … Continue reading

Posted in Fiction | Leave a comment

Hi, I’m Graham and I like things

In my time in special-interest forums, I’ve come to learn that a “fan” of something is someone who doesn’t like it very much. This seems to crop up frequently in relation to long-running science fiction entertainment franchises, leading me to … Continue reading

Posted in star trek, whatevs | Leave a comment

On Nostalgia for Physical Media

While I have access to streaming services that offer most of the music that the labels the services deal with still publish, I also have a significant collection of music on physical media, and do most of my listening to … Continue reading

Posted in music | 3 Comments

The gaps between the processes

Knowledge management—not just in software engineering and not just digital knowledge management—has long had to account for tacit knowledge: the things that people know, but never say. “A lesser blog would reproduce the Donald Rumsfeld statement about known unknowns at … Continue reading

Posted in whatevs | Leave a comment