<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel><title>Engineering Notes</title><link>https://akibullah.github.io/engineering-notes/</link><atom:link href="https://akibullah.github.io/engineering-notes/feed.xml" rel="self" type="application/rss+xml"/><description>Deep dives into the design decisions, trade-offs and tests behind my open-source backend projects: payments, queues, rate limiting, auth, retrieval and agents.</description><language>en</language><lastBuildDate>Sun, 25 Oct 2026 09:00:00 +0000</lastBuildDate><item><title>Running webhook workers in parallel without double delivery</title><link>https://akibullah.github.io/engineering-notes/posts/parallel-webhook-workers-skip-locked/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/parallel-webhook-workers-skip-locked/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>How webhook-relay lets several workers share one PostgreSQL queue with FOR UPDATE SKIP LOCKED, claim leases and crash recovery, and the test that fails the moment the lock is removed.</description><category>postgresql</category><category>distributed-systems</category><category>python</category><category>reliability</category></item><item><title>Measuring retrieval instead of guessing</title><link>https://akibullah.github.io/engineering-notes/posts/measuring-rag-retrieval/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/measuring-rag-retrieval/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>What rag-eval-lab learned by scoring three chunkers against four retrievers on a bilingual English and Bangla help centre, how evidence spans make the comparison fair, and where the numbers should not be trusted.</description><category>rag</category><category>information-retrieval</category><category>evaluation</category><category>bangla</category></item><item><title>Guardrails that don&#x27;t trust the model</title><link>https://akibullah.github.io/engineering-notes/posts/guardrails-that-dont-trust-the-model/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/guardrails-that-dont-trust-the-model/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>How ai-support-agent lets a language model call refund and address tools without letting it authorise anything, and the ablation run where 46 of 53 scenarios still pass with the soft guardrails off and no money moves.</description><category>ai-agents</category><category>llm</category><category>security</category><category>evals</category></item><item><title>Five rate-limiting algorithms, one Lua script each</title><link>https://akibullah.github.io/engineering-notes/posts/five-rate-limiting-algorithms/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/five-rate-limiting-algorithms/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>Token bucket, fixed window, sliding log, sliding window counter and GCRA side by side in rate-limiter-service, why every Redis step is a single Lua script, and what the benchmark table actually tells you.</description><category>redis</category><category>rate-limiting</category><category>algorithms</category><category>python</category></item><item><title>Idempotency keys done properly in a payment API</title><link>https://akibullah.github.io/engineering-notes/posts/idempotency-keys-payment-gateway/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/idempotency-keys-payment-gateway/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>Replaying stored responses, rejecting a reused key with a different body, committing the receipt with the charge, plus the state machine and integer money that make retries safe in fastapi-payment-gateway.</description><category>payments</category><category>fastapi</category><category>idempotency</category><category>fintech</category></item><item><title>Refresh-token rotation with reuse detection, and tenancy in one dependency</title><link>https://akibullah.github.io/engineering-notes/posts/refresh-token-rotation-tenant-isolation/</link><guid isPermaLink="true">https://akibullah.github.io/engineering-notes/posts/refresh-token-rotation-tenant-isolation/</guid><pubDate>Sun, 25 Oct 2026 09:00:00 +0000</pubDate><description>How multi-tenant-saas-auth rotates refresh tokens in families so a replayed token logs out the thief and nobody else, and how one FastAPI dependency answers &quot;which tenant, with what permissions&quot; for every route.</description><category>authentication</category><category>security</category><category>fastapi</category><category>multi-tenancy</category></item></channel>
</rss>
