<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Hiền's Blog</title>
  <subtitle>Thoughts on web development, technology, and personal projects by Hiền</subtitle>
  <link href="https://hiennguyen.io" rel="alternate" type="text/html" />
  <link href="https://hiennguyen.io/atom.xml" rel="self" type="application/atom+xml" />
  <id>https://hiennguyen.io/atom.xml</id>
  <updated>2026-10-16T10:26:21.270Z</updated>
  <author>
    <name>Hiền</name>
    <uri>https://hiennguyen.io</uri>
  </author>
  
  <entry>
    <title>Nature as an Abstraction Layer: How Software Architecture Mirrors the Universe</title>
    <link href="https://hiennguyen.io/blog/post/nature-software-abstraction" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/nature-software-abstraction</id>
    <updated>2026-10-16T00:00:00.000Z</updated>
    <published>2026-10-16T00:00:00.000Z</published>
    <summary type="text">Why do we encapsulate code, create modules, and define interfaces? Software engineering principles aren't arbitrary human inventions — they're the only survival mechanism that allows complex systems to scale without collapsing.</summary>
    <content type="html">
      <![CDATA[Why do we encapsulate code, create modules, and define interfaces? Software engineering principles aren't arbitrary human inventions — they're the only survival mechanism that allows complex systems to scale without collapsing.]]>
    </content>
    <category term="software-architecture" /><category term="computer-science" /><category term="clean-code" /><category term="philosophy" /><category term="systems-thinking" />
  </entry>
  
  <entry>
    <title>Tự nhiên là một hệ thống Abstraction: Khi lập trình viên chỉ đang sao chép lại vũ trụ</title>
    <link href="https://hiennguyen.io/blog/post/nature-software-abstraction" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/nature-software-abstraction</id>
    <updated>2026-10-16T00:00:00.000Z</updated>
    <published>2026-10-16T00:00:00.000Z</published>
    <summary type="text">Tại sao chúng ta phải chia module, đóng gói và tạo interface? Hóa ra, các nguyên lý kiến trúc phần mềm không phải do con người tự nghĩ ra, mà là bản năng sinh tồn duy nhất giúp vũ trụ mở rộng quy mô mà không tự sụp đổ.</summary>
    <content type="html">
      <![CDATA[Tại sao chúng ta phải chia module, đóng gói và tạo interface? Hóa ra, các nguyên lý kiến trúc phần mềm không phải do con người tự nghĩ ra, mà là bản năng sinh tồn duy nhất giúp vũ trụ mở rộng quy mô mà không tự sụp đổ.]]>
    </content>
    <category term="software-architecture" /><category term="computer-science" /><category term="clean-code" /><category term="philosophy" /><category term="systems-thinking" />
  </entry>
  
  <entry>
    <title>AI Writes My Code Now — So I Built a Tool to Stop It From Trashing My Translations</title>
    <link href="https://hiennguyen.io/blog/post/why-i-built-i18n-sharpen" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/why-i-built-i18n-sharpen</id>
    <updated>2026-06-05T00:00:00.000Z</updated>
    <published>2026-06-05T00:00:00.000Z</published>
    <summary type="text">AI writes most of my code now — and it quietly trashes my translation keys: hardcoded strings, orphaned keys, hallucinated namespaces. Why I built i18n-sharpen, an AST-based i18n linter, and what an 'AI-friendly codebase' actually means.</summary>
    <content type="html">
      <![CDATA[AI writes most of my code now — and it quietly trashes my translation keys: hardcoded strings, orphaned keys, hallucinated namespaces. Why I built i18n-sharpen, an AST-based i18n linter, and what an 'AI-friendly codebase' actually means.]]>
    </content>
    <category term="AI" /><category term="i18n" /><category term="developer tools" /><category term="open source" /><category term="clean code" /><category term="claude" /><category term="TypeScript" />
  </entry>
  
  <entry>
    <title>Giờ AI viết code thay tôi — nên tôi tạo một công cụ để ngăn nó phá hỏng hệ thống i18n</title>
    <link href="https://hiennguyen.io/blog/post/why-i-built-i18n-sharpen" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/why-i-built-i18n-sharpen</id>
    <updated>2026-06-05T00:00:00.000Z</updated>
    <published>2026-06-05T00:00:00.000Z</published>
    <summary type="text">AI hiện đang đảm nhận phần lớn việc viết code cho tôi — nhưng nó cũng âm thầm làm hỏng các translation keys: hardcode string, tạo ra orphan keys, và hallucinate namespace. Đây là lý do tôi xây dựng i18n-sharpen, một i18n linter dựa trên AST, và định nghĩa thực sự của một 'AI-friendly codebase'.</summary>
    <content type="html">
      <![CDATA[AI hiện đang đảm nhận phần lớn việc viết code cho tôi — nhưng nó cũng âm thầm làm hỏng các translation keys: hardcode string, tạo ra orphan keys, và hallucinate namespace. Đây là lý do tôi xây dựng i18n-sharpen, một i18n linter dựa trên AST, và định nghĩa thực sự của một 'AI-friendly codebase'.]]>
    </content>
    <category term="AI" /><category term="i18n" /><category term="developer tools" /><category term="open source" /><category term="clean code" /><category term="claude" /><category term="TypeScript" />
  </entry>
  
  <entry>
    <title>Angular's Architectural Advantage in the AI Era</title>
    <link href="https://hiennguyen.io/blog/post/angular-architectural-advantage-ai" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/angular-architectural-advantage-ai</id>
    <updated>2026-05-01T00:00:00.000Z</updated>
    <published>2026-05-01T00:00:00.000Z</published>
    <summary type="text">React's unopinionated freedom was a strength for human developers. But for AI coding assistants, it's a liability. Here's why Angular's strict architecture is the ultimate AI advantage.</summary>
    <content type="html">
      <![CDATA[React's unopinionated freedom was a strength for human developers. But for AI coding assistants, it's a liability. Here's why Angular's strict architecture is the ultimate AI advantage.]]>
    </content>
    <category term="frontend" /><category term="react" /><category term="angular" /><category term="ai" /><category term="architecture" />
  </entry>
  
  <entry>
    <title>The Megamorphic Trap: When DRY Code Backfires in JavaScript</title>
    <link href="https://hiennguyen.io/blog/post/the-jit-megamorphic-trap" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/the-jit-megamorphic-trap</id>
    <updated>2026-05-01T00:00:00.000Z</updated>
    <published>2026-05-01T00:00:00.000Z</published>
    <summary type="text">Code reuse isn't just about saving space; it helps the JIT Compiler activate Hot Paths. But if you aren't careful with data types, you'll fall right into the Megamorphic trap.</summary>
    <content type="html">
      <![CDATA[Code reuse isn't just about saving space; it helps the JIT Compiler activate Hot Paths. But if you aren't careful with data types, you'll fall right into the Megamorphic trap.]]>
    </content>
    <category term="javascript" /><category term="v8" /><category term="jit" /><category term="performance" /><category term="architecture" />
  </entry>
  
  <entry>
    <title>Lợi thế Kiến trúc của Angular trong Kỷ nguyên AI</title>
    <link href="https://hiennguyen.io/blog/post/angular-architectural-advantage-ai" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/angular-architectural-advantage-ai</id>
    <updated>2026-05-01T00:00:00.000Z</updated>
    <published>2026-05-01T00:00:00.000Z</published>
    <summary type="text">Sự tự do của React từng là điểm mạnh đối với lập trình viên, nhưng lại là điểm yếu rắc rối đối với AI. Dưới đây là lý do tại sao kiến trúc chặt chẽ của Angular là lợi thế tuyệt đối trong kỷ nguyên AI.</summary>
    <content type="html">
      <![CDATA[Sự tự do của React từng là điểm mạnh đối với lập trình viên, nhưng lại là điểm yếu rắc rối đối với AI. Dưới đây là lý do tại sao kiến trúc chặt chẽ của Angular là lợi thế tuyệt đối trong kỷ nguyên AI.]]>
    </content>
    <category term="frontend" /><category term="react" /><category term="angular" /><category term="ai" /><category term="architecture" />
  </entry>
  
  <entry>
    <title>Bẫy Megamorphic: Khi viết code tái sử dụng (DRY) phản tác dụng</title>
    <link href="https://hiennguyen.io/blog/post/the-jit-megamorphic-trap" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/the-jit-megamorphic-trap</id>
    <updated>2026-05-01T00:00:00.000Z</updated>
    <published>2026-05-01T00:00:00.000Z</published>
    <summary type="text">Tái sử dụng code không chỉ để tiết kiệm dung lượng, nó giúp JIT Compiler kích hoạt Hot Path. Nhưng nếu không cẩn thận với kiểu dữ liệu, bạn sẽ sập bẫy Megamorphic.</summary>
    <content type="html">
      <![CDATA[Tái sử dụng code không chỉ để tiết kiệm dung lượng, nó giúp JIT Compiler kích hoạt Hot Path. Nhưng nếu không cẩn thận với kiểu dữ liệu, bạn sẽ sập bẫy Megamorphic.]]>
    </content>
    <category term="javascript" /><category term="v8" /><category term="jit" /><category term="performance" /><category term="architecture" />
  </entry>
  
  <entry>
    <title>The Abstraction Ladder: 6 Layers of Software Architecture</title>
    <link href="https://hiennguyen.io/blog/post/the-abstraction-ladder" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/the-abstraction-ladder</id>
    <updated>2026-04-30T00:00:00.000Z</updated>
    <published>2026-04-30T00:00:00.000Z</published>
    <summary type="text">How computer science manages complexity. A structural breakdown from physical voltage thresholds to application logic.</summary>
    <content type="html">
      <![CDATA[How computer science manages complexity. A structural breakdown from physical voltage thresholds to application logic.]]>
    </content>
    <category term="computer-science" /><category term="architecture" /><category term="hardware" /><category term="software" />
  </entry>
  
  <entry>
    <title>Thang trừu tượng: 6 Tầng kiến trúc của thế giới phần mềm</title>
    <link href="https://hiennguyen.io/blog/post/the-abstraction-ladder" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/the-abstraction-ladder</id>
    <updated>2026-04-30T00:00:00.000Z</updated>
    <published>2026-04-30T00:00:00.000Z</published>
    <summary type="text">Cách khoa học máy tính quản lý sự phức tạp. Phân tích cấu trúc từ điện áp vật lý đến logic ứng dụng.</summary>
    <content type="html">
      <![CDATA[Cách khoa học máy tính quản lý sự phức tạp. Phân tích cấu trúc từ điện áp vật lý đến logic ứng dụng.]]>
    </content>
    <category term="computer-science" /><category term="architecture" /><category term="hardware" /><category term="software" />
  </entry>
  
  <entry>
    <title>The Truth About How Code Runs: From Bare Metal, OS to Virtual Machines</title>
    <link href="https://hiennguyen.io/blog/post/how-code-actually-runs" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/how-code-actually-runs</id>
    <updated>2026-04-29T00:00:00.000Z</updated>
    <published>2026-04-29T00:00:00.000Z</published>
    <summary type="text">A panoramic view of how software truly interacts with hardware: from electrical currents in Bare Metal environments, through OS System Calls, to Bytecode on Virtual Machines.</summary>
    <content type="html">
      <![CDATA[A panoramic view of how software truly interacts with hardware: from electrical currents in Bare Metal environments, through OS System Calls, to Bytecode on Virtual Machines.]]>
    </content>
    <category term="iot" /><category term="cpp" /><category term="hardware" /><category term="cpu" /><category term="virtual-machine" /><category term="jit" />
  </entry>
  
  <entry>
    <title>Sự thật về cách Code chạy: Từ Bare Metal, Hệ điều hành đến Máy ảo</title>
    <link href="https://hiennguyen.io/blog/post/how-code-actually-runs" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/how-code-actually-runs</id>
    <updated>2026-04-29T00:00:00.000Z</updated>
    <published>2026-04-29T00:00:00.000Z</published>
    <summary type="text">Một góc nhìn toàn cảnh về cách phần mềm thực sự tương tác với phần cứng: từ dòng điện trong môi trường Bare Metal, qua System Calls của Hệ điều hành, đến Bytecode trên Máy ảo.</summary>
    <content type="html">
      <![CDATA[Một góc nhìn toàn cảnh về cách phần mềm thực sự tương tác với phần cứng: từ dòng điện trong môi trường Bare Metal, qua System Calls của Hệ điều hành, đến Bytecode trên Máy ảo.]]>
    </content>
    <category term="iot" /><category term="cpp" /><category term="hardware" /><category term="cpu" /><category term="virtual-machine" /><category term="jit" />
  </entry>
  
  <entry>
    <title>AI Is No Longer Just a Tool — The Shift Toward Infrastructure</title>
    <link href="https://hiennguyen.io/blog/post/ai-infrastructure-era" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-infrastructure-era</id>
    <updated>2026-03-09T00:00:00.000Z</updated>
    <published>2026-03-09T00:00:00.000Z</published>
    <summary type="text">From ChatGPT to national-scale platforms: why 2026 is the year AI shifts from tool to infrastructure, and what I'm seeing as a dev.</summary>
    <content type="html">
      <![CDATA[From ChatGPT to national-scale platforms: why 2026 is the year AI shifts from tool to infrastructure, and what I'm seeing as a dev.]]>
    </content>
    <category term="AI" /><category term="Infrastructure" /><category term="Strategy" /><category term="Vietnam" /><category term="Cloud" /><category term="Enterprise" />
  </entry>
  
  <entry>
    <title>AI Giờ Không Chỉ Là Công Cụ Nữa — Xu Thế Đang Chuyển Lên Hạ Tầng</title>
    <link href="https://hiennguyen.io/blog/post/ai-infrastructure-era" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-infrastructure-era</id>
    <updated>2026-03-09T00:00:00.000Z</updated>
    <published>2026-03-09T00:00:00.000Z</published>
    <summary type="text">Từ ChatGPT đến lớp nền tảng quốc gia: tại sao 2026 là năm AI chuyển từ công cụ sang hạ tầng, và mình thấy gì từ góc nhìn dev.</summary>
    <content type="html">
      <![CDATA[Từ ChatGPT đến lớp nền tảng quốc gia: tại sao 2026 là năm AI chuyển từ công cụ sang hạ tầng, và mình thấy gì từ góc nhìn dev.]]>
    </content>
    <category term="AI" /><category term="Infrastructure" /><category term="Strategy" /><category term="Vietnam" /><category term="Cloud" /><category term="Enterprise" />
  </entry>
  
  <entry>
    <title>The AI Agent Era: Cursor vs Antigravity vs Claude Code</title>
    <link href="https://hiennguyen.io/blog/post/ai-agent-era" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-agent-era</id>
    <updated>2026-02-09T00:00:00.000Z</updated>
    <published>2026-02-09T00:00:00.000Z</published>
    <summary type="text">A comprehensive review of the three leading AI coding agents in 2026 — technical architecture, cost, real-world performance, and the future of software engineering.</summary>
    <content type="html">
      <![CDATA[A comprehensive review of the three leading AI coding agents in 2026 — technical architecture, cost, real-world performance, and the future of software engineering.]]>
    </content>
    <category term="AI" /><category term="Agent" /><category term="Cursor" /><category term="Antigravity" /><category term="Claude Code" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>Kỷ nguyên AI Agent: Cursor vs Antigravity vs Claude Code</title>
    <link href="https://hiennguyen.io/blog/post/ai-agent-era" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-agent-era</id>
    <updated>2026-02-09T00:00:00.000Z</updated>
    <published>2026-02-09T00:00:00.000Z</published>
    <summary type="text">Đánh giá toàn diện ba AI coding agent hàng đầu năm 2026 — kiến trúc kỹ thuật, chi phí, hiệu suất thực tế và tương lai của software engineering.</summary>
    <content type="html">
      <![CDATA[Đánh giá toàn diện ba AI coding agent hàng đầu năm 2026 — kiến trúc kỹ thuật, chi phí, hiệu suất thực tế và tương lai của software engineering.]]>
    </content>
    <category term="AI" /><category term="Agent" /><category term="Cursor" /><category term="Antigravity" /><category term="Claude Code" /><category term="Software Engineering" />
  </entry>
  
  <entry>
    <title>How Akamai & Cloudflare Fight a Million Bots Like Me: A Deep Technical Analysis</title>
    <link href="https://hiennguyen.io/blog/post/anti-bot-deep-dive" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/anti-bot-deep-dive</id>
    <updated>2026-02-08T00:00:00.000Z</updated>
    <published>2026-02-08T00:00:00.000Z</published>
    <summary type="text">An in-depth analysis of how Anti-bot systems like Akamai and Cloudflare use Machine Learning, TLS Fingerprinting, and Behavioral Entropy to detect and block millions of bots every day.</summary>
    <content type="html">
      <![CDATA[An in-depth analysis of how Anti-bot systems like Akamai and Cloudflare use Machine Learning, TLS Fingerprinting, and Behavioral Entropy to detect and block millions of bots every day.]]>
    </content>
    <category term="Security" /><category term="Anti-Bot" /><category term="Cloudflare" /><category term="Akamai" /><category term="Machine Learning" /><category term="Web Scraping" />
  </entry>
  
  <entry>
    <title>Cách Akamai, Cloudflare chống lại 1 triệu thằng như tôi: Phân tích kỹ thuật và chiến lược đối phó</title>
    <link href="https://hiennguyen.io/blog/post/anti-bot-deep-dive" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/anti-bot-deep-dive</id>
    <updated>2026-02-08T00:00:00.000Z</updated>
    <published>2026-02-08T00:00:00.000Z</published>
    <summary type="text">Phân tích chuyên sâu về cách các hệ thống Anti-bot như Akamai và Cloudflare sử dụng Machine Learning, TLS Fingerprinting, và Behavioral Entropy để phát hiện và chặn hàng triệu bot mỗi ngày.</summary>
    <content type="html">
      <![CDATA[Phân tích chuyên sâu về cách các hệ thống Anti-bot như Akamai và Cloudflare sử dụng Machine Learning, TLS Fingerprinting, và Behavioral Entropy để phát hiện và chặn hàng triệu bot mỗi ngày.]]>
    </content>
    <category term="Security" /><category term="Anti-Bot" /><category term="Cloudflare" /><category term="Akamai" /><category term="Machine Learning" /><category term="Web Scraping" />
  </entry>
  
  <entry>
    <title>Lately People Worry About AI Domination... And What If It Does Everything?</title>
    <link href="https://hiennguyen.io/blog/post/ai-domination-myth" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-domination-myth</id>
    <updated>2025-12-21T00:00:00.000Z</updated>
    <published>2025-12-21T00:00:00.000Z</published>
    <summary type="text">A clear explanation of how AI works to show why it can't 'dominate', and a reflection on a future where AI handles all the work.</summary>
    <content type="html">
      <![CDATA[A clear explanation of how AI works to show why it can't 'dominate', and a reflection on a future where AI handles all the work.]]>
    </content>
    <category term="AI" /><category term="Philosophy" /><category term="Future" /><category term="Technology" /><category term="Society" />
  </entry>
  
  <entry>
    <title>Dạo Này Mọi Người Hay Lo Chuyện AI Thống Trị Loài Người... Và Nếu Nó Làm Hết Việc Thì Sao?</title>
    <link href="https://hiennguyen.io/blog/post/ai-domination-myth" rel="alternate" type="text/html" />
    <id>https://hiennguyen.io/blog/post/ai-domination-myth</id>
    <updated>2025-12-21T00:00:00.000Z</updated>
    <published>2025-12-21T00:00:00.000Z</published>
    <summary type="text">Giải thích rõ ràng AI hoạt động thế nào để thấy tại sao nó không 'thống trị' được, và suy ngẫm về tương lai khi AI làm hết việc.</summary>
    <content type="html">
      <![CDATA[Giải thích rõ ràng AI hoạt động thế nào để thấy tại sao nó không 'thống trị' được, và suy ngẫm về tương lai khi AI làm hết việc.]]>
    </content>
    <category term="AI" /><category term="Philosophy" /><category term="Future" /><category term="Technology" /><category term="Society" />
  </entry>
  
</feed>