Category engineering

Resurrecting a Dead Website with Jekyll and a Little AI

So say you run a game development website on a CMS that hasn't been maintained since the Obama administration. And say that website has been sitting on a shared hosting...

Advent of Code 2021: Stack-Based Bracket Matching in C

Advent of Code 2021 was running and I had a few evenings free. I knocked out four days – the first three in Python for speed, and Day 10 in...

Back to Basics: Algorithms and Data Structures in C

Every few years I go back to the fundamentals. Not because I’ve forgotten how merge sort works, but because implementing things from scratch in C forces a level of precision...

The Finished Thesis: 150 Pages Later

The Thesis Series – Bonus Post

Category writing

The Finished Thesis: 150 Pages Later

The Thesis Series – Bonus Post

Category gamedev

When AI Multiplies Velocity — and Chaos: Multi-Agent Lessons from a Real Codebase

I’ve been building a game called All Is Vanity in my spare time. This week I tried something ambitious: running eight AI coding agents simultaneously against the codebase.

The Game I Always Wanted to Make: How AI Let Me Finally Build My Childhood Obsession

I’ve been carrying a game in my head for forty years.

Space Taxi In Space: Rebuilding a C64 Classic Around Friendship, Humor, and Procedural Everything

It started with a Commodore 64 in a crawlspace. Behind the water heater, wrapped in a garbage bag from 1990, next to a disk drive we named Jared. The 5.25”...

Building Squirrel Defense: 4,900 Lines, Zero Sprites, One Afternoon

Every other project from Day 1 was a port. Squirrel Defense was the one I built from nothing — a game I made with my kids. No Haxe source to...

Day 1 with Claude: Five Games, One Website, and 128 Million Tokens

Saturday I sat down with Claude Code (Opus 4.6) and decided to see how much I could get done in a day. The answer: a lot more than I expected....

Porting TappyPlane: From Haxe/OpenFL to Godot 4 with Claude

Back in the day I built TappyPlane for a 3-hour game jam. It was a Flappy Bird clone starring a little green plane dodging rock pillars — built with Haxe,...

Rebuilding Snake: From a 4-Hour Haxe Jam Game to 10 Levels in Godot 4

I built a Snake game in 4 hours for a game jam back in 2014. Haxe, OpenFL, Flash target, 30 FPS. Three hand-crafted levels, frame-counter movement, bitmap tile rendering. It...

QuickSki Update: Forgiving Flags, Speed Ramp, and AI Skiers

QuickSki started life as a Haxe/OpenFL slalom game – ski downhill, thread gates, don’t hit trees. After porting TappyPlane to Godot 4, I gave QuickSki the same treatment. But this...

Nape and Barrage Integration for Bullet Collision and Ricochet

After the last article, Nape and Barrage are integrated and running together, but we still have a few issues -- Mainly that both Nape and Barrage want full control over a bullet's...

Extending the StableXUI library - Grid Widget

Back when we first started working with OpenFl a robust UI framework didn’t exist.  The first revision of our game interface was a homegrown solution which worked well but didn’t follow any...

Category algorithms

Advent of Code 2021: Stack-Based Bracket Matching in C

Advent of Code 2021 was running and I had a few evenings free. I knocked out four days – the first three in Python for speed, and Day 10 in...

Back to Basics: Algorithms and Data Structures in C

Every few years I go back to the fundamentals. Not because I’ve forgotten how merge sort works, but because implementing things from scratch in C forces a level of precision...

Category godot

Space Taxi In Space: Rebuilding a C64 Classic Around Friendship, Humor, and Procedural Everything

It started with a Commodore 64 in a crawlspace. Behind the water heater, wrapped in a garbage bag from 1990, next to a disk drive we named Jared. The 5.25”...

Building Squirrel Defense: 4,900 Lines, Zero Sprites, One Afternoon

Every other project from Day 1 was a port. Squirrel Defense was the one I built from nothing — a game I made with my kids. No Haxe source to...

