<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Anupam Kumar - Articles &amp; Perspectives</title><description>Field notes on production GenAI and backend engineering, plus personal essays.</description><link>https://anupam.info/</link><language>en-in</language><item><title>Building a Grounded Chatbot for My Portfolio</title><link>https://anupam.info/articles/building-a-grounded-portfolio-chatbot.html</link><guid isPermaLink="true">https://anupam.info/articles/building-a-grounded-portfolio-chatbot.html</guid><description>How the &quot;Ask Anupam&apos;s AI&quot; widget works: a build-time chunk index over the whole site, dependency-free BM25 retrieval (no embeddings API), page-aware boosting, Groq-then-Gemini streaming over SSE, the guardrails that keep it from inventing facts, and three real incidents from the week it went live.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>RAG</category><category>LLM</category><category>Chatbots</category><category>Production Engineering</category></item><item><title>Your AI Assistant Can Query My Portfolio</title><link>https://anupam.info/articles/my-portfolio-has-an-mcp-server.html</link><guid isPermaLink="true">https://anupam.info/articles/my-portfolio-has-an-mcp-server.html</guid><description>A public, read-only Model Context Protocol server for this site: the 8 tools it exposes, why it targets protocol version 2025-06-18 instead of the newest one, why it&apos;s hand-rolled JSON-RPC instead of the official SDK on a serverless route, and how to connect Claude, Claude Code, Cursor, or curl to it.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>MCP</category><category>AI Agents</category><category>Protocol Design</category></item><item><title>Checksum the file before indexing it, not after</title><link>https://anupam.info/til/checksum-dedup-uploads</link><guid isPermaLink="true">https://anupam.info/til/checksum-dedup-uploads</guid><description>Two uploads of the same PDF shouldn&apos;t cost two embedding runs - hash the file up front and short-circuit indexing if that hash is already in the system.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>RAG</category><category>PostgreSQL</category><category>Backend</category></item><item><title>A queue consumer needs to catch SIGTERM, not just crash on it</title><link>https://anupam.info/til/graceful-sigterm-queue-consumers</link><guid isPermaLink="true">https://anupam.info/til/graceful-sigterm-queue-consumers</guid><description>Kubernetes sends SIGTERM before killing a pod, and a queue consumer that ignores it drops whatever message it was mid-processing - catch it, finish the current message, then exit.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>Kubernetes</category><category>Reliability</category><category>Queues</category></item><item><title>File-hash change detection keeps a big Lambda fleet&apos;s CI fast</title><link>https://anupam.info/til/file-hash-change-detection-ci</link><guid isPermaLink="true">https://anupam.info/til/file-hash-change-detection-ci</guid><description>Redeploying every Lambda function on every push doesn&apos;t scale past a couple dozen functions - hash each function&apos;s source and only redeploy the ones whose hash actually changed.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>AWS Lambda</category><category>CI/CD</category><category>CloudFormation</category></item><item><title>Keep agent code model-independent so a model swap doesn&apos;t change behaviour</title><link>https://anupam.info/til/model-independent-agents</link><guid isPermaLink="true">https://anupam.info/til/model-independent-agents</guid><description>Hardcoding a model&apos;s quirks into agent logic means every model upgrade risks silently changing behaviour - push model-specific details to config and keep the orchestration model-agnostic.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>Agents</category><category>LLM</category><category>Prompt Engineering</category></item><item><title>S3 presigned URLs get large uploads past API Gateway&apos;s payload limit</title><link>https://anupam.info/til/presigned-urls-past-payload-limit</link><guid isPermaLink="true">https://anupam.info/til/presigned-urls-past-payload-limit</guid><description>Amazon API Gateway enforces a 10 MB payload limit on REST APIs, and it isn&apos;t configurable - route the file straight to S3 with a presigned URL instead of proxying it through Lambda.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>AWS</category><category>API Gateway</category><category>S3</category><category>Lambda</category></item><item><title>Token-aware batching beats fixed-size batching for embedding calls</title><link>https://anupam.info/til/token-aware-embedding-batching</link><guid isPermaLink="true">https://anupam.info/til/token-aware-embedding-batching</guid><description>Batching embedding requests by a fixed item count still hits 429s once individual chunks vary in length - batch by token budget instead, and back off on Retry-After.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>Azure OpenAI</category><category>Embeddings</category><category>Reliability</category><category>RAG</category></item><item><title>A stale-job reaper stops a crashed worker from wedging a pipeline forever</title><link>https://anupam.info/til/stale-job-reaper</link><guid isPermaLink="true">https://anupam.info/til/stale-job-reaper</guid><description>A job marked &apos;processing&apos; by a worker that then crashed or got OOM-killed stays &apos;processing&apos; forever unless something else notices and resets it.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>Pipelines</category><category>Reliability</category><category>PostgreSQL</category></item><item><title>A headless-LibreOffice fallback for documents an AI service can&apos;t read</title><link>https://anupam.info/til/docx-to-pdf-libreoffice-fallback</link><guid isPermaLink="true">https://anupam.info/til/docx-to-pdf-libreoffice-fallback</guid><description>A document-intelligence service that reads PDFs cleanly can still choke on certain DOCX files - convert to PDF first with headless LibreOffice, then retry, instead of failing the upload outright.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>TIL</category><category>Document AI</category><category>Azure</category><category>Backend</category></item><item><title>Taming the Dice</title><link>https://anupam.info/articles/taming-the-dice.html</link><guid isPermaLink="true">https://anupam.info/articles/taming-the-dice.html</guid><description>The complete field guide to LLM reliability, written for everyone from zero background to production. How language models actually work, why the same prompt gives different answers even at temperature 0 (including the 2025 batch-invariance finding), temperature vs top_p vs top_k defined with worked numbers, what seed and system_fingerprint really buy you, model-agnostic prompt engineering, structured outputs and constrained decoding, how to test any of it, and a tour of every other way these systems bite in production. Seven diagrams, thirty-one cited sources.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Determinism</category><category>Prompt Engineering</category><category>Reliability</category><category>For Everyone</category></item><item><title>Why Your RAG Pipeline Is Confidently Wrong</title><link>https://anupam.info/articles/why-your-rag-pipeline-is-confidently-wrong.html</link><guid isPermaLink="true">https://anupam.info/articles/why-your-rag-pipeline-is-confidently-wrong.html</guid><description>The failure modes that never show up in a demo - silent retrieval misses, semantic near-misses, stale embeddings, citation-answer mismatch - why &quot;it worked in testing&quot; is a trap without a retrieval trace, and a concrete reliability playbook from two production RAG systems.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate><category>RAG</category><category>LLM</category><category>Production Engineering</category></item><item><title>The Illusion of Safety</title><link>https://anupam.info/perspectives/the-illusion-of-safety.html</link><guid isPermaLink="true">https://anupam.info/perspectives/the-illusion-of-safety.html</guid><description>On the wall we build around our own comfort, the thin membrane that actually protects it, and what&apos;s still ours to control once that wall finally tears - plus a concrete idea for accountability that&apos;s hard to silence.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>Perspective</category></item><item><title>Same Prompt, Different Answer</title><link>https://anupam.info/articles/llm-determinism-and-trust.html</link><guid isPermaLink="true">https://anupam.info/articles/llm-determinism-and-trust.html</guid><description>Why LLM output determinism is a legal problem, what Azure OpenAI&apos;s seed and system_fingerprint actually guarantee (less than you&apos;d hope), why AWS Bedrock has no equivalent for text models, a practical audit-logging playbook, and an honest opinion on building on something that&apos;s fundamentally guessing the next word. Scrollable field notes with real vendor docs cited.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Reliability</category><category>Legal Tech</category></item><item><title>The War of the Agents: Mid-2026 Check-in</title><link>https://anupam.info/articles/war-of-the-agents.html</link><guid isPermaLink="true">https://anupam.info/articles/war-of-the-agents.html</guid><description>A deep dive into GPT-5.6 Sol Ultra, Claude 5 Fable/Mythos, and Gemini 3.1. We look past the heavily gamed Terminal-Bench 2.1 scores to see what these frontier models actually mean for everyday developers, and why the community is pushing back on &quot;safety-gated&quot; reasoning capabilities.</description><pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate><category>AI Agents</category><category>GPT-5.6</category><category>Claude 5</category><category>Gemini 3.1</category><category>Industry Opinion</category></item><item><title>The Everyday AI Playbook</title><link>https://anupam.info/articles/everyday-ai-playbook.html</link><guid isPermaLink="true">https://anupam.info/articles/everyday-ai-playbook.html</guid><description>How to make AI save you real hours - whether you&apos;re a student, a doctor, a researcher, running a business, or just getting through your to-do list. A developer&apos;s field guide to the durable habits behind good AI use: the right mindset, per-track use cases, the two skills that decide whether any of it works, and how to stay out of the trap where AI quietly costs you more than it saves. Scrollable, illustrated guide.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>AI</category><category>Productivity</category><category>For Everyone</category></item><item><title>Maximum Output with Claude Code</title><link>https://anupam.info/articles/maximum-output-with-claude-code.html</link><guid isPermaLink="true">https://anupam.info/articles/maximum-output-with-claude-code.html</guid><description>A field guide to running AI like a system, not a chat box - persistent context, a research-first planning gate, controlled execution with subagents, and the two human checkpoints that catch what automation can&apos;t. Scrollable, illustrated walkthrough.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>Claude Code</category><category>AI Workflow</category><category>Productivity</category></item></channel></rss>