<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hi, I'm Aaron</title><link>https://aarongxa.com/</link><description>Recent content on Hi, I'm Aaron</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 12 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://aarongxa.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Advisory &amp; Fractional Leadership</title><link>https://aarongxa.com/advisory/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/advisory/</guid><description>On-demand technical leadership for startups that need senior cloud and infrastructure expertise without the full-time overhead.</description></item><item><title>7 Things Leaders Say That Actually Matter</title><link>https://aarongxa.com/posts/7-things-leaders-say/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/7-things-leaders-say/</guid><description>Throughout my career leading SREs, DBAs, and full stack developers across SaaS, aerospace, defense, and retail, I have consistently promoted people who demonstrated a specific communication pattern. These seven phrases signal ownership, strategic clarity, and leadership maturity.</description></item><item><title>Start Here</title><link>https://aarongxa.com/start/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/start/</guid><description>&lt;p>The best of aarongxa.com, organized by what you&amp;rsquo;re looking for.&lt;/p>
&lt;h2 id="for-engineers-sre-platform-devops">For Engineers (SRE, Platform, DevOps)&lt;/h2>
&lt;p>Dive into production debugging, infrastructure optimization, and real-world fixes.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>&lt;a href="https://aarongxa.com/posts/fixing-glm-5-1-timeouts-in-hermes-agent/">Fixing GLM-5.1 Timeouts in Hermes Agent&lt;/a>&lt;/strong> - Root-cause debugging that led to an upstream PR. A 7-minute walk through three interacting systems and the one-line fix.&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://aarongxa.com/posts/debugging-cloudflare-workers-return-null/">Debugging: When Your Cloudflare Worker Returns Null&lt;/a>&lt;/strong> - How I diagnosed a silent failure in production and added defensive code to prevent it from happening again.&lt;/li>
&lt;li>&lt;strong>&lt;a href="https://aarongxa.com/posts/optimizing-cloudflare-workers-kv-a-91-reduction-in-write-operations/">Optimizing Cloudflare Workers KV: A 91% Reduction in Write Operations&lt;/a>&lt;/strong> - From 2,400 writes/day to ~216 with smarter caching and change detection.&lt;/li>
&lt;/ul>
&lt;h2 id="for-ai-builders--agent-engineers">For AI Builders &amp;amp; Agent Engineers&lt;/h2>
&lt;p>Practical experience with the tools and models shaping the agent landscape.&lt;/p></description></item><item><title>Fixing GLM-5.1 Timeouts in Hermes Agent</title><link>https://aarongxa.com/posts/fixing-glm-5-1-timeouts-in-hermes-agent/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/fixing-glm-5-1-timeouts-in-hermes-agent/</guid><description>GLM-5.1 timing out on Hermes Agent? It&amp;rsquo;s not the model and it&amp;rsquo;s not your network - it&amp;rsquo;s a server-side 30s idle timeout on api.z.ai. Here&amp;rsquo;s the fix and the PR.</description></item><item><title>Hermes Agent: Setup, Tips, and Tricks for the Self-Improving AI Agent</title><link>https://aarongxa.com/posts/hermes-agent-setup-tips-and-tricks/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/hermes-agent-setup-tips-and-tricks/</guid><description>Everything I&amp;rsquo;ve learned setting up and using Hermes Agent - the self-improving AI agent that remembers, learns, and runs wherever you need it.</description></item><item><title>Control GlobalProtect from the macOS Terminal</title><link>https://aarongxa.com/posts/globalprotect-cli-macos/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/globalprotect-cli-macos/</guid><description>Stop clicking through VPN menus. Use a simple command-line tool to control GlobalProtect on macOS with start, stop, toggle, and kill commands.</description></item><item><title>Adding Podcast Support to My Spotify Integration</title><link>https://aarongxa.com/posts/spotify-api-podcast-support/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/spotify-api-podcast-support/</guid><description>&lt;p>I was listening to a podcast on Spotify and glanced at my blog&amp;rsquo;s homepage. The &amp;ldquo;Now Playing&amp;rdquo; widget showed some random track I&amp;rsquo;d listened to hours ago.&lt;/p>
&lt;p>The podcast was completely invisible.&lt;/p>
&lt;p>Turns out, the Spotify API doesn&amp;rsquo;t return podcast episodes by default. You have to ask for them explicitly.&lt;/p>
&lt;h2 id="the-discovery">The Discovery&lt;/h2>
&lt;p>My Spotify Cloudflare Worker had been happily fetching currently playing tracks for months. The endpoint was simple:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-javascript" data-lang="javascript">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">const&lt;/span> &lt;span style="color:#a6e22e">NOW_PLAYING_ENDPOINT&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;https://api.spotify.com/v1/me/player/currently-playing&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Works great for music.&lt;/p></description></item><item><title>Orbital: A Minimal Desktop Pomodoro Timer for macOS</title><link>https://aarongxa.com/posts/orbital-pomodoro-desktop-widget-macos/</link><pubDate>Sun, 21 Dec 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/orbital-pomodoro-desktop-widget-macos/</guid><description>&lt;h2 id="the-problem-with-productivity-timers">The Problem with Productivity Timers&lt;/h2>
&lt;p>Most pomodoro apps demand attention. They want to live in your dock, send notifications, and add another icon to your already crowded menu bar. When you&amp;rsquo;re trying to focus, the last thing you need is more visual clutter.&lt;/p>
&lt;p>I wanted something different: a timer that&amp;rsquo;s always visible but never intrusive. Something that becomes part of my desktop rather than fighting for attention.&lt;/p>
&lt;p>Something beautiful.&lt;/p>
&lt;p>Low key. But not so minimal.&lt;/p></description></item><item><title>Debugging: When Your Cloudflare Worker Returns Null</title><link>https://aarongxa.com/posts/debugging-cloudflare-workers-return-null/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/debugging-cloudflare-workers-return-null/</guid><description>&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>My blog&amp;rsquo;s homepage has a &amp;ldquo;Currently Reading&amp;rdquo; widget powered by a Cloudflare Worker that fetches data from my Goodreads RSS feed. It had been working fine for weeks, but one day I noticed it was showing &amp;ldquo;Nothing currently&amp;rdquo;-despite actively reading a book.&lt;/p>
&lt;p>A quick &lt;code>curl&lt;/code> to the API endpoint confirmed the issue:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>curl https://goodreads-api.aarongriffith06.workers.dev
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#f92672">&amp;#34;current&amp;#34;&lt;/span>:&lt;span style="color:#66d9ef">null&lt;/span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The worker was responding successfully (HTTP 200), but returning null.&lt;/p>
&lt;p>And wasn&amp;rsquo;t right.&lt;/p></description></item><item><title>The Ambition Loop: A 10-Year Retrospective</title><link>https://aarongxa.com/posts/ambition-loop-ten-year-retrospective/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/ambition-loop-ten-year-retrospective/</guid><description>Reflecting on a decade of personal growth, this post explores how ambition is engineered through five core pillars: idea generation, movement, unrestricted reading, writing, and mindful fueling. The journey from avoiding ambition to embracing it through autodidacticism and teaching.</description></item><item><title>The Onboarding Algorithm: A 30-Day System for Tech Leaders</title><link>https://aarongxa.com/posts/onboarding-algorithm-30-day-system-for-tech-leaders/</link><pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/onboarding-algorithm-30-day-system-for-tech-leaders/</guid><description>A repeatable playbook for tech leaders&amp;rsquo; first 30 days: mental reset, discovery mode, pattern recognition, team refactoring, stakeholder alignment, MVP wins, and transparent retrospectives.</description></item><item><title>The Executive's Guide to Vibe Coding</title><link>https://aarongxa.com/posts/executives-guide-to-vibe-coding/</link><pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/executives-guide-to-vibe-coding/</guid><description>&lt;p>With deep roots in SaaS and leadership experience spanning Aerospace/Defense, Education, and Retail, I currently lead Site Reliability Engineers, Database Administrators, and Full Stack Developers. In this role, I need to stay technical enough to support my teams without getting stuck in the weeds.&lt;/p>
&lt;p>The principles below have evolved over the years, but the goal remains the same: maintain technical depth without becoming a blocker on critical projects. This guide looked significantly different before LLMs, but leveraging AI has refined the list entirely.&lt;/p></description></item><item><title>Things I Believe In</title><link>https://aarongxa.com/posts/things-i-believe-in/</link><pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/things-i-believe-in/</guid><description>A collection of personal beliefs and principles that guide my approach to learning, productivity, and living intentionally.</description></item><item><title>My Shell Setup: Terminal Configuration with Ghostty, zsh, and AI Powered Tools</title><link>https://aarongxa.com/posts/my-shell-setup-terminal-configuration-with-ghostty-zsh-and-ai-powered/</link><pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/my-shell-setup-terminal-configuration-with-ghostty-zsh-and-ai-powered/</guid><description>A complete guide to a modern shell setup with Ghostty, dual shell support, tmux workflows, Starship prompts, and AI-powered command generation.</description></item><item><title>Optimizing Cloudflare Workers KV: A 91% Reduction in Write Operations</title><link>https://aarongxa.com/posts/optimizing-cloudflare-workers-kv-a-91-reduction-in-write-operations/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/optimizing-cloudflare-workers-kv-a-91-reduction-in-write-operations/</guid><description>&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I woke up to an error message I never expected to see: &amp;ldquo;KV put() limit exceeded for the day.&amp;rdquo; My Cloudflare Workers, which power the Spotify and Goodreads integrations on my blog, had blown through their daily quota of 1,000 KV write operations. This was a problem.&lt;/p>
&lt;p>After digging into the logs and analytics, the numbers were shocking. My workers were performing approximately &lt;strong>2,400 KV writes per day&lt;/strong>. That&amp;rsquo;s more than double the free tier limit, and far beyond what should be necessary for displaying currently playing music and reading status.&lt;/p></description></item><item><title>Adding Goodreads and Spotify Integration: A mini "now" page</title><link>https://aarongxa.com/posts/adding-goodreads-and-spotify-integration-a-mini-now-page/</link><pubDate>Wed, 29 Oct 2025 02:18:59 +0000</pubDate><guid>https://aarongxa.com/posts/adding-goodreads-and-spotify-integration-a-mini-now-page/</guid><description>How I built a live &amp;lsquo;Now&amp;rsquo; page using Cloudflare Workers to display what I&amp;rsquo;m reading and listening to in real-time.</description></item><item><title>About</title><link>https://aarongxa.com/about/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://aarongxa.com/about/</guid><description>&lt;h1 id="tldr">TL;DR&lt;/h1>
&lt;p>&lt;strong>&lt;span class="underline-animated" data-underline="true">I'm Aaron Griffith&lt;/span>




 - Staff Engineer &amp;amp; Tech Leader based in Pittsburgh, PA.&lt;/strong> 🇺🇸&lt;/p>
