Vibing a Non Trivial Ghostty Feature

I very often use AI for inspiration. In this case, I ended up keeping a lot (not all) of the UI code it made, but I will very often prompt an agent, throw away everything it did, and redo it myself (manually!). I find the “zero to one” stage of creation very difficult and time consuming and AI is excellent at being my muse.
[…]
If the agent figures it out and I don’t understand it, I back it out. I’m not shipping code I don’t understand. While it’s failing, I’m also tabbed out searching the issue and trying to figure it out myself.
[…]
AI is very good at fill-in-the-blank or draw-the-rest-of-the-owl. My pattern here of creating scaffolding with descriptive function names, parameters, todo comments, etc. is a really common one for me and it works very well.
[…]
My last prompt to an agent is always to ask what else I might be missing. I do this regardless of if I manually wrote the code myself or not.
October 22, 2025

Real AI Agents and Real Work

If we don’t think hard about WHY we are doing work, and what work should look like, we are all going to drown in a wave of AI content.
October 20, 2025

Using iTerm2's new AI Chat features with Azure AI

Configure iTerm2’s AI Chat to use a private Azure AI deployment with guardrails, minimal permissions, and a few gotchas to avoid.

September 26, 2025 Â· 4 min

Pros and Cons of using a Model Router

Model routers for LLMs: when they shine, when they fail, how to evaluate them, and a simple starter approach

August 13, 2025 Â· 3 min

An Awesome List of AI Assisted Development Tools

A non-comprehensive but still awesome list of AI development tools – IDEs, extensions, CLIs, and asynchronous coding agents

August 12, 2025 Â· 6 min

How to configure aider and Continue with o3-mini and DeepSeek-R1 deployed in Azure AI Foundry

A step-by-step guide to configure aider and Continue with Azure-hosted o3-mini and DeepSeek-R1 LLMs for AI-assisted development

February 5, 2025 Â· 4 min

Clipit (previously Grabit) 0.7 released, and how to use an LLM to keep the README in sync with the code

In the meantime, I’ve renamed Grabit to Clipit to prevent PyPI naming collisions – see more details here. I’ve just released v0.7 of Grabit, my little command line app for saving full-text copies of webpages. It brings support for saving Reddit posts (I really wanted to do this), and custom user agents (I didn’t really want to do this, but here we are). It also prettifies the markdown, to make sure it looks just the way it should, nobody likes 10 blank rows before every bulletpoint. ...

January 30, 2025 Â· 3 min

Building a simple agent with smolagents and Azure OpenAI

How to integrate smolagents with Azure OpenAI to build Python-driven AI agents. Also, lots of ducks.

January 20, 2025 Â· 5 min

Prompt Caching with Azure OpenAI

How Azure OpenAI’s prompt caching feature works, its benefits, caveats, and a quick experiment

January 12, 2025 Â· 9 min

Clipit (previously Grabit), the Web Page Downloader

A web page downloader for humans and large language models alike

January 7, 2025 Â· 2 min