<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://www.sku20.dev/</loc></url><url><loc>https://www.sku20.dev/about/</loc></url><url><loc>https://www.sku20.dev/blog/</loc></url><url><loc>https://www.sku20.dev/blog/ai-agents-and-the-refactoring-loop/</loc></url><url><loc>https://www.sku20.dev/blog/another-russian-doll-in-go/</loc></url><url><loc>https://www.sku20.dev/blog/avoid-linux/</loc></url><url><loc>https://www.sku20.dev/blog/betting-on-nat64-over-a-proxy/</loc></url><url><loc>https://www.sku20.dev/blog/choosing-blog-cms/</loc></url><url><loc>https://www.sku20.dev/blog/decoupling-blobs-a-zero-downtime-migration-from-mongodb-to-gcs/</loc></url><url><loc>https://www.sku20.dev/blog/double-encoded-strings-and-the-normalization-of-stupidity/</loc></url><url><loc>https://www.sku20.dev/blog/exorcising-a-haunted-keyboard/</loc></url><url><loc>https://www.sku20.dev/blog/ghost-connection-redis-pubsub/</loc></url><url><loc>https://www.sku20.dev/blog/how-smart-is-ai/</loc></url><url><loc>https://www.sku20.dev/blog/hunting-for-a-udp-load-balancer/</loc></url><url><loc>https://www.sku20.dev/blog/java-exceptions-swallowed/</loc></url><url><loc>https://www.sku20.dev/blog/local-development-with-strapi/</loc></url><url><loc>https://www.sku20.dev/blog/migrating-to-kotlin-with-claude-code/</loc></url><url><loc>https://www.sku20.dev/blog/modernizing-a-4-year-old-github-actions-pipeline/</loc></url><url><loc>https://www.sku20.dev/blog/mongodb/</loc></url><url><loc>https://www.sku20.dev/blog/negotiating-with-jool/</loc></url><url><loc>https://www.sku20.dev/blog/optimizing-hex-formatting/</loc></url><url><loc>https://www.sku20.dev/blog/premature-abstraction-code-review-and-ai/</loc></url><url><loc>https://www.sku20.dev/blog/reversing-sleeping-dogs-with-ghidra-and-claude/</loc></url><url><loc>https://www.sku20.dev/blog/shopping-for-a-vm/</loc></url><url><loc>https://www.sku20.dev/blog/singleton-services-and-the-russian-doll-pattern/</loc></url><url><loc>https://www.sku20.dev/blog/the-100ms-password/</loc></url><url><loc>https://www.sku20.dev/blog/the-cargo-cult-of-linkedin-engineering/</loc></url><url><loc>https://www.sku20.dev/blog/the-ghost-connection-ii-the-poisoned-pool/</loc></url><url><loc>https://www.sku20.dev/blog/threadlocal-optimizations-and-project-loom/</loc></url><url><loc>https://www.sku20.dev/blog/udp-echo-server/</loc></url><url><loc>https://www.sku20.dev/blog/what-is-ratelimiting/</loc></url><url><loc>https://www.sku20.dev/blog/zero-downtime-iptables/</loc></url><url><loc>https://www.sku20.dev/cv/</loc></url><url><loc>https://www.sku20.dev/resume/</loc></url></urlset>