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]
AIFPL is a pure functional, higher-order, programming language designed for use by AIs.
Inspired by Lisp, AIFPL is designed to offer LLMs a powerful programming model that can be safely used unsupervised.
[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-24
LLMs are famously bad at counting letters in text. They're not very good at complicated maths, either, but they are pretty good at writing programs that can do these things. If they have tools available, they sometimes resort to writing Python scripts to do this sort of work, but those risk the AI doing weird or potentially dangerous things. If we could give them a safe programming environment, however, that would be pretty awesome.
For a long time I've wanted to build a pure functional programming language because I could see a lot of uses for it. For LLMs, though, this would offer the safety I had in mind. The language can be very expressive but sandboxed. It doesn't need access to filesystems or networks, for example. Instead, it can rely on the LLM setting up any inputs and interpreting the outputs.
Previously, I've put off trying to build this because it would have taken months to get everything I wanted. Now, of course, I could use an LLM to help me build this (Claude Sonnet).
[read more]
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]
More blog posts
Find all my blog posts in the blog section.