<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"><url><loc>https://vvek.io/</loc></url><url><loc>https://vvek.io/blog/</loc><lastmod>2026-11-08</lastmod></url><url><loc>https://vvek.io/guide/</loc></url><url><loc>https://vvek.io/privacy/</loc></url><url><loc>https://vvek.io/terms/</loc></url><url><loc>https://vvek.io/blog/code-review-that-helps-approve-what-improves-the-code-save-the-nitpicks-for-late/</loc><lastmod>2026-11-08</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b8ae-fbc7-7242-9bd3-7729918dda36.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/rate-limits-from-both-sides-handling-429-responses-and-limiting-your-own-api/</loc><lastmod>2026-11-08</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b8ae-f069-774a-9ed5-c2c17efc38c1.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/sql-window-functions-per-group-answers-without-losing-your-rows/</loc><lastmod>2026-11-08</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b8ae-e291-751e-b3bc-6b28ece25f4a.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/a-job-queue-in-postgres-how-for-update-skip-locked-lets-workers-share-a-table/</loc><lastmod>2026-11-08</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b8ae-d65b-7ef2-8fe7-b40854302047.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/the-transactional-outbox-saving-data-and-sending-a-message-without-losing-either/</loc><lastmod>2026-11-08</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b8ae-cbf5-7e60-8bf1-06f97ce0e22f.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/blameless-postmortems-how-to-learn-from-an-incident-without-pointing-fingers/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b389-7202-759c-a7a5-ad1bd71621b9.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/trace-sampling-with-opentelemetry-head-or-tail-and-what-each-one-costs-you/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b49a-c420-7032-989a-f8683cac2f4a.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/evals-for-ai-agents-start-with-twenty-tasks-grade-the-outcome/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b389-0cae-742c-aecc-b8466f0b4537.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/prompt-caching-for-llm-apps-put-the-stable-parts-first-and-watch-the-usage-field/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b49a-b757-7e44-a7dd-b1f512116466.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/python-3-15-for-working-developers-lazy-imports-a-sampling-profiler-and-utf-8-by/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b388-9fe3-7ac0-8cf2-5496c867594c.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/kubernetes-probes-what-liveness-readiness-and-startup-checks-should-and-should-n/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b49a-adf4-7d22-9621-13753c5ffac7.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/connection-pooling-for-postgres-what-pgbouncer-s-pool-modes-change/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b388-3b98-7b72-8d84-99f8b56c1759.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/schema-changes-without-downtime-in-postgres-locks-not-valid-and-safer-migrations/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b49a-a4e7-7b0d-9f77-a1be11c2d5bb.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/architecture-decision-records-write-down-why-not-only-what/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b174-59dd-7c31-a7c1-f9a75eb4479e.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/giving-an-ai-agent-only-the-access-it-needs-a-least-privilege-checklist/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b173-e715-777f-9941-893727623481.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/go-1-27-in-practice-generic-methods-goroutine-leak-profiles-and-a-uuid-package/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b173-44f5-75fe-8aca-d19f4e46493c.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/reading-explain-analyze-a-practical-guide-to-postgres-query-plans/</loc><lastmod>2026-11-07</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a1b172-c899-7ab5-a0cc-b42b87ef31e5.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/postgresql-19-release-candidate-what-to-look-at-before-the-final-release/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19c7a-ce56-7861-a0f2-8c46ff80a97f.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/mcp-goes-stateless-what-the-2026-07-28-revision-changes-for-server-authors/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19c7a-b775-7a6d-abb9-6224f6b36750.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/row-level-security-in-postgres-a-practical-guide-to-isolating-tenants/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19c7a-c182-73f4-9285-a86ad466fb2e.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/idempotency-keys-making-retries-safe-in-any-api/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19c7a-d8d4-73a4-904b-63d2a8dc0290.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/workflow-or-agent-choosing-the-simplest-design-that-does-the-job/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19c7a-e5c4-796a-9be5-bdfda9d9be88.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/how-database-indexes-speed-up-reads-and-when-they-slow-down-writes/</loc><lastmod>2026-11-03</lastmod><image:image><image:loc>https://vvek.io/blog/images/01a19a52-a9c2-7c54-95d0-5e12513df8ec.png</image:loc></image:image></url><url><loc>https://vvek.io/blog/introducing-vvek/</loc><lastmod>2026-11-08</lastmod></url><url><loc>https://vvek.io/blog/every-agent-gets-its-own-vm/</loc><lastmod>2026-11-02</lastmod></url></urlset>