<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>dhung.dev</title>
    <link>https://dhung.dev</link>
    <description>Personal developer site for DHg (Nguyen Duy Hung) - Technical writing, projects, and insights.</description>
    <language>en</language>
    <lastBuildDate>Tue, 26 May 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>A Backend Testing Framework: What to Test, How, and Where</title>
      <link>https://dhung.dev/blog/backend-testing-framework</link>
      <description>A decision framework for what to test, how to structure it across a backend.</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/backend-testing-framework</guid>
    </item>
    <item>
      <title>I compared AC prices. The cheapest one costs more.</title>
      <link>https://dhung.dev/blog/i-compared-ac-prices-the-cheapest-one-costs-more</link>
      <description>I built a pipeline to compare air conditioners across two retailers. The unit that costs least at the register costs 9.5 million dong more over five years.</description>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/i-compared-ac-prices-the-cheapest-one-costs-more</guid>
    </item>
    <item>
      <title>I Read Through 10 Claude Code Token Optimizers. Here&apos;s them.</title>
      <link>https://dhung.dev/blog/claude-code-token-optimizers</link>
      <description>RTK, Caveman, Context-Mode, Lean-ctx, Headroom, Repomix, SigMap, Graphify, Distill, Codebase-Memory-MCP, what they actually do.</description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/claude-code-token-optimizers</guid>
    </item>
    <item>
      <title>Elon Musk Rented His Supercomputer to His Competitor. Why?</title>
      <link>https://dhung.dev/blog/elon-musk-rented-supercomputer-to-competitor</link>
      <description>xAI lost all 11 co-founders, utilize 11% its GPUs, and IPO next month. So Musk rented Colossus to Anthropic.</description>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/elon-musk-rented-supercomputer-to-competitor</guid>
    </item>
    <item>
      <title>CLAUDE.md guide. How to write one that actually works.</title>
      <link>https://dhung.dev/blog/claude-md-guide-that-works</link>
      <description>Most CLAUDE.md advice is wrong. I experimented with what agents actually follow and ignore. Here&apos;s the guideline I use.</description>
      <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/claude-md-guide-that-works</guid>
    </item>
    <item>
      <title>I Stopped Letting Prisma Write My SQL. Lemme do it myself.</title>
      <link>https://dhung.dev/blog/i-stopped-letting-prisma-write-my-sql</link>
      <description>Prisma&apos;s flow is fast until you need a rollback, a CHECK constraint, or to not lock whole db. I flipped the workflow: SQL first, Prisma schema follow.</description>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/i-stopped-letting-prisma-write-my-sql</guid>
    </item>
    <item>
      <title>AI Wrote My Code. I Couldn&apos;t FEEL It.</title>
      <link>https://dhung.dev/blog/ai-wrote-my-code-i-couldnt-feel-it</link>
      <description>I went full agentic AI on a feature and lost all sense of what my codebase was doing. I posted about it, and hundreds of devs said they feel the same thing.</description>
      <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/ai-wrote-my-code-i-couldnt-feel-it</guid>
    </item>
    <item>
      <title>1GB VM. How do I pack whole production stack to it.</title>
      <link>https://dhung.dev/blog/1gb-vm-how-do-i-pack-whole-production-stack-to-it</link>
      <description>Deployed Fastify, PostgreSQL, and Redis on GCP&apos;s free-tier 1GB VM for a pre-revenue product. Here&apos;s the full playbook.</description>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/1gb-vm-how-do-i-pack-whole-production-stack-to-it</guid>
    </item>
    <item>
      <title>I Migrated to a Monorepo in 2 Days. Things Broke.</title>
      <link>https://dhung.dev/blog/i-migrated-to-a-monorepo-in-2-days-things-broke</link>
      <description>Multi-repo meant copying API contracts to two places. I missed it, shipped a bug, and migrated everything to a monorepo with Turborepo and pnpm.</description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/i-migrated-to-a-monorepo-in-2-days-things-broke</guid>
    </item>
    <item>
      <title>Six Years Wasted to Scrolling. Now I Build What Saves Me</title>
      <link>https://dhung.dev/blog/wasted-six-years-doom-scrolling-now-building-the-app</link>
      <description>Six years of scrolling, novels, and nothing worth remembering. The root wasn&apos;t discipline. It was no purpose. Now I&apos;m building Inner Anchor to fix it.</description>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/wasted-six-years-doom-scrolling-now-building-the-app</guid>
    </item>
    <item>
      <title>I Shipped My Side Project and I Feel Embarrassed</title>
      <link>https://dhung.dev/blog/i-shipped-my-side-project-and-i-feel-embarrassed</link>
      <description>I built a productivity tool to fight procrastination. Some nights I doom scroll instead of building it. I shipped it anyway.</description>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/i-shipped-my-side-project-and-i-feel-embarrassed</guid>
    </item>
    <item>
      <title>Blogs Are Dead. I&apos;m Writing One.</title>
      <link>https://dhung.dev/blog/blogs-are-dead-im-writing-one</link>
      <description>I asked 71,000 strangers whether I should start a blog in 2026. Here&apos;s what happened.</description>
      <pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/blogs-are-dead-im-writing-one</guid>
    </item>
    <item>
      <title>Why Budget Apps Don&apos;t Work (And What to Do Instead)</title>
      <link>https://dhung.dev/blog/stop-budget-tracking-app</link>
      <description>Expense tracking fails because it demands the discipline you don&apos;t have. Here&apos;s a simpler system: fixed allowance + automatic saving.</description>
      <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/stop-budget-tracking-app</guid>
    </item>
    <item>
      <title>Modern password policy 2026: stop Password@1</title>
      <link>https://dhung.dev/blog/modern-password-policy-in-2026</link>
      <description>Password security is mostly won by length + uniqueness, and server-side defenses. Complexity rules make people choose predictable passwords.</description>
      <pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://dhung.dev/blog/modern-password-policy-in-2026</guid>
    </item>
  </channel>
</rss>