<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://blog.nguyenluu.dev/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/about/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/archives/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/ai/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/ai/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/algorithms/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/algorithms/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/architecture/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/architecture/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/backend/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/backend/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/blog/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/concurrency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/concurrency/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/databases/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/databases/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/internals/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/internals/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/performance/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/systems/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/types/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/web/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/categories/web/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/10/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/11/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/12/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/13/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/3/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/4/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/5/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/6/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/7/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/8/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/page/9/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/accessibility-tree-semantic-html/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/acid-isolation-levels-and-anomalies/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/agentic-workflows-state-machines-human-approval/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/ai-observability-traces-costs-drift/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/algebraic-data-types-and-exhaustive-matching/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/api-error-contracts/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/approximation-algorithms-practical-guide/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/architecture-decision-records/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/asynchronous-apis-long-running-operations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/authentication-sessions-jwt-and-oauth2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/authorization-models-rbac-abac-rebac/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/background-job-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/backpressure-flow-control-in-async-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/benchmarking-jit-runtimes/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/binary-search-on-the-answer/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/bloom-filters-probabilistic-membership/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/branded-types-for-safer-domain-modeling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/browser-rendering-from-html-to-pixels/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/browser-security-origins-cors-csp/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/browser-storage-cookies-indexeddb-cache-api/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/building-reliable-llm-applications/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cache-locality-and-data-oriented-design/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/caching-layers-from-http-to-database/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cell-based-architecture-blast-radius/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cold-starts-warmups-and-prewarming/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/columnar-storage-and-vectorized-execution/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/consistency-models-linearizability-to-eventual/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/containers-namespaces-cgroups-layers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/control-planes-and-data-planes/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/core-web-vitals/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cost-aware-performance-engineering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cpu-pipelines-branch-prediction-out-of-order/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cqrs-and-event-sourcing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/crdts-conflict-free-replication/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/csp-and-channels/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/css-layout-flexbox-grid/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/cursor-pagination-at-scale/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/database-indexing-the-b-tree/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/database-replication-logs-lag-failover/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/deadlock-livelock-and-starvation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/designing-a-distributed-rate-limiter/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/designing-idempotent-and-versioned-apis/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/designing-reliable-webhooks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/diagnosing-memory-leaks-with-heap-graphs/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/disjoint-set-union-connectivity/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/distributed-locks-leases-fencing-tokens/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/distributed-sql-consensus-query-processing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/domain-driven-design-bounded-contexts/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/dynamic-programming-mental-model/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/effect-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/embeddings-and-vector-search-explained/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/event-driven-architecture-without-the-hype/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/evolutionary-architecture-fitness-functions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/executable-loading-and-dynamic-linking/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/filesystems-page-cache-journaling-durability/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/fine-tuning-rag-prompting-decision/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/garbage-collection-how-automatic-memory-works/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/generics-variance-and-constraints/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/gossip-protocols-and-failure-detectors/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/graph-algorithms-every-engineer-should-know/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/hash-tables-collisions-and-resizing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/heaps-and-priority-queues/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/hello-blogtinum/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/hexagonal-architecture-ports-and-adapters/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/higher-kinded-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/how-a-compiler-turns-code-into-machine-instructions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/how-many-tokens-to-build-an-ssg/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/how-reactivity-works-under-the-hood/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/how-transformers-actually-work/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/how-type-inference-actually-works/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/http-evolution-http1-http3/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/idempotency-keys-and-exactly-once-delivery/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/inside-a-modern-javascript-bundler/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/jit-compilers-speculation-and-deoptimization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/llm-evaluation-production-quality/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/llm-inference-batching-kv-cache-serving/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/llm-prompt-injection-defense/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/load-balancing-and-consistent-hashing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/locks-mutexes-and-lock-free-data-structures/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/lsm-trees-compaction-read-amplification/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/memory-layout-stack-heap-and-cache-lines/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/memory-models-and-happens-before/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/message-queues-streams-durable-logs/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/monotonic-stacks-and-deques/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/multi-tenant-saas-architecture/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/multimodal-ai-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/mvcc-snapshots-visibility-vacuum/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/network-performance-round-trips-compression/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/network-stack-sockets-to-packets/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/normalization-and-denormalization-by-invariant/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/operating-system-cpu-scheduling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/orchestration-vs-choreography/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/parallel-patterns-for-cpu-bound-work/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/performance-budgets-in-ci/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/plugin-architectures-extension-points/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/profiling-real-performance-bottlenecks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/progressive-hydration-and-islands/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/prompt-engineering-as-software-engineering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/query-optimization-reading-an-explain-plan/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/queueing-theory-for-capacity-planning/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/raft-consensus-algorithm-step-by-step/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/randomized-algorithms-expected-guarantees/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/rate-limiting-algorithms-compared/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/realtime-web-websockets-sse-webtransport/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/recursive-types-fixed-points-folds/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/refinement-and-dependent-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/rendering-strategies-ssr-csr-ssg-isr/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/resilience-patterns-circuit-breakers-bulkheads/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/resilient-outbound-http-clients/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/rest-graphql-or-grpc-decision-framework/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/retrieval-augmented-generation-from-scratch/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/row-polymorphism-extensible-records/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/secure-file-upload-pipelines/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/serverless-architecture-decision-framework/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/service-discovery-and-health-checking/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/service-workers-offline-first/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/sharding-strategies-for-horizontal-scale/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/sizing-connection-and-worker-pools/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/small-language-models-on-device/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/sql-vs-nosql-by-access-pattern/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/strangler-fig-legacy-modernization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/streaming-algorithms-at-scale/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/string-matching-kmp-z-rolling-hash/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/structured-concurrency-lifetimes-cancellation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/synthetic-data-generation-validation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/system-calls-and-context-switches/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/table-partitioning-operations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/tail-latency-and-p99/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/testing-concurrent-code-deterministically/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/the-actor-model-for-concurrent-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/the-event-loop-demystified/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/the-modular-monolith/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/the-saga-pattern-for-distributed-transactions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/the-trie-fast-prefix-search/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/thread-pools-and-bounded-executors/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/time-and-ordering-in-distributed-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/time-series-database-design/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/timeouts-deadlines-cancellation-async-apis/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/two-phase-commit-and-atomic-commitment/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/type-classes-traits-and-protocols/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/type-erasure-and-reification/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/typescript-conditional-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/typescript-soundness-and-escape-hatches/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/typestate-encoding-protocols/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/understanding-big-o-beyond-the-cheat-sheet/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/unicode-and-text-encoding/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/web-components-shadow-dom/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/webassembly-a-portable-compilation-target/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/work-stealing-schedulers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/write-ahead-logging-and-crash-recovery/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/writing-a-tiny-interpreter/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/posts/zero-downtime-database-migrations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/series/distributed-systems-foundations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/series/llm-engineering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/series/typescript-deep-dive/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/accessibility/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/acid/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/actors/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/adr/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/agents/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ai/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ai/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/algorithms/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/algorithms/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/api-design/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/api/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/approximation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/architecture/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/architecture/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/async/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/atomics/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/auth/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/authorization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/backend/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/backend/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/benchmarking/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/binary-search/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/blogtinum/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/browser/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/bundlers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cache-locality/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/caching/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cancellation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/capacity/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cells/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/channels/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/choreography/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ci/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/clean-architecture/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cloud/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cold-starts/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/columnar/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/compilers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/complexity/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/compression/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/concurrency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/concurrency/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/connection-pools/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/consensus/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/consistency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/containers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/control-plane/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/core-web-vitals/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cost/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cpu/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/cqrs/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/crdt/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/csp/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/css/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/data-oriented-design/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/data-structures/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/databases/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/databases/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ddd/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/deadlock/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/decision-making/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/deep-learning/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/dependent-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/determinism/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/distributed-sql/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/distributed-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/distributed-systems/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/domain-modeling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/drift/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/dsa/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/durability/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/dynamic-programming/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/edge/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/effects/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/embeddings/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/error-handling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/evaluation/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/event-driven/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/event-sourcing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/evolution/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/executables/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/executors/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/extensibility/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/failover/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/failure-detection/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/file-uploads/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/filesystems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/fine-tuning/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/fitness-functions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/frontend/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/functional/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/garbage-collection/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/generics/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/github-copilot/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/gossip/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/gpt-56-sol/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/graphql/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/graphs/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/hashing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/health-checks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/heap/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/heaps/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/higher-kinded-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/html/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/http/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/hydration/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/idempotency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/indexing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/inference/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/internals/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/internals/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/interpreters/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/islands/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/javascript/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/jit/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/jobs/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/languages/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/latency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/layout/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/leases/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/legacy/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/linking/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/linux/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/liveness/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/llm/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/load-balancing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/locks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/lsm-trees/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/machine-learning/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/memory-models/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/memory/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/messaging/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/microservices/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/migrations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/modeling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/modernization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/monolith/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/monotonic/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/multi-tenancy/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/multimodal/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/mvcc/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/networking/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/normalization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/nosql/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/observability/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/offline/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/olap/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/operating-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/operations/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/optimization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/orchestration/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ordering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/pagination/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/parallelism/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/partitioning/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/performance/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/performance/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/plugins/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/polymorphism/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/postgresql/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/probabilistic/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/probability/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/profiling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/prompting/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/quantization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/query-optimization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/queueing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/queues/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/quic/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/raft/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/rag/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/randomization/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/rate-limiting/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/reactivity/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/realtime/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/records/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/recovery/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/recursive-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/redis/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/refinement-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/reflection/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/regression-testing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/reliability/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/rendering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/replication/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/resilience/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/row-polymorphism/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/runtime/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/saas/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/saga/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/scaling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/scheduling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/schema-design/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/security/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/serverless/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/service-discovery/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/service-workers/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/shadow-dom/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/sharding/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/soundness/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/spec-kit/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/sql/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ssg/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/ssr/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/state-machines/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/storage/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/streaming/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/streams/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/strings/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/structured-concurrency/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/synthetic-data/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/system-calls/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/tcp/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/testing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/text/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/thread-pools/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/time-series/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/time/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/tooling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/transactions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/two-phase-commit/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/type-classes/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/type-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/type-systems/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/typescript/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/typestate/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/unicode/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/vector-search/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/vue/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/wal/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/web-components/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/web/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/web/page/2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/webassembly/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/webhooks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/tags/websockets/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/acid-isolation-levels-and-anomalies/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/algebraic-data-types-and-exhaustive-matching/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/authentication-sessions-jwt-and-oauth2/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/backpressure-flow-control-in-async-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/bloom-filters-probabilistic-membership/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/branded-types-for-safer-domain-modeling/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/browser-rendering-from-html-to-pixels/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/building-reliable-llm-applications/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/caching-layers-from-http-to-database/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/consistency-models-linearizability-to-eventual/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/cqrs-and-event-sourcing/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/database-indexing-the-b-tree/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/designing-a-distributed-rate-limiter/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/designing-idempotent-and-versioned-apis/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/domain-driven-design-bounded-contexts/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/dynamic-programming-mental-model/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/embeddings-and-vector-search-explained/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/event-driven-architecture-without-the-hype/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/garbage-collection-how-automatic-memory-works/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/generics-variance-and-constraints/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/graph-algorithms-every-engineer-should-know/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/hello-blogtinum/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/hexagonal-architecture-ports-and-adapters/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/how-a-compiler-turns-code-into-machine-instructions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/how-reactivity-works-under-the-hood/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/how-transformers-actually-work/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/how-type-inference-actually-works/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/idempotency-keys-and-exactly-once-delivery/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/inside-a-modern-javascript-bundler/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/locks-mutexes-and-lock-free-data-structures/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/memory-layout-stack-heap-and-cache-lines/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/profiling-real-performance-bottlenecks/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/progressive-hydration-and-islands/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/prompt-engineering-as-software-engineering/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/query-optimization-reading-an-explain-plan/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/raft-consensus-algorithm-step-by-step/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/rate-limiting-algorithms-compared/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/rendering-strategies-ssr-csr-ssg-isr/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/rest-graphql-or-grpc-decision-framework/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/retrieval-augmented-generation-from-scratch/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/sharding-strategies-for-horizontal-scale/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/sql-vs-nosql-by-access-pattern/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/the-actor-model-for-concurrent-systems/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/the-event-loop-demystified/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/the-modular-monolith/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/the-saga-pattern-for-distributed-transactions/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/the-trie-fast-prefix-search/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/typescript-conditional-types/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/understanding-big-o-beyond-the-cheat-sheet/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/webassembly-a-portable-compilation-target/</loc></url>
  <url><loc>https://blog.nguyenluu.dev/vi/posts/writing-a-tiny-interpreter/</loc></url>
</urlset>
