<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://hanishrao.me/</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://hanishrao.me/notes</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hanishrao.me/maps</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://hanishrao.me/graph</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=api-design</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=developer-experience</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=distributed-systems</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=identity</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=linux</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=music</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes?domain=tools</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/an-access-token-is-not-proof-of-identity</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/ffmpeg-how-to-do-almost-anything</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/how-to-do-anything-with-audio</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/inspecting-a-running-linux-system</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/loading-files-on-the-korg-pa1000</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/modding-the-korg-pa50-floppy-to-usb</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/oidc-authorization-code-flow-with-pkce</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/sharing-usb-devices-over-the-network-with-usbip</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/identity</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/linux</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/music</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/auto-updating-docker-containers-with-watchtower</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/recovering-files-with-testdisk-and-photorec</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/self-hosting-9router-llm-gateway</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/self-hosting-rustpad-behind-traefik</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/self-hosting-vaultwarden-behind-traefik</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/traefik-v3-reverse-proxy-setup</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/web-ssh-with-sshwifty-behind-traefik</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/tools</loc>
<lastmod>2026-07-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/index</loc>
<lastmod>2026-07-04</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/distributed-systems</loc>
<lastmod>2025-07-04</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/developer-experience</loc>
<lastmod>2025-07-03</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/idempotency-is-a-property-not-a-mechanism</loc>
<lastmod>2025-07-02</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/make-any-project-agent-ready</loc>
<lastmod>2025-07-02</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/a-shared-database-is-distributed-coupling-in-disguise</loc>
<lastmod>2025-07-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/retries-without-backoff-turn-a-blip-into-an-outage</loc>
<lastmod>2025-06-30</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/onboarding-a-human-and-onboarding-an-ai-are-the-same-problem</loc>
<lastmod>2025-06-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/the-outbox-pattern-gets-you-at-least-once-without-a-shared-database</loc>
<lastmod>2025-06-26</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/at-least-once-delivery-makes-deduplication-your-job</loc>
<lastmod>2025-06-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/a-circuit-breaker-protects-the-caller-not-the-callee</loc>
<lastmod>2025-06-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/cache-invalidation-fails-at-boundaries-you-dont-own</loc>
<lastmod>2025-06-18</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/a-queue-is-a-loan-against-future-capacity</loc>
<lastmod>2025-06-12</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hanishrao.me/notes/timeouts-are-a-design-decision-not-a-default</loc>
<lastmod>2025-05-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
