<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.hassanahmed.net/</loc></url>
  <url><loc>https://www.hassanahmed.net/about/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-06-29-incremental-rag-indexing/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-06-30-fastapi-sse-streaming-llm/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-06-30-llm-agent-tool-loop/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-01-opensearch-workflow-monitoring/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-02-hybrid-search-rag-bm25-vectors/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-03-argocd-sync-waves-ordering-rollout/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-04-measuring-rag-retrieval-quality/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-05-sandboxing-llm-generated-code/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-06-chunking-strategies-for-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-07-kubernetes-liveness-readiness-startup-probes/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-08-cross-encoder-reranking-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-09-hnsw-vector-search-explained/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-10-fastapi-blocking-event-loop/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-11-llm-api-rate-limits-retries-backoff/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-12-llm-kv-cache-gpu-memory/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-13-streaming-markdown-react-llm/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-14-reliable-json-from-llms/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-15-kubernetes-oomkilled-requests-vs-limits/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-16-cancel-llm-stream-react-abortcontroller/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-17-build-mcp-server-llm-agent/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-18-semantic-caching-llm-apps/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-19-indirect-prompt-injection-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-20-llm-as-a-judge-evaluating-outputs/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-21-continuous-batching-llm-inference/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-22-tracing-llm-agent-opentelemetry/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-23-query-rewriting-rag-retrieval/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-24-speculative-decoding-llm-inference/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-25-keda-autoscale-kubernetes-queue-depth/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-26-llm-quantization-int8-gptq-awq/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-27-prompt-caching-cut-llm-cost/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-28-choosing-embedding-model-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-29-llm-sampling-temperature-top-p-top-k/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-30-managing-context-window-llm-agents/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-07-31-graceful-shutdown-fastapi-kubernetes/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-01-metadata-filtering-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-02-contextual-retrieval-for-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-03-pgvector-rag-postgres/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-04-fastapi-background-tasks-vs-task-queue/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-05-late-interaction-retrieval-colbert-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-06-fastapi-dependency-injection-explained/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-07-argocd-applicationsets-many-clusters/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-08-kubernetes-jobs-cronjobs-batch-workflows/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-09-byte-pair-encoding-llm-tokenization/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-10-async-connection-pooling-fastapi/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-11-how-flashattention-speeds-up-attention/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-12-matryoshka-embeddings-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-13-zero-downtime-reindexing-opensearch/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-14-fastapi-token-bucket-rate-limiting/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-15-grouped-query-attention-kv-cache/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-16-pagedattention-vllm-kv-cache/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-17-semantic-caching-llm-apps/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-18-product-quantization-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-19-concurrent-llm-calls-asyncio-gather/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-20-llm-as-a-judge-rag-answers/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-21-prompt-injection-defense-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-22-hyde-hypothetical-document-embeddings-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-23-opentelemetry-tracing-rag-pipeline/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-24-prefill-vs-decode-llm-inference/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-25-speculative-decoding-faster-llm-inference/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-26-scheduling-gpu-pods-kubernetes/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-27-kubernetes-hpa-autoscaling-pods/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-28-contextual-retrieval-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-29-circuit-breaker-llm-api-calls/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-30-prompt-caching-claude-api/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-08-31-continuous-batching-llm-serving/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-01-metadata-filtering-rag-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-02-reciprocal-rank-fusion-hybrid-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-03-opensearch-ism-index-lifecycle/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-04-idempotency-keys-fastapi-safe-retries/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-05-parse-partial-json-llm-streaming/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-06-kubernetes-poddisruptionbudget-node-drains/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-07-parsing-pdfs-for-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-08-ivf-index-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-09-parent-document-retrieval-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-10-maximal-marginal-relevance-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-11-cosine-dot-product-euclidean-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-12-fastapi-websockets-streaming-llm-chat/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-13-agentic-rag-when-to-retrieve/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-14-opensearch-vector-store-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-15-grounded-citations-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-16-fastapi-pydantic-v2-request-validation/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-17-kubernetes-native-sidecar-containers/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-18-fix-react-rerenders-streaming-chat/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-19-minhash-lsh-near-duplicate-detection-rag/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-20-mixture-of-experts-explained/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-21-binary-quantization-vector-search/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-22-llm-model-routing-cut-cost/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-23-fastapi-correlation-id-logging/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-24-roaring-bitmaps-fast-filters/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-25-gpu-memory-serve-llm/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-26-hyperloglog-count-distinct-at-scale/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-27-rope-position-embeddings-context-length/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-28-tensor-vs-pipeline-parallelism-llm/</loc></url>
  <url><loc>https://www.hassanahmed.net/blog/2026-09-29-consistent-hashing-sharding-without-reshuffle/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/AlgorithmsVisualized/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/IRA1/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/IRA2/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/TabDealit/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/archi/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/argusa-ai-challenge-2025/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/cache-size-over-miss-rate/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/cloud-canvas-ai/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/cms-workflow-operations/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/gemini-alchemy/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/graph-plotting/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/llm-dev-mate/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/nu-forum/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/qras/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/qrsms/</loc></url>
  <url><loc>https://www.hassanahmed.net/project/whats-cooking/</loc></url>
</urlset>