&lt;h2 id="what-i-do">What I Do&lt;/h2>
&lt;p>I lead Site Reliability Engineers, Database Administrators, and Full Stack Developers - keeping production systems running while building the infrastructure that powers them. My work sits at the intersection of &lt;strong>AI agent infrastructure, platform engineering, and automation&lt;/strong>.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>AI Agent Infrastructure&lt;/strong>: Daily-driving and contributing to &lt;a href="https://github.com/NousResearch/Hermes-Agent">Hermes Agent&lt;/a>, building local LLM tooling with Ollama, and shipping upstream fixes.&lt;/li>
&lt;li>&lt;strong>Platform &amp;amp; Production Engineering&lt;/strong>: Running Cloudflare Workers in production with KV caching, debugging edge cases at scale, and optimizing for cost and reliability.&lt;/li>
&lt;li>&lt;strong>macOS &amp;amp; Linux Automation&lt;/strong>: Building CLI tools that remove friction - from VPN control to Pomodoro timers to AI-powered shell command generation.&lt;/li>
&lt;li>&lt;strong>Technical Leadership&lt;/strong>: Frameworks for onboarding tech leaders, scaling engineering teams, and maintaining technical depth as an executive.&lt;/li>
&lt;/ul>
&lt;h2 id="where-ive-worked">Where I&amp;rsquo;ve Worked&lt;/h2>
&lt;p>I&amp;rsquo;ve shipped code and led teams across &lt;strong>Aerospace/Defense, SaaS, Retail, and Education&lt;/strong> - four industries, each with their own reliability requirements, compliance regimes, and scale challenges.&lt;/p></description></item><item><title>Enhancing Your Linux CLI Experience: Ten Essential Tools for September 2025</title><link>https://aarongxa.com/posts/enhancing-your-linux-cli-experience-ten-essential-tools-for-september/</link><pubDate>Tue, 02 Sep 2025 13:17:41 -0400</pubDate><guid>https://aarongxa.com/posts/enhancing-your-linux-cli-experience-ten-essential-tools-for-september/</guid><description>Discover a collection of powerful Linux CLI tools to supercharge your terminal workflow&amp;hellip;</description></item><item><title>Building a Serverless URL Attribution System: Lambda@Edge for Mobile App Analytics</title><link>https://aarongxa.com/posts/building-a-serverless-url-attribution-system-lambda-edge-for-mobile/</link><pubDate>Thu, 31 Oct 2024 02:18:59 +0000</pubDate><guid>https://aarongxa.com/posts/building-a-serverless-url-attribution-system-lambda-edge-for-mobile/</guid><description>Leveraging Lambda Edge for SMS campaigns</description></item><item><title>Why Emotional Detatchment Matters in Tech</title><link>https://aarongxa.com/posts/why-emotional-detachment-matters-in-tech/</link><pubDate>Wed, 07 Aug 2024 16:47:41 -0400</pubDate><guid>https://aarongxa.com/posts/why-emotional-detachment-matters-in-tech/</guid><description>Leadership in tech requires&amp;hellip;</description></item><item><title>Ansible: Rapid Start Cheatsheet</title><link>https://aarongxa.com/posts/ansible-rapid-start-cheatsheet/</link><pubDate>Sun, 26 Feb 2023 18:52:57 +0000</pubDate><guid>https://aarongxa.com/posts/ansible-rapid-start-cheatsheet/</guid><description>Getting started with Ansible</description></item><item><title>Kubernetes Namespaces Explained: Organizing and Managing Cluster Resources</title><link>https://aarongxa.com/posts/intro-kubernetes-namespaces/</link><pubDate>Thu, 16 Feb 2023 17:37:40 +0000</pubDate><guid>https://aarongxa.com/posts/intro-kubernetes-namespaces/</guid><description>Learn how to effectively use Kubernetes namespaces to isolate and manage resources in your cluster. A beginner-friendly guide covering creation, management, and quotas.</description></item><item><title>Kings Crew Gaming</title><link>https://aarongxa.com/projects/kingscrew/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://aarongxa.com/projects/kingscrew/</guid><description>&lt;h2 id="the-challenge">The Challenge&lt;/h2>
&lt;p>Kings Crew Gaming, an ambitious esports team and vibrant gaming community, needed to elevate their brand and amplify their social media presence to compete in a saturated market. They required a strategic partner to professionalize their operations and create a visual identity that resonated with the modern gaming generation.&lt;/p>
&lt;h2 id="the-solution">The Solution&lt;/h2>
&lt;p>I led a comprehensive project to revitalize their brand identity and streamline operations through a structured three-stage process: &lt;strong>Brand Analysis&lt;/strong>, &lt;strong>Creative Overhaul&lt;/strong>, and &lt;strong>Launch &amp;amp; Optimization&lt;/strong>.&lt;/p></description></item><item><title>50 Things About Me: 2015</title><link>https://aarongxa.com/posts/50-things-about-me-2015/</link><pubDate>Mon, 25 May 2015 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/50-things-about-me-2015/</guid><description>A collection of 50 personal facts, preferences, and quirks that reveal who I am beyond my professional resume.</description></item><item><title>Clear Disk Space in /boot</title><link>https://aarongxa.com/posts/clear-disk-space-in-boot/</link><pubDate>Mon, 11 May 2015 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/clear-disk-space-in-boot/</guid><description>When /boot fills up, remove old kernel packages in 3 simple steps using package-cleanup.</description></item><item><title>[Archive] Useful Linux One-Liners for System Administrators</title><link>https://aarongxa.com/posts/useful-linux-one-liners-for-system-administrators/</link><pubDate>Mon, 06 Apr 2015 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/useful-linux-one-liners-for-system-administrators/</guid><description>Here is a list of one-liners that I use on a weekly basis.</description></item><item><title>10 Useful Linux One-Liners for System Administrators</title><link>https://aarongxa.com/posts/10-useful-linux-one-liners-for-system-administrators/</link><pubDate>Sun, 05 Apr 2015 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/10-useful-linux-one-liners-for-system-administrators/</guid><description>Here is a list of one-liners that I use on a weekly basis. Some of these commands allow for client friendly results, while others serve the purpose of a tool in a toolbox; perfect for troubleshooting.</description></item><item><title>[Archive] Linux Commands – What to Check</title><link>https://aarongxa.com/posts/linux-commands-what-to-check/</link><pubDate>Mon, 17 Feb 2014 00:00:00 +0000</pubDate><guid>https://aarongxa.com/posts/linux-commands-what-to-check/</guid><description>Not Sure what to check when troubleshooting Linux Systems? This quick guide will help you troubleshoot the OS.</description></item></channel></rss>