<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Nitin Joshi — notes</title><description>Principal Engineer building payment systems in Mumbai. Notes on what I learn, and the things I love outside work.</description><link>https://nitinjoshi.pages.dev/</link><item><title>GraalVM native image gotchas</title><link>https://nitinjoshi.pages.dev/notes/graalvm-native-image-gotchas/</link><guid isPermaLink="true">https://nitinjoshi.pages.dev/notes/graalvm-native-image-gotchas/</guid><description>Native images start in milliseconds and use a fraction of the memory, but the closed-world assumption bites in surprising places.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>java</category><category>graalvm</category><category>performance</category><category>wip</category><category>sample</category></item><item><title>How Kafka consumer group rebalancing works</title><link>https://nitinjoshi.pages.dev/notes/consumer-group-rebalancing/</link><guid isPermaLink="true">https://nitinjoshi.pages.dev/notes/consumer-group-rebalancing/</guid><description>When a consumer joins or leaves a group, Kafka reassigns partitions across the remaining members. During an eager rebalance every consumer stops, gives up all…</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>kafka</category><category>distributed-systems</category><category>sample</category></item><item><title>Idempotent retries in payment systems</title><link>https://nitinjoshi.pages.dev/notes/idempotent-retries/</link><guid isPermaLink="true">https://nitinjoshi.pages.dev/notes/idempotent-retries/</guid><description>Why every payment API needs an idempotency key, and how to store it.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>system-design</category><category>payments</category><category>sample</category></item></channel></rss>