Current projects
Humbug is a project that explores building a secure and reliable operating system for human/AI collaboration.
Traditional operating systems are designed to securely use and share hardware resources. The best ones attempt to protect users from buggy and malicious software. The weakest link in this security chain is the human user, who can be tricked into running unsafe software or leaking access to sensitive data.
The introduction of AI suddenly makes this a lot more complicated. Our default model of the last few decades was an unpredictable human interacting with what should be a predictable system. With AI participant our unpredictable human is suddenly dealing with an equally unpredictable AI too.
We need to rethink our approach to security, privacy, and trust.
[find out more]
Metaphor is an AI prompt creation language designed to help users generate high-quality prompts for a wide range of AI models.
It has a simple declarative syntax that allows users to define roles, context, and actions in a structured way. As with programming languages, Metaphor files can be included in other files, allowing for modular and reusable prompt definitions.
[find out more]
More projects
Find all my earlier projects in the projects section.
Latest blog posts
Published: 2025-09-14
In the last year we've seen a few agentic development tools being released, but most of them have been proprietary so it hasn't been easy to work out what's going on inside them. I figured it would be interesting to build something open source and to help me understand them better.
A lot of software engineers love terminals and I'm no exception (I have 6 open as I'm writing this), so I thought an agentic terminal would be fun to explore!
I wanted to enable both an AI and a human user to be able to interact with a terminal, run commands, and check results. This would give the human user an assistant to help with tasks in the terminal, but would also allow the AI to come up with creative ways to help meet user requests where using shell commands would be a good way to help.
In this post, I'll walk you through how I went about building this, why I built it the way I did, and how I used AI to help do this more quickly.
[read more]
Published: 2025-08-11
I'm going to try to convince you we need to rethink some of our ideas about operating systems.
That's a pretty bold concept, given that all our major operating systems have been around for a very long time. They've been very effective, and have become progressively more capable as hardware has evolved. Importantly, as the base of our software stack, operating systems are the single most difficult thing to change because that entire software stack depends on their stability.
Even so, my argument is the AI era has already changed a few fundamental assumptions significantly enough that we need to reconsider some things we've not questioned in years!
[read more]
Published: 2025-08-09
A recurring problem throughout my career has been finding effective ways to keep track of all my research notes as I work on a new problem.
This week I'm going to try something new and add them to this site (davehudson.io). We'll have to see if this works or not!
[read more]
Published: 2025-06-01
Over the last few months, quite a few people have asked me whether it's possible to get an AI to build good tests for software. I've always told them LLMs can do a pretty amazing job, but you need to be very clear about what you want them to do. I've also been asked how I manage to get large amounts of working code from Metaphor prompts.
I figured a good example might go a long way!
Over the last month or so, I've built a new Markdown parser (abstract syntax tree builder). I needed to add some tests, so I recorded a video of me adding them. All done using a couple of Metaphor prompts and Humbug.
[read more]
Published: 2025-04-24
The latest version of Humbug, v0.10, introduces the system shell. This is an incredibly useful productivity feature that lets you use built-in commands to create conversation, editor, and terminal windows in a way that's tricky to do from the GUI. The integration within Humbug, rather than making these regular command line tools, means they can invoke GUI features - useful in itself. The big unlock, however, lies with the updated m6rc
Metaphor compiler.
[read more]
More blog posts
Find all my blog posts in the blog section.