I write code to solve problems — and often just for fun.

Featured Projects
- Quartiles Solver
Apple News+ Quartiles solver that finds possible words from combinations of one to four tiles. Works with a full board or only the remaining tiles.
- Spelling Bee Solver
NYT Spelling Bee solver that lists possible words built from a required center letter and six optional letters, with pangrams highlighted.
- Wordle Solver
NYT Wordle solver that lists possible five-letter words from correctly placed (green), misplaced (yellow), and excluded (gray) letters.
- Analytical Spam Filter
Block WordPress comment, trackback, and pingback spam automatically. No captchas, no accounts, and no external services required.
- Gauntlet Racer
Play Gauntlet Racer, a fast-paced HTML5 driving game with procedurally generated roads, six unique biomes, power-ups, and fully customizable difficulty. How far can you go?
Latest Blog Posts
- Install WordPress on a Debian LAMP Stack
Install WordPress directly in the document root of a Debian LAMP stack running Apache, PHP-FPM, and MariaDB.
- Build a Power BI Timeline Visual With Deneb and Vega
Build a multi-project milestone timeline in Power BI using Deneb and Vega. Includes the complete JSON specification and steps to connect data.
- Using AI to Review Blog Posts and Knowing When to Stop
I used AI to review two years of blog posts for accuracy, technical gaps, and consistency. The process will change how I approach future reviews.
- Automate Maintenance on a Debian LAMP Stack Using a Bash Script
Automate maintenance on a Debian LAMP server hosted on Amazon Lightsail with a Bash script that creates snapshots, updates packages, restarts services intelligently, and cleans logs.
- Upgrade PHP on a Debian LAMP Stack
Upgrade PHP on a Debian LAMP stack running Apache and PHP-FPM, with steps for Apache reconfiguration, verification, cleanup, and troubleshooting.