<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Yash Arora - Blog</title>
        <link>https://geekery.work</link>
        <description>Articles about software engineering, infrastructure, and developer tools.</description>
        <lastBuildDate>Thu, 26 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Yash Arora - Blog</title>
            <url>https://geekery.work/og-image.png</url>
            <link>https://geekery.work</link>
        </image>
        <copyright>All rights reserved 2026, Yash Arora</copyright>
        <item>
            <title><![CDATA[The Agentic Web Fork: Your Next Visitor Won't Have Eyes]]></title>
            <link>https://geekery.work/blog/agentic-web-fork</link>
            <guid isPermaLink="false">https://geekery.work/blog/agentic-web-fork</guid>
            <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The web is splitting into a human layer and an agent layer — and the entire monetisation model built on human attention is about to break.]]></description>
            <category>web</category>
            <category>ai-agents</category>
            <category>architecture</category>
            <category>internet</category>
            <category>mcp</category>
        </item>
        <item>
            <title><![CDATA[The Burden of Infinite Leverage: When You Can Build Anything, Nothing Is Easy]]></title>
            <link>https://geekery.work/blog/burden-of-infinite-leverage</link>
            <guid isPermaLink="false">https://geekery.work/blog/burden-of-infinite-leverage</guid>
            <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AI has removed almost every execution barrier — but the bottleneck was never execution. It was always knowing what to build and why.]]></description>
            <category>ai</category>
            <category>productivity</category>
            <category>philosophy</category>
            <category>software</category>
            <category>building</category>
        </item>
        <item>
            <title><![CDATA[This 30-Year-Old Architecture Pattern Is Exactly What Your AI Agent Needs]]></title>
            <link>https://geekery.work/blog/three-tier-architecture-ai-agents</link>
            <guid isPermaLink="false">https://geekery.work/blog/three-tier-architecture-ai-agents</guid>
            <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I stopped building God Agents and started applying the same three-tier separation that fixed enterprise software in the 90s — and why your agent is probably violating it right now.]]></description>
            <category>ai-agents</category>
            <category>architecture</category>
            <category>python</category>
            <category>anthropic</category>
            <category>llm</category>
            <category>software-design</category>
        </item>
        <item>
            <title><![CDATA[No More .env Slack DMs: A Hands-On Look at varlock]]></title>
            <link>https://geekery.work/blog/varlock-no-more-dotenv-slack-dms</link>
            <guid isPermaLink="false">https://geekery.work/blog/varlock-no-more-dotenv-slack-dms</guid>
            <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[I built a demo project to stress-test varlock — a typed env var manager with AWS Secrets Manager integration. Here is what actually works, what broke immediately, and what I am still not sure about.]]></description>
            <category>devops</category>
            <category>secrets-management</category>
            <category>aws</category>
            <category>python</category>
            <category>developer-tools</category>
        </item>
        <item>
            <title><![CDATA[Every Tool Call Your Agent Makes Is Resending Your Entire Conversation History]]></title>
            <link>https://geekery.work/blog/websocket-agent-context-problem</link>
            <guid isPermaLink="false">https://geekery.work/blog/websocket-agent-context-problem</guid>
            <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The stateless HTTP API problem is quietly bankrupting your agent in tokens and time — and WebSockets are the fix nobody talks about enough]]></description>
            <category>ai-agents</category>
            <category>websocket</category>
            <category>openai</category>
            <category>performance</category>
            <category>infrastructure</category>
            <category>llm</category>
        </item>
        <item>
            <title><![CDATA[Keys, Wallets, and Jump Hosts: Understanding SSH from First Principles]]></title>
            <link>https://geekery.work/blog/ssh-keys-agents-jump-hosts</link>
            <guid isPermaLink="false">https://geekery.work/blog/ssh-keys-agents-jump-hosts</guid>
            <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A clear, analogy-first guide to SSH key authentication, the SSH agent, bastion hosts, ProxyJump vs agent forwarding, and the scripting traps that catch everyone eventually.]]></description>
            <category>ssh</category>
            <category>devops</category>
            <category>security</category>
            <category>infrastructure</category>
            <category>git</category>
        </item>
        <item>
            <title><![CDATA[Kubernetes Security Auditing: From kube-bench Findings to Pod Security Standards]]></title>
            <link>https://geekery.work/blog/blog-kubernetes-security-kubebench-pss</link>
            <guid isPermaLink="false">https://geekery.work/blog/blog-kubernetes-security-kubebench-pss</guid>
            <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Running a security audit on my Kubernetes cluster revealed some uncomfortable truths. Here is what I learned about CIS Benchmarks, Pod Security Standards, and why your kubeconfig is probably world-readable too.]]></description>
            <category>kubernetes</category>
            <category>security</category>
            <category>kube-bench</category>
            <category>pss</category>
            <category>cis-benchmark</category>
            <category>devops</category>
        </item>
        <item>
            <title><![CDATA[The Elephant in the Terminal: How AI Took Over My Dev VM (and Why I Let It)]]></title>
            <link>https://geekery.work/blog/elephant-in-the-terminal</link>
            <guid isPermaLink="false">https://geekery.work/blog/elephant-in-the-terminal</guid>
            <pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[I handed my homelab to Claude Code—skills, MCP servers, automated diagnostics, phone deployments. The productivity gains were real. So are the questions about what this all means.]]></description>
            <category>claude-code</category>
            <category>homelab</category>
            <category>productivity</category>
            <category>ai</category>
            <category>kubernetes</category>
            <category>devops</category>
            <category>cli</category>
            <category>mcp</category>
            <category>n8n</category>
            <category>tailscale</category>
        </item>
        <item>
            <title><![CDATA[Building a Kubernetes Event Watcher: Teaching My Cluster to Tattle on Itself]]></title>
            <link>https://geekery.work/blog/k8s-event-watcher-llm-remediation</link>
            <guid isPermaLink="false">https://geekery.work/blog/k8s-event-watcher-llm-remediation</guid>
            <pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built a controller that watches for cluster drama (CrashLoopBackOff, OOMKilled, the usual suspects) and tattles to an LLM for automated remediation. Because apparently I want AI to fix my 3am problems.]]></description>
            <category>kubernetes</category>
            <category>python</category>
            <category>automation</category>
            <category>devops</category>
            <category>llm</category>
            <category>n8n</category>
            <category>kopf</category>
            <category>svelte</category>
            <category>fastapi</category>
            <category>postgresql</category>
        </item>
        <item>
            <title><![CDATA[Building a RAG-Powered Terminal: Teaching My Portfolio to Answer Questions About Itself]]></title>
            <link>https://geekery.work/blog/building-rag-terminal</link>
            <guid isPermaLink="false">https://geekery.work/blog/building-rag-terminal</guid>
            <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I added semantic code search to my portfolio using pgvector, OpenAI embeddings, and a healthy dose of trial and error]]></description>
            <category>rag</category>
            <category>nextjs</category>
            <category>postgresql</category>
            <category>ai</category>
            <category>typescript</category>
            <category>vector-search</category>
        </item>
        <item>
            <title><![CDATA[Stop Guessing Versions: How I Finally Escaped Timestamp Hell]]></title>
            <link>https://geekery.work/blog/semantic-versioning-release-automation</link>
            <guid isPermaLink="false">https://geekery.work/blog/semantic-versioning-release-automation</guid>
            <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The messy journey from timestamp chaos to semantic versioning with automated releases, changelogs, and a workflow that actually makes sense (most days)]]></description>
            <category>devops</category>
            <category>ci-cd</category>
            <category>github-actions</category>
            <category>automation</category>
            <category>versioning</category>
        </item>
        <item>
            <title><![CDATA[Building a Live Infrastructure Dashboard with Chaos Monkey: Letting Visitors Break My Cluster]]></title>
            <link>https://geekery.work/blog/live-infrastructure-dashboard-chaos-monkey</link>
            <guid isPermaLink="false">https://geekery.work/blog/live-infrastructure-dashboard-chaos-monkey</guid>
            <pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built a real-time Kubernetes metrics dashboard that lets visitors delete pods and watch self-healing in action. Covers Prometheus integration, SSE streaming, secure RBAC, and the engineering behind controlled chaos.]]></description>
            <category>kubernetes</category>
            <category>prometheus</category>
            <category>chaos-engineering</category>
            <category>devops</category>
            <category>react</category>
            <category>sse</category>
        </item>
        <item>
            <title><![CDATA[From kubectl apply to Sleep: How GitOps Transformed My Homelab]]></title>
            <link>https://geekery.work/blog/gitops-homelab-to-production</link>
            <guid isPermaLink="false">https://geekery.work/blog/gitops-homelab-to-production</guid>
            <pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[A beginner's journey building a production-grade GitOps pipeline with ArgoCD, and the lessons that translate to real-world infrastructure]]></description>
            <category>gitops</category>
            <category>kubernetes</category>
            <category>argocd</category>
            <category>homelab</category>
            <category>devops</category>
        </item>
        <item>
            <title><![CDATA[Kubernetes Authentication: The Certificate Dance Behind kubectl]]></title>
            <link>https://geekery.work/blog/kubeconfig-authentication-explained</link>
            <guid isPermaLink="false">https://geekery.work/blog/kubeconfig-authentication-explained</guid>
            <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I learned that every kubectl command involves a sophisticated cryptographic handshake (and why that's actually pretty cool)]]></description>
            <category>kubernetes</category>
            <category>certificates</category>
            <category>authentication</category>
            <category>tls</category>
            <category>security</category>
        </item>
        <item>
            <title><![CDATA[Kubernetes Controllers: Why Your Cluster Feels Like Magic (It's Not)]]></title>
            <link>https://geekery.work/blog/kubernetes-controllers-explained</link>
            <guid isPermaLink="false">https://geekery.work/blog/kubernetes-controllers-explained</guid>
            <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[A journey through control loops, watch streams, and custom resources—discovering how Kubernetes actually stays in sync with itself, and why controllers are the real MVPs of the platform.]]></description>
            <category>kubernetes</category>
            <category>controllers</category>
            <category>devops</category>
            <category>infrastructure</category>
            <category>reconciliation</category>
        </item>
        <item>
            <title><![CDATA[Kubernetes Gateway API: My Journey From Ingress Confusion to Modern Routing]]></title>
            <link>https://geekery.work/blog/kubernetes-gateway-api-guide</link>
            <guid isPermaLink="false">https://geekery.work/blog/kubernetes-gateway-api-guide</guid>
            <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I ditched vendor annotations and discovered a cleaner way to route traffic in Kubernetes—and why you should care]]></description>
            <category>kubernetes</category>
            <category>gateway-api</category>
            <category>networking</category>
            <category>infrastructure</category>
            <category>devops</category>
        </item>
        <item>
            <title><![CDATA[Systemd Deep Dive: From Confused to Actually Managing Services]]></title>
            <link>https://geekery.work/blog/systemd-linux-service-management</link>
            <guid isPermaLink="false">https://geekery.work/blog/systemd-linux-service-management</guid>
            <pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[A journey through systemd, systemctl, and D-Bus—discovering why restarting nginx works so differently from running it manually, and what all those mysterious *ctl commands actually do.]]></description>
            <category>linux</category>
            <category>systemd</category>
            <category>infrastructure</category>
            <category>devops</category>
        </item>
        <item>
            <title><![CDATA[Kubeseal: How I Stopped Losing Sleep Over Secrets in Git]]></title>
            <link>https://geekery.work/blog/kubeseal-securing-kubernetes-secrets</link>
            <guid isPermaLink="false">https://geekery.work/blog/kubeseal-securing-kubernetes-secrets</guid>
            <pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[My journey from "surely I can just base64 encode it" to actually securing Kubernetes secrets in a GitOps workflow - complete with the paranoia that keeps me backing up keys.]]></description>
            <category>kubernetes</category>
            <category>security</category>
            <category>gitops</category>
            <category>devops</category>
            <category>argocd</category>
        </item>
        <item>
            <title><![CDATA[How Tailscale Gets Devices Talking to Each Other (Without a Central VPN Middleman)]]></title>
            <link>https://geekery.work/blog/tailscale-technical-deep-dive</link>
            <guid isPermaLink="false">https://geekery.work/blog/tailscale-technical-deep-dive</guid>
            <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[I went down the rabbit hole of understanding how Tailscale actually works—from WireGuard protocol magic to NAT traversal wizardry to making your Kubernetes cluster talk over encrypted tunnels]]></description>
            <category>networking</category>
            <category>security</category>
            <category>kubernetes</category>
            <category>infrastructure</category>
            <category>vpn</category>
        </item>
    </channel>
</rss>