Porting TappyPlane: From Haxe/OpenFL to Godot 4 with Claude

Back in the day I built TappyPlane for a 3-hour game jam. It was a Flappy Bird clone starring a little green plane dodging rock pillars — built with Haxe,...

Rebuilding Snake: From a 4-Hour Haxe Jam Game to 10 Levels in Godot 4

I built a Snake game in 4 hours for a game jam back in 2014. Haxe, OpenFL, Flash target, 30 FPS. Three hand-crafted levels, frame-counter movement, bitmap tile rendering. It...

QuickSki Update: Forgiving Flags, Speed Ramp, and AI Skiers

QuickSki started life as a Haxe/OpenFL slalom game – ski downhill, thread gates, don’t hit trees. After porting TappyPlane to Godot 4, I gave QuickSki the same treatment. But this...

Category ai

Redefining Yourself In The Age Of AI

The biggest AI shift for me has not been technical.

I Built A Dashboard Because AI Limits Changed How I Work

I pay for the highest consumer-tier AI coding subscriptions I can justify.

AI Expands The Option Space. Taste Decides What Ships.

One of the best uses of AI is not doing the known work faster.

Managing AI Agents Like A High-Velocity Team

Running multiple AI sessions is not like having magic.

Internal Tools Are The AI Multiplier

AI does not reduce the value of internal tools.

The Leadership Skill AI Does Not Replace

One of my most productive AI weeks had zero commits.

Token Limits Reveal Organizational Debt

Token limits are usually discussed as a model constraint.

Scaling Output Without Pretending AI Is A Team

AI can make one person look like a small team.

AI Makes Verification The Management Layer

The first wave of AI coding feels like a writing-speed upgrade.

My First MCP: No More Manual Bug Tickets

This week I shipped my first MCP, and it solved a problem I was tired of pretending was small.

What Did Not Work: AI Spin Loops, Identity Drift, and My Ben/Hiram Naming Debt

This is the uncomfortable companion to the other two posts from this run:

Should I Build My Own MCP for Trello? Yes, But Keep It Thin

After wiring Trello directly into the game, I kept asking myself the same question:

From Side Scripts to Infrastructure: Making My Game Toolchain Usable by Other Humans

This is the companion to Claude Hit 100%, Codex Kept Going, and it is really about one practical question: can someone else sit down at this repo and get useful...

Claude Hit 100%, Codex Kept Going: The Week My AI Workflow Became a System

Last week I wrote about usage curves and cost in Claude Max vs Codex Max. This week felt different.

When AI Multiplies Velocity — and Chaos: Multi-Agent Lessons from a Real Codebase

I’ve been building a game called All Is Vanity in my spare time. This week I tried something ambitious: running eight AI coding agents simultaneously against the codebase.

The Game I Always Wanted to Make: How AI Let Me Finally Build My Childhood Obsession

I’ve been carrying a game in my head for forty years.

Day 1 with Claude: Five Games, One Website, and 128 Million Tokens

Saturday I sat down with Claude Code (Opus 4.6) and decided to see how much I could get done in a day. The answer: a lot more than I expected....

Category leadership

Redefining Yourself In The Age Of AI

The biggest AI shift for me has not been technical.

I Built A Dashboard Because AI Limits Changed How I Work

I pay for the highest consumer-tier AI coding subscriptions I can justify.

AI Expands The Option Space. Taste Decides What Ships.

One of the best uses of AI is not doing the known work faster.

Managing AI Agents Like A High-Velocity Team

Running multiple AI sessions is not like having magic.

Internal Tools Are The AI Multiplier

AI does not reduce the value of internal tools.

The Leadership Skill AI Does Not Replace

One of my most productive AI weeks had zero commits.

Token Limits Reveal Organizational Debt

Token limits are usually discussed as a model constraint.

Scaling Output Without Pretending AI Is A Team

AI can make one person look like a small team.

AI Makes Verification The Management Layer

The first wave of AI coding feels like a writing-speed upgrade.