<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Alfred&#39;s Dev Blog</title>
    <link>https://blog.nguyenluu.dev/</link>
    <description>Engineering notes on AI, cloud, software architecture, and the systems behind them.</description>
    <item>
      <title>Hello Blogtinum</title>
      <link>https://blog.nguyenluu.dev/posts/hello-blogtinum/</link>
      <guid>https://blog.nguyenluu.dev/posts/hello-blogtinum/</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <description>Why I built Blogtinum, how its static pipeline works, and how Markdown, Vue SSR, and a Git-backed Admin fit together.</description>
    </item>
    <item>
      <title>LLM Evaluation: Test Suites That Predict Production Quality</title>
      <link>https://blog.nguyenluu.dev/posts/llm-evaluation-production-quality/</link>
      <guid>https://blog.nguyenluu.dev/posts/llm-evaluation-production-quality/</guid>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
      <description>Design production-shaped LLM evaluations with explicit tasks, calibrated graders, segmented analysis, and defensible release gates.</description>
    </item>
    <item>
      <title>Designing Reliable Webhooks</title>
      <link>https://blog.nguyenluu.dev/posts/designing-reliable-webhooks/</link>
      <guid>https://blog.nguyenluu.dev/posts/designing-reliable-webhooks/</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
      <description>Design webhooks as signed, retrying, observable delivery contracts that both providers and consumers can operate safely.</description>
    </item>
    <item>
      <title>Time and Ordering in Distributed Systems</title>
      <link>https://blog.nguyenluu.dev/posts/time-and-ordering-in-distributed-systems/</link>
      <guid>https://blog.nguyenluu.dev/posts/time-and-ordering-in-distributed-systems/</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <description>Choose physical, logical, vector, and hybrid clocks by the ordering facts a distributed protocol actually needs.</description>
    </item>
    <item>
      <title>Rate Limiting Algorithms Compared</title>
      <link>https://blog.nguyenluu.dev/posts/rate-limiting-algorithms-compared/</link>
      <guid>https://blog.nguyenluu.dev/posts/rate-limiting-algorithms-compared/</guid>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <description>Compare six rate limiters by boundary behavior, burst fairness, precision, memory, weighted costs, clocks, headers, and deterministic tests.</description>
    </item>
    <item>
      <title>LSM Trees: Writes, Compaction, and Read Amplification</title>
      <link>https://blog.nguyenluu.dev/posts/lsm-trees-compaction-read-amplification/</link>
      <guid>https://blog.nguyenluu.dev/posts/lsm-trees-compaction-read-amplification/</guid>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <description>LSM trees turn random writes into sorted runs, then spend compaction, read, and space amplification to keep those runs useful.</description>
    </item>
    <item>
      <title>HTTP Evolution: From 1.1 to HTTP/3</title>
      <link>https://blog.nguyenluu.dev/posts/http-evolution-http1-http3/</link>
      <guid>https://blog.nguyenluu.dev/posts/http-evolution-http1-http3/</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <description>Follow HTTP&#39;s evolution from ordered text messages to multiplexed QUIC streams and plan a measurable, fallback-safe HTTP/3 rollout.</description>
    </item>
    <item>
      <title>Evolutionary Architecture with Fitness Functions</title>
      <link>https://blog.nguyenluu.dev/posts/evolutionary-architecture-fitness-functions/</link>
      <guid>https://blog.nguyenluu.dev/posts/evolutionary-architecture-fitness-functions/</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <description>Turn architectural intent into automated fitness functions with explicit scope, thresholds, ownership, exceptions, and a path for gradual change.</description>
    </item>
    <item>
      <title>Profiling and Fixing Real Performance Bottlenecks</title>
      <link>https://blog.nguyenluu.dev/posts/profiling-real-performance-bottlenecks/</link>
      <guid>https://blog.nguyenluu.dev/posts/profiling-real-performance-bottlenecks/</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <description>Find real Node.js bottlenecks with distributions, profiles, load tests, and production-safe experiments instead of intuition.</description>
    </item>
    <item>
      <title>Queueing Theory for Software Capacity Planning</title>
      <link>https://blog.nguyenluu.dev/posts/queueing-theory-for-capacity-planning/</link>
      <guid>https://blog.nguyenluu.dev/posts/queueing-theory-for-capacity-planning/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>Turn arrival rates, service demand, variability, and queue limits into capacity hypotheses that saturation experiments can verify.</description>
    </item>
    <item>
      <title>JIT Compilers: Speculation, Optimization, and Deoptimization</title>
      <link>https://blog.nguyenluu.dev/posts/jit-compilers-speculation-and-deoptimization/</link>
      <guid>https://blog.nguyenluu.dev/posts/jit-compilers-speculation-and-deoptimization/</guid>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
      <description>Follow a tiered JIT as runtime feedback becomes guarded optimized code and deoptimization reconstructs correct generic execution.</description>
    </item>
    <item>
      <title>Structured Concurrency: Lifetimes, Cancellation, and Failure</title>
      <link>https://blog.nguyenluu.dev/posts/structured-concurrency-lifetimes-cancellation/</link>
      <guid>https://blog.nguyenluu.dev/posts/structured-concurrency-lifetimes-cancellation/</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <description>Make asynchronous work tractable by nesting task lifetimes, propagating failure, and completing cleanup before scopes return.</description>
    </item>
    <item>
      <title>Soundness and Escape Hatches in TypeScript</title>
      <link>https://blog.nguyenluu.dev/posts/typescript-soundness-and-escape-hatches/</link>
      <guid>https://blog.nguyenluu.dev/posts/typescript-soundness-and-escape-hatches/</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
      <description>Understand where TypeScript deliberately trusts the programmer, then contain those assumptions with strict configuration, narrow APIs, validation, and adversarial tests.</description>
    </item>
    <item>
      <title>Hash Tables Under the Hood: Hashing, Collisions, and Resizing</title>
      <link>https://blog.nguyenluu.dev/posts/hash-tables-collisions-and-resizing/</link>
      <guid>https://blog.nguyenluu.dev/posts/hash-tables-collisions-and-resizing/</guid>
      <pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate>
      <description>Understand hash-table correctness through hashing, collision resolution, deletion, load factors, and incremental resizing.</description>
    </item>
    <item>
      <title>Generics Done Right: Variance and Constraints</title>
      <link>https://blog.nguyenluu.dev/posts/generics-variance-and-constraints/</link>
      <guid>https://blog.nguyenluu.dev/posts/generics-variance-and-constraints/</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <description>Design TypeScript generics that preserve inference, model variance honestly, and avoid common soundness traps in reusable APIs.</description>
    </item>
    <item>
      <title>Agentic Workflows with State Machines and Human Approval</title>
      <link>https://blog.nguyenluu.dev/posts/agentic-workflows-state-machines-human-approval/</link>
      <guid>https://blog.nguyenluu.dev/posts/agentic-workflows-state-machines-human-approval/</guid>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <description>Build agentic workflows as durable state machines with bounded tools, proposal-bound approvals, idempotent effects, and testable recovery.</description>
    </item>
    <item>
      <title>Background Job Systems: Queues, Retries, and Idempotency</title>
      <link>https://blog.nguyenluu.dev/posts/background-job-systems/</link>
      <guid>https://blog.nguyenluu.dev/posts/background-job-systems/</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <description>Build background jobs around durable state, leased attempts, bounded retries, idempotent effects, and evidence operators can trust.</description>
    </item>
    <item>
      <title>Distributed Locks, Leases, and Fencing Tokens</title>
      <link>https://blog.nguyenluu.dev/posts/distributed-locks-leases-fencing-tokens/</link>
      <guid>https://blog.nguyenluu.dev/posts/distributed-locks-leases-fencing-tokens/</guid>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <description>Make lease-based coordination safe by fencing stale owners at every protected resource with monotonic tokens.</description>
    </item>
    <item>
      <title>MVCC Internals: Snapshots, Visibility, and Vacuum</title>
      <link>https://blog.nguyenluu.dev/posts/mvcc-snapshots-visibility-vacuum/</link>
      <guid>https://blog.nguyenluu.dev/posts/mvcc-snapshots-visibility-vacuum/</guid>
      <pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate>
      <description>MVCC serves stable snapshots from versioned rows, then relies on visibility metadata and vacuum horizons to reclaim the history readers no longer need.</description>
    </item>
    <item>
      <title>The Browser Security Model: Origins, CORS, and CSP</title>
      <link>https://blog.nguyenluu.dev/posts/browser-security-origins-cors-csp/</link>
      <guid>https://blog.nguyenluu.dev/posts/browser-security-origins-cors-csp/</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <description>Design browser-facing systems by separating origin isolation, cross-origin read permission, credentials, execution policy, and embedding controls.</description>
    </item>
  </channel>
</rss>
