<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DevPulse | Personal Tech & Engineering Blog</title>
    <link>https://blog.thexcursus.org</link>
    <description>Thoughts, tutorials, and guides on software engineering, devops, and self-hosting.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 02 Nov 2026 09:58:47 GMT</lastBuildDate>
    <atom:link href="https://blog.thexcursus.org/api/rss" rel="self" type="application/rss+xml" />
    
    <item>
      <title><![CDATA[Why Your Next Internal Tool Doesn't Need a Database: The Case for File-Backed & SQLite Architectures]]></title>
      <link>https://blog.thexcursus.org/posts/why-your-next-internal-tool-doesnt-need-a-database-file-backed-and-sqlite-architectures</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/why-your-next-internal-tool-doesnt-need-a-database-file-backed-and-sqlite-architectures</guid>
      <pubDate>Mon, 02 Nov 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[As teams replace expensive SaaS subscriptions with bespoke internal tools, the biggest trap is over-engineering the persistence tier. Why flat files, Git-backed Markdown, and single-file SQLite in WAL mode outperform distributed client-server databases in latency, cost, and operational resilience.]]></description>
      <category>Architecture</category>
      <category>Architecture</category><category>SQLite</category><category>Software Engineering</category><category>Self-Hosting</category><category>Next.js</category><category>Databases</category><category>Performance</category><category>Simplicity</category>
    </item>
    <item>
      <title><![CDATA[The SaaS-pocalypse: How AI Is Breaking the Subscription Monopoly and What It Means for Devs and SMBs]]></title>
      <link>https://blog.thexcursus.org/posts/the-saas-pocalypse-how-ai-is-reshaping-software-economics-for-devs-and-smbs</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/the-saas-pocalypse-how-ai-is-reshaping-software-economics-for-devs-and-smbs</guid>
      <pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The era of paying $45/user/month for glorified CRUD wrappers is coming to an end. How generative AI and agentic engineering are inverting the build-versus-buy equation, dismantling the SaaS subscription tax, and empowering sovereign developers and small-to-medium businesses.]]></description>
      <category>Cloud</category>
      <category>SaaS</category><category>Artificial Intelligence</category><category>Cloud</category><category>Software Engineering</category><category>SMB</category><category>Architecture</category><category>FinOps</category><category>Self Hosting</category>
    </item>
    <item>
      <title><![CDATA[Building Cookie-Free, Privacy-First Web Telemetry That Adblockers Don't Break]]></title>
      <link>https://blog.thexcursus.org/posts/building-cookie-free-privacy-first-web-telemetry-adblockers-dont-break</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/building-cookie-free-privacy-first-web-telemetry-adblockers-dont-break</guid>
      <pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Why we ditched Google Analytics and built a lightweight, 100% self-hosted visitor telemetry engine in Next.js: using cryptographic daily rotating salt hashes, offline MaxMind GeoIP lookups, navigator.sendBeacon, and zero third-party cookie banners.]]></description>
      <category>Web Development</category>
      <category>Analytics</category><category>Privacy</category><category>Next.js</category><category>TypeScript</category><category>GeoIP</category><category>GDPR</category><category>Web Dev</category><category>Telemetry</category>
    </item>
    <item>
      <title><![CDATA[Hardening Linux Containers: Rootless Docker Inside Unprivileged Proxmox LXC]]></title>
      <link>https://blog.thexcursus.org/posts/hardening-linux-containers-rootless-docker-inside-unprivileged-proxmox-lxc</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/hardening-linux-containers-rootless-docker-inside-unprivileged-proxmox-lxc</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A deep-dive systems engineering guide to nesting Docker securely inside unprivileged Proxmox LXC containers: mastering subuid/subgid user namespace remapping, storage driver performance over ZFS datasets, AppArmor profiles, and solving the dreaded bind-mount permission trap.]]></description>
      <category>Architecture</category>
      <category>Proxmox</category><category>LXC</category><category>Docker</category><category>Linux</category><category>Security</category><category>ZFS</category><category>DevOps</category><category>Containers</category>
    </item>
    <item>
      <title><![CDATA[Migrating from GitHub Actions to Gitea Actions on Proxmox: True Air-Gapped GitOps]]></title>
      <link>https://blog.thexcursus.org/posts/migrating-from-github-actions-to-gitea-actions-on-proxmox-air-gapped-gitops</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/migrating-from-github-actions-to-gitea-actions-on-proxmox-air-gapped-gitops</guid>
      <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[How we migrated our entire continuous deployment pipeline from GitHub Actions to self-hosted Gitea Actions running on a Proxmox LXC runner: achieving zero-cloud dependency, sub-minute builds, secure private network deployments, and persistent state management.]]></description>
      <category>DevOps</category>
      <category>Gitea</category><category>CI/CD</category><category>Proxmox</category><category>GitOps</category><category>Docker</category><category>DevOps</category><category>Self-Hosting</category><category>Automation</category>
    </item>
    <item>
      <title><![CDATA[Implementing Zero-Dependency RFC 6238 TOTP from Scratch in Modern TypeScript]]></title>
      <link>https://blog.thexcursus.org/posts/implementing-zero-dependency-rfc-6238-totp-from-scratch-in-typescript</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/implementing-zero-dependency-rfc-6238-totp-from-scratch-in-typescript</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A complete, zero-dependency architectural guide to building RFC 6238 Time-based One-Time Passwords (TOTP) and RFC 4226 HOTP in TypeScript—handling Base32 decoding, HMAC-SHA1 dynamic truncation, virtualized LXC container clock drift, and single-use offline recovery codes without external cloud auth dependencies.]]></description>
      <category>Cybersecurity</category>
      <category>TypeScript</category><category>MFA</category><category>Security</category><category>Authentication</category><category>RFC 6238</category><category>Cryptography</category><category>Node.js</category>
    </item>
    <item>
      <title><![CDATA[Fronting Self-Hosted Infrastructure with Cloudflare: Edge Protection, Zero Inbound Ports, and Origin Cloaking]]></title>
      <link>https://blog.thexcursus.org/posts/fronting-self-hosted-infrastructure-with-cloudflare</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/fronting-self-hosted-infrastructure-with-cloudflare</guid>
      <pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Why putting Cloudflare in front of your self-hosted stack is essential: shielding your origin IP, eliminating inbound firewall ports with Cloudflare Tunnel, mitigating edge DDoS attacks, offloading bandwidth, and enforcing Zero Trust security boundaries.]]></description>
      <category>Cybersecurity</category>
      <category>Cloudflare</category><category>Self-Hosting</category><category>Cybersecurity</category><category>DevOps</category><category>Networking</category><category>Zero Trust</category><category>Proxmox</category>
    </item>
    <item>
      <title><![CDATA[Architecture of a Modern Self-Hosted Tech Blog: From Proxmox to Next.js and Git-Push CI/CD]]></title>
      <link>https://blog.thexcursus.org/posts/architecture-of-a-modern-self-hosted-tech-blog</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/architecture-of-a-modern-self-hosted-tech-blog</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A comprehensive architectural breakdown of how this blog was engineered from the bare metal up: Proxmox LXC containers, Docker host networking, privacy-first local analytics, and a zero-cloud GitOps CI/CD pipeline.]]></description>
      <category>Architecture</category>
      <category>Architecture</category><category>Self-Hosting</category><category>Proxmox</category><category>Docker</category><category>Next.js</category><category>CI/CD</category><category>DevOps</category>
    </item>
    <item>
      <title><![CDATA[Welcome to DevPulse: Building & Self-Hosting Modern Web Apps]]></title>
      <link>https://blog.thexcursus.org/posts/welcome-to-my-blog</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/welcome-to-my-blog</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[An introduction to DevPulse—a modern, zero-cloud-lock-in tech blog dedicated to self-hosting, system architecture, and software craftsmanship.]]></description>
      <category>General</category>
      <category>Self-Hosting</category><category>Architecture</category><category>Open Source</category><category>Web Dev</category>
    </item>
    <item>
      <title><![CDATA[Mastering Self-Hosting: Docker, Nginx, and Home Lab Best Practices]]></title>
      <link>https://blog.thexcursus.org/posts/mastering-self-hosting</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/mastering-self-hosting</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A practical step-by-step guide to running containerized web applications at home or on private VPS nodes securely with reverse proxies and SSL.]]></description>
      <category>DevOps</category>
      <category>Docker</category><category>Nginx</category><category>Linux</category><category>DevOps</category><category>Security</category>
    </item>
    <item>
      <title><![CDATA[Proxmox: The Good, The Bad, and The Ugly]]></title>
      <link>https://blog.thexcursus.org/posts/proxmox-the-good-the-bad-and-the-ugly</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/proxmox-the-good-the-bad-and-the-ugly</guid>
      <pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[An in-depth breakdown of Proxmox VE: the good, the bad, and the ugly, exploring whether it's the right virtualization platform for your homelab, business, or enterprise.]]></description>
      <category>On Premise</category>
      <category>Proxmox</category><category>Hypervisor</category><category>Virtualization</category><category>Homelab</category>
    </item>
    <item>
      <title><![CDATA[Why Using a .local Domain for Internal Networks is a Bad Idea]]></title>
      <link>https://blog.thexcursus.org/posts/why-using-a-local-domain-for-internal-networks-is-a-bad-idea</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/why-using-a-local-domain-for-internal-networks-is-a-bad-idea</guid>
      <pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Why using .local domains for internal networks leads to mDNS conflicts, SSL/TLS certificate failures, and subtle resolution issues—and what to use instead.]]></description>
      <category>Networking</category>
      <category>Networking</category><category>DNS</category><category>mDNS</category><category>Active Directory</category><category>SysAdmin</category>
    </item>
    <item>
      <title><![CDATA[Cybersecurity in a Hybrid Environment: Balancing Cloud and Local Infrastructure]]></title>
      <link>https://blog.thexcursus.org/posts/cybersecurity-in-a-hybrid-environment-balancing-cloud-and-local-infrastructure</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/cybersecurity-in-a-hybrid-environment-balancing-cloud-and-local-infrastructure</guid>
      <pubDate>Sun, 05 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Crucial considerations for securing hybrid IT environments, from access management and least privilege to unified logging and data sovereignty.]]></description>
      <category>Cybersecurity</category>
      <category>Cybersecurity</category><category>Hybrid Cloud</category><category>Zero Trust</category><category>IAM</category><category>Compliance</category>
    </item>
    <item>
      <title><![CDATA[The Decline of Tape Backups in the Backup Ecosystem – And Why That’s Actually a Problem]]></title>
      <link>https://blog.thexcursus.org/posts/the-decline-of-tape-backups-in-the-backup-ecosystem-and-why-thats-actually-a-problem</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/the-decline-of-tape-backups-in-the-backup-ecosystem-and-why-thats-actually-a-problem</guid>
      <pubDate>Sat, 04 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Why the fading use of tape backups leaves organizations vulnerable to ransomware and long-term data loss, and why tape still deserves a place in a modern hybrid backup strategy.]]></description>
      <category>Infrastructure</category>
      <category>Backups</category><category>Tape Storage</category><category>Disaster Recovery</category><category>Ransomware</category><category>Air-Gapped</category>
    </item>
    <item>
      <title><![CDATA[VMware is Dead; All Hail Azure Stack HCI]]></title>
      <link>https://blog.thexcursus.org/posts/vmware-is-dead-all-hail-azure-stack-hci</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/vmware-is-dead-all-hail-azure-stack-hci</guid>
      <pubDate>Fri, 03 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[How the Broadcom acquisition and rising licensing costs are pushing enterprises toward Microsoft Azure Stack HCI as a viable hybrid virtualization alternative.]]></description>
      <category>Virtualization</category>
      <category>VMware</category><category>Azure Stack HCI</category><category>Broadcom</category><category>Virtualization</category><category>Hybrid Cloud</category>
    </item>
    <item>
      <title><![CDATA[Why Moving to the Cloud Might Not Be the Right Move for Your Business]]></title>
      <link>https://blog.thexcursus.org/posts/why-moving-to-the-cloud-might-not-be-the-right-move-for-your-business</link>
      <guid isPermaLink="true">https://blog.thexcursus.org/posts/why-moving-to-the-cloud-might-not-be-the-right-move-for-your-business</guid>
      <pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Examining why the rush to the cloud isn't always the right financial or operational move for every company, and when on-premises infrastructure wins.]]></description>
      <category>Cloud</category>
      <category>Cloud Computing</category><category>FinOps</category><category>On Premise</category><category>Cost Optimization</category><category>Infrastructure</category>
    </item>
  </channel>
</rss>