The components I’ve been announcing recently certainly hinted at what I’m working on at the moment. A bash playground that lets me exercise SwiftBash, SwiftScript and SwiftPorts all tied together via ShellKit. There was one part that was on my private repo: the agentic harness and pure Swift wrappers for OpenAI APIs. I kept thinking that if I wanted to eventually make my Bash Playground public, then I needed to also have this final part on GitHub as well.
Read moreCategory Archive for ‘Administrative’ 
Introducing SwiftBash
Every coding agent I use — Claude Code, Codex, even PI — leans on the same tool: /bin/bash. PI in particular runs almost exclusively through bash, no sandbox in sight. There’s a good reason for that. Bash is one of the most heavily represented languages in any pre-training corpus on the planet, and LLMs write it fluently. If you give a model a file to manipulate, a folder to inspect, or a one-shot pipeline to assemble, the answer that falls out is almost always a few lines of shell.
The downside is the friction. Unless you live in YOLO mode, you spend half your day clicking Allow on find, grep, sed, and cat prompts. Codex in the cloud sidesteps this by spinning up a fresh container per task. On my Mac, both Codex and Claude Code happily edit my actual files — and even with git worktrees, I’ve ended up with stray uncommitted changes on main more than once.
DTCoreText 2.0
15 years ago, I started my first open source project on GitHub. Originally it was called NSAttributedString-Additions-for-HTML but later I renamed it to DTCoreText. I had switched to maintenance mode 8 years ago, because I had no interest in putting more work into an Objective-C code base.
Post
Many moons ago I had the idea that I would like for an agentic system to be able to access my e-mail servers. That came to me when I automated collecting incoming invoices for my company with a make.com workflow. But that didn’t amount to much until OpenClaw hit the world’s stage.
Read moreI wish I could be an OpenClaw Maintainer
A few days ago I emailed to the OpenClaw team hoping to be considered for a maintaining role. That’s been the second such email I sent, the first one went straight to Peter Steinberger himself like at 4 o’clock in the morning without doing any kind of proof-reading.
Sadly, I haven’t gotten any response on either channel so far, so I fear that the ship has sailed. Compiling my achievements for the application made a feel a bit proud of what I am offering. Maybe I’ll feel a bit better by putting this letter out there.
Read moreSwiftMCP Client
It’s 5 months since the release of SwiftMCP 1.0 and I’ve been slow cooking some enhancements for it. It was rewarding to see a bit of interested in this package, judging by issues and forks I could see on GitHub. Today, I’m revealing the work for the client-side I’ve done during this time.
Read moreIntroducing SwiftMCP
I’m thrilled to announce SwiftMCP, a Swift macro-based framework that elegantly exposes your Swift functions as powerful Model Context Protocol (MCP) tools for AI assistants. After months of careful refinement, SwiftMCP now delivers the experience I’ve always dreamed of: turning standard Swift documentation directly into AI-integrable tools—effortlessly.
Read moreSwift and .env
I’ve started doing occasional live streams, and when presenting to a worldwide audience, you don’t want your secrets visible on YouTube. For example, if you have an OPENAI API key, anyone could use your credits if they get hold of it. Plus, hard-coding secrets into a git repo is never good practice because once they’re committed, they’re difficult to remove entirely.
Read moreDTCoreText 1.6.28
Here’s another maintenance release of DTCoreText, since the last one having been two years ago. It includes several fixes by contributors.
Read more