Ad

Our DNA is written in Swift
Jump

Author Archives rss

Responses Bug in LM Studio

It started, as these things do, with a shortcut I was certain would work.

I’ve been building SwiftAgents, my Swift framework for talking to language models, and one of the local providers it supports is LM Studio — the app a lot of us reach for to run models on our own Macs. LM Studio recently grew support for the newer “Responses” API, the OpenAI-style endpoint that can remember a conversation for you. Instead of re-sending the whole chat history on every turn, you send only the new message plus a little breadcrumb — previous_response_id — that tells the server “you already remember the rest.” Less data over the wire, less bookkeeping on the client. An obvious win, and I wanted it in SwiftAgents.

Read more

SwiftText Learns to Write

It started with a bedtime problem.

There’s a manuscript on my disk — a middle-grade fantasy a young writer in the house has been drafting. Fifteen chapters and a prologue, all in Markdown. The ask was simple and entirely reasonable: could it be a real PDF, the kind you can hold, with every chapter starting on a fresh page like a proper book?

So I asked for exactly that. One sentence. A minute later there was a 152-page PDF, each chapter opening at the top of its own page, plus a little shell script I could re-run whenever the draft changed. It changed three times that evening.

Read more

Kits All the Way Down

Everything that happened on github.com/Cocoanetics since the SwiftCross post (June 2 – June 13, 2026). Four new kits, a fourteen-year-old flagship that came home, and the stretch where the extraction pattern started shipping to users.

Read more

Swift Cross Platform

My passion for cross platform software development started around the year 2000 when I saw how a contractor at Austria’s Connect Austria – which eventually became the cellular network provider DREI – would create C++ utilities on PC with Visual Studio that then could be compiled and run in production on Compaq Tru64 Unix. I have fond memories of writing a lot of small CLI utilities the same way to solve data issues we encountered processing call record data for billing.

I always hated the approach of emulating a virtual machine to get code running of different platforms. This feels to me like watching the trojans celebrate their big wooden horse and nobody willing to listen to me shouting warnings of what ugliness might be inside.

Read more

Agentic Bash

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 more

My Outer Loop

There is a thing that happens, after a couple of weeks of working with coding agents at a steady pace, where you stop thinking of yourself as the person typing and start thinking of yourself as the person seeing. The Latin word for vision is visio, “I see”; the Italian visione and English vision both keep that. It’s a much older idea than the modern “mission statement on a slide” usage. It means: I have, in my head, a picture of where this should go.

Read more

Look What JavaScriptCore Has Been Doing in My Pocket

I’ll be honest. When I started thinking about which other languages SwiftBash should run, JavaScript was about fifth on my list. I’m a Swift person. I’m a Cocoa person. I’m somewhere between indifferent and faintly hostile to npm. The idea of “let’s drop a Node-compatible runtime into the bash shell” sounded exactly like the kind of project I would shake my head at on someone else’s GitHub.

Read more

Introducing SwiftPorts

When I was building SwiftBash I made surprisingly quick headway on the basic CLI utilities — jq, awk, sed, grep. Each one is a small, well-scoped language, and once you sit down with the spec it really is just a parser and an evaluator.

Then I hit a wall. The two CLIs I reach for most as a working developer aren’t tiny languages — they’re gh and glab, the GitHub and GitLab clients. And right next to them, the granddaddy of all dev CLIs: git. These aren’t 2,000-line tools. gh alone is roughly fifty thousand lines of Go, with subcommand trees, OAuth flows, REST + GraphQL clients, pagination, archive extraction, jq filtering — the works. Reimplementing all of that by hand felt like a year of evenings.

But the source code is right there on GitHub. And I have a coding agent. So I began to wonder: shouldn’t Opus 4.7 1M (extra-high) be able to translate cli/cli into Swift for me, given the original as ground truth?

Read more

An Interpreter for Swift

A few days ago I introduced SwiftBash — a sandboxed bash interpreter written in pure Swift. At the end of the four-green-checkmarks post I promised the next instalment would be about something else: SwiftScript, the same idea but for Swift itself.

It’s exactly that. Real Swift syntax, walked by a tree-walking interpreter, no LLVM, no codegen, no Process/fork/exec — meant for the places where Swift as a compiled binary isn’t an option.

After this success with an AST for bash, I figured, let’s up the game and try the same with Swift Syntax. My Claude Opus has proven time again that it has the necessary tenacity to make any stupid idea come true.

Read more

Four Green Checkmarks: GitHub CI for macOS, iOS, Linux, and Windows

A few hours again, four little checkmarks lit up next to a commit in SwiftScript‘s GitHub Actions:

That’s a Swift package — written in Swift, depending on swift-syntax, exposing a Swift API — building and running its full test suite on all four platforms Swift officially supports today.

Read more