2026
- A Coding Agent on Every Desk, Part 3: A Fast Model in a Sidecar
- A Coding Agent on Every Desk, Part 2: Two GPUs and a Bigger Context Window
- Rethinking Build vs. Rent in the Era of Coding Agents
- A Coding Agent on Every Desk: Running Qwen on Bazzite
- Some Assembly Required: Using Doc Comments as Agent Instructions
- Testing Software at the Right Focal Length
2024
- Creating a Smart 'On Air' Light with Home Assistant - Part 2
- Creating a Smart 'On Air' Light with Home Assistant - Part 1
- Internal is your friend. Projects are interfaces. Oceans are battlefields.
- Organizing Your Code to Minimize the 'Blast Radius'
- Software Engineering Character Classes
- Dynamically Compiling Protobuf Schemas from Confluent Schema Registry
2023
2020
- Switching Your Home Network to UniFi
- Paper Mario Party - Build Your Own Mario Party Style Board Game
- Running Entity Framework Queries from Embedded Resource SQL Files with EFQueryScript
- Better Home/Away Smart Thermostat Detection via Wifi and IFTTT
- Building a LACK Rack Plex NAS From a Refurbished Rackmount Server, Part 2
- Building a LACK Rack Plex NAS From a Refurbished Rackmount Server, Part 1
2018
2017
2016
2015
- In Defense of The Phantom Menace
- *The Muppets* TV Series Initial Reaction
- The Incredibles isn't Fascist or Objectivist or Whatever
- The Roodian Transformation - One Simple Trick for Comparing Addresses Programmatically
- EPPlusEnumerable - Easily Create Multi-Worksheet Excel Spreadsheets from any .NET object collection
2014
- Not Invented Here Mechanic
- Peach Driven Development
- Client-side File Upload Size Validation in ASP.NET MVC
- Commute RPG Review - Volume One
- Engineering versus Research and Development
- AngularJS and the Post Graceful Degradation Era
- Muppets Most Wanted - Now We're Here and There's No Need Remembering When
- The Gift of Honesty