Recent
Building AI Development Workflows with Kiro Skills
·4066 words·20 mins
How I built a library of reusable AI skills that handle spec writing, code review, session management, and deployment. Teaching your AI assistant repeatable workflows changes everything.
Migrating My Blog from Ghost to Hugo on AWS
·1640 words·8 mins
After years on Ghost hosted on Azure, I moved to Hugo on AWS. Here’s why I made the switch, what the new setup looks like, and how AI tooling helped me ship it in a weekend.
Setting Up Your Own Blog Using Ghost (Updated 2020)
Updated guide for running Ghost blog in containers on Azure App Service with custom domains and SSL.
Extra Life: The Partial Prize List
·297 words·2 mins
What you could win by giving money to kids — the Cascadian Gamers Extra Life 2017 prize list.
Extra Life: Support Kids and Win Cool Stuff
·365 words·2 mins
Cascadian Gamers’ Extra Life 2017 — game for 24 hours to raise money for Children’s Miracle Network.

Azure Functions: Merge Algorithm Runtime Comparison (Part 3)
·204 words·1 min
Part 3 of 3: Adding QuickFind, QuickUnion, and WeightedQuickUnion — analyzing algorithmic complexity and finding a bug in the test harness.

Azure Functions: Merge Algorithm Runtime Comparison (Part 2)
·184 words·1 min
Part 2 of 3: Converting an HTTP Trigger to a ServiceBus Topic Trigger — reading from ServiceBus, writing to Blob and Table Storage.

Azure Functions: Merge Algorithm Runtime Comparison (Part 1)
·231 words·2 mins
Part 1 of 3: Setting up Azure ServiceBus Topics to compare merge algorithm performance across QuickFind, QuickUnion, WeightedQuickUnion and WeightedQuickUnionWithPathCompression.

Azure Functions: Going Beyond Hello World!
·297 words·2 mins
Creating a sorting Function that writes to Azure Table Storage — using the WeightedQuickUnionWithPathCompression algorithm.

