<?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.brunoscheufler.com/archive</loc><changefreq>daily</changefreq></url><url><loc>https://www.brunoscheufler.com/about</loc><changefreq>weekly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2026-07-05-my-next-chapter</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2025-12-31-looking-back-on-2025</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2025-12-22-bidirectional-markdown-syncing-for-ghost</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2025-12-22-on-picking-software</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/about</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2025-06-22-claude-code-is-the-chatgpt-moment-for-software-engineering</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-12-30-looking-back-on-2024</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-11-09-understanding-when-to-use-redis</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-08-31-the-first-120-days-at-inngest</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-07-04-enhancing-scalability-and-reducing-latency-without-missing-a-beat</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-06-30-restoring-go-errors-in-grpc</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-06-29-harnessing-the-power-of-go-interfaces</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-05-19-zero-downtime-migrations-in-producer-consumer-systems</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-05-19-derisking-product-rollouts-with-feature-flags</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-05-12-building-a-dns-message-parser</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-04-23-joining-inngest</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-04-03-building-a-hybrid-search-experience</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-02-11-building-outstanding-rich-text-experiences-with-prosemirror-and-react</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-02-04-reducing-python-memory-usage</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-01-28-scaling-generative-ai-adoption-with-software-engineering-principles</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2024-01-07-working-with-parsers-and-asts</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-12-31-looking-back-on-2023</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-12-17-learning-to-enjoy-trying-new-things-and-looking-stupid</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-12-10-on-competition</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-12-03-recording-better-demos</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-11-26-on-distraction-and-procrastination</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-11-20-product-versioning-for-fast-moving-teams</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-11-12-setting-up-hosted-macos-github-actions-workflows-for-electron-builds</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-11-05-releasing-electron-apps-for-macos</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-10-29-syncing-state-between-electron-contexts</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-10-22-go-embeds-and-json</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-09-03-looking-back-on-a-decade-in-software-engineering</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-08-30-building-canvas-based-web-applications</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-07-26-from-regression-to-neural-networks</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-07-09-writing-good-decks</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-07-02-designing-user-interfaces</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-06-18-on-the-future-of-coding-blogs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-05-13-instant-linux-vms-without-the-installation</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-04-30-reproducible-vms-for-local-development</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-04-23-extending-the-kubernetes-scheduler</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-03-26-adding-context-the-first-weeks</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-03-12-generating-subtitles-in-real-time-with-openai-whisper-and-pyaudio</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-03-01-the-os-for-building-products</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-02-05-improving-local-development-with-atlas</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-01-29-the-most-memorable-computer-science-education-is-applied</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-01-15-using-static-code-analysis-to-share-types-between-services</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2023-01-08-nested-flags-with-bitwise-operators</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-12-31-whats-next</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-12-26-looking-back-on-2022</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-12-18-calculating-rolling-billing-periods</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-12-11-storing-user-defined-attributes-in-clickhouse-with-nested-types</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-12-04-building-delightful-react-applications</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-11-27-indirection-is-the-antithesis-of-velocity</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-11-20-serializing-data-between-systems-anzu-values</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-11-06-betting-on-delightful-products</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-10-30-experiencing-how-big-companies-work</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-10-23-observations-on-successful-companies</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-10-10-offloading-execution-flow-to-the-database</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-10-02-running-untrusted-code-in-short-lived-environments</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-09-26-building-sortable-relations-with-postgresql</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-09-18-making-architects-work-in-software-teams</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-09-11-why-resource-management-wasnt-it</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-09-04-steady-state-means-continuous-rewriting</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-08-28-sharing-code-in-typescript-is-still-a-mess</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-08-21-balancing-normalization-and-revision-history</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-08-14-handling-long-running-jobs-with-aws-sqs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-08-07-deploying-containers-on-aws-ecs-using-the-sdk</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-07-24-reducing-database-round-trips-with-boring-queries</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-07-17-measuring-popularity</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-07-10-running-container-workloads-on-anzu-with-managed-containers</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-06-26-improving-cache-hit-ratios-with-connected-dataloaders</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-06-19-introducing-anzu-dev-environments</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-06-13-bridging-the-gap-between-the-cloud-and-your-codebase-with-anzu-services</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-06-05-deploying-docker-containers-over-ssh</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-05-22-modeling-polymorphic-relations-in-postgres</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-05-08-making-teams-move-faster-happier</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-04-24-required-github-actions-jobs-in-a-monorepo</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-04-17-routing-traffic-for-dynamic-deployments-using-traefik</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-04-09-the-required-github-status-check-that-wasnt</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-03-27-building-and-pushing-docker-images-within-github-actions</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-03-20-understanding-deferred-foreign-key-constraints-in-postgresql</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-03-13-looking-back-on-introduction-to-cs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-02-26-the-complexity-of-building-software-in-2022</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-02-20-getting-the-hang-of-polymorphism-in-object-oriented-languages</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-02-12-reviewing-user-generated-content-with-interactive-slack-messages</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-02-06-offloading-program-flow-into-postgresql-with-temporary-tables</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-01-30-layouting-across-platforms</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-01-23-important-rules-of-embedding-types-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-01-16-indexing-pages-programmatically-using-the-indexing-api</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-01-10-communicating-between-services-with-grpc</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2022-01-01-paginating-large-ordered-datasets-with-cursor-based-pagination</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-12-26-looking-back-on-2021</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-12-18-choosing-an-implementation-for-unique-ids</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-12-11-exploring-the-geometric-mean</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-12-05-decreasing-graph-complexity-with-transitive-reductions</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-11-27-scheduling-tasks-with-topological-sorting</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-11-20-running-untrusted-workloads-with-firecracker-and-containerd</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-11-14-solving-the-unexecutable-executable</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-11-07-accessing-workouts-with-healthkit-and-swift</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-10-31-reducing-saas-complexity</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-10-23-infrastructure-as-code-as-single-source-of-truth</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-10-17-updating-notion-pages-on-a-schedule-with-github-actions</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-10-09-generating-dynamic-github-actions-workflows-with-the-job-matrix-strategy</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-10-03-preview-environments-for-every-pull-request</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-09-26-containers-as-code-with-pulumi-and-docker</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-09-19-cutting-production-release-duration-by-80-percent</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-09-12-implementing-transactions-with-side-effects</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-09-03-an-introduction-to-r</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-08-27-communicating-between-java-and-go-using-grpc</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-08-22-built-it-but-nobody-came</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-08-15-analyzing-blog-performance-using-r</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-08-08-setting-up-algolia-docsearch-with-nextjs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-08-01-multi-stage-markdown-processing-with-remark</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-07-25-improving-dataloader-stack-traces</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-07-18-transforming-exponents-radicals-fractions</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-07-11-motivating-employees-with-stock-options</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-07-04-shorter-typescript-feedback-loops-with-esbuild</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-06-27-designing-apis-to-last</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-06-19-observing-websocket-infrastructure-with-socket-inspector</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-06-07-rendering-remote-images-with-asyncimage</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-06-05-versioning-features-for-sustainable-product-evolution</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-06-01-improving-content-discoverability-with-topics</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-31-locking-and-synchronization-for-nodejs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-26-a-primer-on-sso-with-saml</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-22-picking-monitoring-methods-to-increase-observability</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-16-improving-observability-with-build-information</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-13-sending-contact-form-submissions-to-notion</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-09-improving-releases-with-service-splitting</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-05-02-running-a-commit-based-release-infrastructure</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-04-24-my-2021-swift-student-challenge-submission</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-04-18-processing-markdown-with-remark-and-unified-plugins</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-04-11-the-future-of-multiplayer-cloudflare-durable-objects</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-04-01-swiftui-meets-swift-playgrounds</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-03-23-visualize-regressions-with-playwright-video-recording</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-03-18-when-velocity-implies-simplicity</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-03-10-efficient-caching-with-reduced-roundtrips</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-03-04-one-semester-in</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-02-26-preventing-increasing-fragmentation</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-02-21-full-stack-insights-with-newrelic</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-02-12-managing-user-media-assets</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-02-04-graphql-powered-integration-tests</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-01-28-exploring-state-state-machines</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-01-22-finding-the-first-iteration</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-01-17-centralized-validation-with-graphql-scalar-types</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-01-10-deliver-context-aware-navigation-with-push-evaluation</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2021-01-05-building-functional-stack-navigation</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-12-30-introducing-stapel</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-12-29-looking-back-on-2020</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-12-22-multiple-app-environments-using-xcode-schemes</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-12-13-supporting-universal-links-with-swiftui</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-12-07-apns-environments-and-push-notifications</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-29-its-about-time</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-23-preview-driven-development-with-swiftui</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-18-state-and-view-composition-in-swiftui</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-15-scraping-country-codes</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-12-boring-technologies-reliable-foundations</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-09-getting-into-ios-development-with-swiftui</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-05-starting-lasting-side-projects</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-11-02-the-pace-of-studying-in-2020</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-30-when-not-to-use-pg-dump</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-28-building-productive-habits</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-23-digitizing-my-maths-studies-with-tex</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-20-rebuilding-my-portfolio-using-nextjs-tailwind</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-16-my-favorite-tools-in-2020</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-13-reaching-remote-acceptance</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-10-04-rapid-typescript-development-with-esbuild-estrella</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-09-19-public-image-registries-end-of-an-era</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-09-12-common-go-application-development-pitfalls</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-09-01-fundamental-design-decisions-for-scalable-systems</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-08-28-forwarding-emails-with-ses</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-08-16-building-github-apps</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-08-03-seamless-browser-tests-with-qawolf</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-07-31-aws-ecs-task-metadata</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-07-26-tunneling-local-applications-with-ssh-caddy</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-07-22-handling-graphql-errors-using-sentry</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-07-17-the-weirdest-error-i-ever-debugged</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-07-04-documenting-design-decisions-using-rfcs-and-adrs</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-06-26-scaling-release-systems</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-06-20-ship-early-and-ship-often</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-06-14-getting-started-with-building-macos-electron-apps</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-06-07-picking-the-perfect-serif-typeface</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-05-31-bootstrapping-a-portable-cypress-setup-for-blazing-fast-browser-tests</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-05-24-the-case-for-electron</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-05-16-deno-and-the-future-of-node</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-05-09-building-a-testing-culture</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-04-26-managing-your-infrastructure-as-code-with-pulumi</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-04-25-setting-up-graphql-data-fetching-react</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-04-12-building-go-test-suites-using-testify</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-04-11-verifying-asymmetrically-signed-jwts-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-04-05-building-composable-go-applications-with-interfaces</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-29-conquering-randomness-with-composable-go-application-design</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-28-testing-web-applications-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-22-recovering-http-handlers-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-21-browser-only-react-components-with-suspense</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-15-redesigning-my-portfolio-for-2020</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-08-configuring-jest-snapshot-resolvers</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-03-01-real-time-postgres-change-streaming-with-lode</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-02-23-deadlock-relations-with-deferred-constraints</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-02-16-complex-upserts-in-postgres</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-02-14-supercharging-jest-with-custom-reporters</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-02-08-conditional-inserts-in-postgres</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-01-19-building-an-authoritative-dns-nameserver</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2020-01-05-global-service-deployments-with-anycast-bgp</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-12-28-goodbye-2019-welcome-2020</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-12-22-building-and-hosting-my-metrics</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-12-04-go-snapshot-tests</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-11-17-scaling-network-concurrency-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-11-03-understanding-the-go-context</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-10-27-tinkering-with-wireguard-deployments</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-09-21-parallelized-batch-processing-in-go</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-09-12-graphql-day-bodensee-recap</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-09-01-handling-concurrent-go-workflows</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-08-17-javascript-generators-and-what-theyre-used-for</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-08-11-inspecting-k8s-logs-with-kail</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-07-28-boost-team-dx-with-formatted-git-commits</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-07-11-jamstack-conf-london-recap</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-06-26-graphql-conf-prisma-day-retro</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-06-09-automating-open-source-projects-with-ci-cd</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-06-02-accessing-k8s-services-locally-using-kubefwd</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-05-19-reaching-consensus-graphql-input-union</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-05-12-whats-next</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-04-26-choosing-the-right-go-web-framework</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-04-10-debugging-google-cloud-pubsub</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-03-24-lifecycle-of-side-projects-early-stages</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-03-17-updating-your-github-status-with-ghstatus</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-03-03-state-of-graphql-golang</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-02-28-setting-up-k8s-dashboard</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-02-22-provisioning-k8s-cluster</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-02-13-empowering-ci-cd-workflows-with-compose-deploy</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-02-09-simplifying-docker-deployments-with-compose-deploy</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-02-01-bootstrapping-local-k8s-clusters-using-kind</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-01-27-introducing-aqueduct</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-01-20-introducing-graphql-middleware-jaeger</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2019-01-19-adding-jaeger-tracing-to-node-gql-services</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url><url><loc>https://www.brunoscheufler.com/p/2018-12-22-designing-my-new-portfolio</loc><lastmod>2026-09-16</lastmod><changefreq>monthly</changefreq></url></urlset>