Author Archives: Graham

About Graham

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

Inter-process communication in a sandboxed Mac app

Axminster—my graphical software design tool for the AI coding age—is still in beta, and it’s already been through three different technologies for inter-process communication (IPC). What gives? The reason the app needs IPC at all is to support the Model … Continue reading →

Posted in cocoa | Leave a comment

Reasons to dislike AI coding

Code as Art I covered this before in Art or tool? If you think of software as artistic output then generated software isn’t real because it doesn’t have the creative ineffability that’s a sign of true art. There’s no argument … Continue reading →

Posted in AI | 2 Comments

AI adoption, engineering process, and documentation consultancy

I’m available as a consultant on the things I do: helping developers understand AI; interpreting software engineering knowledge in depth; and writing precise documentation that’s easy to understand. Head over to the agency page to discover how to hire Software … Continue reading →

Posted in AI, documentation | Leave a comment

End of Line: Replacing MCP with Standard Filesystem Tools

Over on YouTube I shared a video where I demonstrate a more context-efficient approach for integrating existing systems into agentic tools than MCP, one that comes with built in access control mechanisms and that LLMs are already trained to understand: … Continue reading →

Posted in AI, tool-support | 1 Comment

Using WebObjects at web-scale with Kubernetes and Firebase

Obviously the title is click-bait. I’m not at web-scale; I’m still developing my product. And I don’t use WebObjects. Except that I do. Read on. I’m using GNUstepWeb, the WebObjects 4.5-compatible web application framework from GNUstep. That lets me use Objective-C … Continue reading →

Posted in architecture of sorts, FLOSS, gnustep, WebObjects | 1 Comment

Free Software and LLM Contribution Policies

Multiple free software (or open source) projects have policies that forbid, or in some cases allow with extra scrutiny and scepticism, contributions that are supported by AI-augmented tools. I believe that this is a poor decision for many reasons, which … Continue reading →

Posted in AI, FLOSS, freesoftware, GNU | 5 Comments

I keep bouncing off the Scheme language

I have a huge appreciation for the Scheme programming language. I just seem to be unable to get it to stick in my head. This seems like a huge revelation for someone who named their blog after the Scheme textbook, … Continue reading →

Posted in GNU, tool-support | 4 Comments

On industrial relations

Today, 2026 May 3, marks the centenary of the onset of a general strike in the UK. In response to a dispute over the organisation and pay in British coal mines following the end of a fixed-term government subsidy, the … Continue reading →

Posted in architecture of sorts, Business, economics, government, philosophy after a fashion, Policy, Responsibility | Leave a comment

Art or tool?

The Internet spaces I tend to inhabit have more polarisation than at many other recent times, and little explication of the worldviews that lead to different premises for discussion, that in turn lead to the polarisation and disagreement. Taking a … Continue reading →

Posted in software-engineering | 1 Comment

On working machines

In part one, on thinking machines, I explored two facets of the philosophy of artificial intelligence: “intelligence”, and consciousness. That left an important topic to consider for this post: the impact of artificial intelligence on work. No technology has ever … Continue reading →

Posted in AI, economics | 1 Comment