Docker from Scratch: Build Production-Ready Containers

A five-part series covering Dockerfiles from first principles to production-ready patterns.

March 1, 2026 · 1 min · Russell

Fix CLI Browser Hangs in WSL

Use BROWSER=echo to prevent CLI tools from hanging when they try to open a browser in WSL.

February 27, 2026 · 2 min · Russell

Start developing with Laravel on Ubuntu 24.04 LTS

Get from Ubuntu 24.04 LTS to a running Laravel 12 app using the official installer first, then the DDEV option for container-based workflows.

February 22, 2026 · 2 min · Russell

coaudit: AI-Powered Code Audits with GitHub Copilot CLI

A CLI that runs structured code audits using GitHub Copilot across dead code, architecture, selectors, routing, tests, and observability.

February 15, 2026 · 5 min · Russell

Building a Codebase Cleanup Skill for Claude Code

How to write reusable Claude Code skills, featuring a codebase cleanup skill I built and ran on this very blog.

February 13, 2026 · 13 min · Russell

Using Laravel Boost With DDEV

Set up Laravel Boost as an MCP server inside DDEV, with a WSL configuration for Windows users.

February 10, 2026 · 2 min · Russell

Drift in Cursor AI Rules

Learn how to prevent drift in Cursor AI rules to maintain accurate and relevant AI-assisted development workflows.

June 19, 2025 · 2 min · Russell

CORS: Fix Cross-Origin Issues

Ahnii! CORS (Cross-Origin Resource Sharing) lets your API accept requests from different domains….

May 16, 2025 · 2 min · Russell

CORS: Understanding Cross-Origin Resource Sharing

Learn what CORS is, why it’s essential for web security, and how to implement it properly in your applications.

May 16, 2025 · 3 min · Russell

PSR-20: Clock Interface in PHP

Learn how PSR-20’s Clock interface makes time-dependent code testable and predictable by abstracting PHP’s time functions.

April 20, 2025 · 7 min · Russell