Tools 🧰macOS 🍏Day to Day Tools, the 2025 editionThe 2025 edition of my day-to-day tools: Ghostty, Claude Code, Google's Antigravity IDE, and the AI services that have become central to how I work.
Azure ☁️Cloud ⛅️Save money by pausing Microsoft Fabric Capacities with Azure Logic AppsLearn how to automatically pause Microsoft Fabric capacities outside of working hours using Azure Logic Apps. This step-by-step guide shows you how to deploy a cost-saving automation that can significantly reduce your Fabric spend.
Azure ☁️Cloud ⛅️Azure Soft Delete: Recovering Resources and Preventing Accidental DeletionsA practical guide to recovering accidentally deleted Azure resources that support soft delete, covering API Management, Key Vault, Storage Accounts, and more. Plus, how to use delete locks to prevent these situations in the first place.
Security 🔐DevOps 🦾When the Sandworm Came for My Secrets: Lessons from Shai-Hulud 2.0How a sophisticated npm supply chain attack via a trojanized kill-port package compromised my development environment, exposing API keys to attacker-controlled repositories - and what I'm doing differently now.
AI 🤖Blog 🤷♂️Playing with Nano Banana Pro: AI-Powered Album Cover CollagesUsing Nano Banana Pro for generating stunning AI-powered album cover collages with intelligent image selection and content policy handling
Azure ☁️DevOps 🦾Rotating Azure DevOps SSH Keys: How to Update Your Git Remotes and SSH ConfigLearn how to rotate expired Azure DevOps SSH keys, update your SSH configuration, and fix Git remote authentication quickly and securely.
Blog 🤷♂️A new coat of paintAfter 5 years with Hugo, I rebuilt this blog using Astro, Tailwind CSS v4, and modern JavaScript tooling. Here's what changed and why.
AI 🤖Automation 🤖Install n8n locally using CloudflareLearn to install n8n locally with Docker and Cloudflare Tunnel. Includes PostgreSQL setup and Zero Trust security for home lab deployment.