I have not written a blog post in many years.
Let us see if my new years resolution lets me write more!
Latest Entries
Claude Code Permission Spam? Just Ask It to Fix Itself
A prompt that configures Claude Code to auto-allow reads, ask before writes, and hard-deny credential paths. No danger mode required.
Why Raw SQL Is My Default Now
After years of ORMs and two years building with aiosql, I went back to just writing SQL. Here's why.
Game Servers on Demand with Terraform, ECS, and a DNS Trick
What started as a Minecraft server for my kid's summer break turned into a full game server infrastructure running Minecraft, Factorio, and Satisfactory on AWS, all powered by a DNS auto-start trick.
My Daughter Posted Our Home Address on TikTok
A real story about what happens when your kid accidentally leaks PII on social media, and how we turned it into a learning opportunity.
Stop Squash Merging My Commits
Squash merges destroy git history, break stacked PRs, and make debugging harder. Use --no-ff merge commits instead.
My Absurdly Overpowered Unraid Home Server
I bought retired datacenter hardware off eBay and turned it into a home server. Dual Xeons, 128GB of ECC RAM, and now it mostly streams Paw Patrol.
Setup WeMo switch on a Google Project Fi phone
Setting up a WeMo smart switch has issues when performing the installation from a Google Project Fi android device.
Safe Calculator In Python
The safe way to evaluate mathematical expressions in python
Seemless Python VirtualEnv Integration
How I manage my python virtual environments used across multiple projects
Mount Xoom / Honeycomb tablet in Ubuntu Linux
Simple commands to mount / umount the xoom in linux
Compiz Viewport Switcher Over Window
Re-enabling viewport switcher over windows with comipiz
Backup files safely on Ubuntu linux
Using cron and rsync to easily backup your home directory without having to think about it.