<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://www.adrosenfeld.com/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/log-injection/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/python/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/red-team/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-03-14-red-teaming-security-utilities/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/security/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/sql-injection/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/testing/</loc><lastmod>2026-03-14T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-03-07-building-an-elixir-learning-repo/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/education/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/elixir/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/functional-programming/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/learning/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/otp/</loc><lastmod>2026-03-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/autonomous-agents/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/claude-code/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/observability/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/post-mortem/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/ralph-docker/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/token-management/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-02-16-when-your-agent-burns-71-percent-of-your-tokens/</loc><lastmod>2026-02-16T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/developer-experience/</loc><lastmod>2026-02-12T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-02-12-plug-and-play-ralph-docker-setup/</loc><lastmod>2026-02-12T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-02-09-chasing-overflow-down-the-css-rabbit-hole/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/code-review/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/concurrency/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/css/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/debugging/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/go/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/hugo/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/rabbitmq/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/responsive-design/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-02-09-reviewing-and-fixing-four-prs-in-one-session/</loc><lastmod>2026-02-09T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/agents/</loc><lastmod>2026-02-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2026-02-07-building-an-agent-orchestrator-from-scratch/</loc><lastmod>2026-02-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/design-patterns/</loc><lastmod>2026-02-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/oop/</loc><lastmod>2026-02-07T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/automation/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/c/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-12-13-implementing-calloc-overflow-protection/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/malloc/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/memory-management/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/meta/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-12-13-meta-improving-the-blogging-workflow/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/overflow-protection/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/tooling/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/workflow/</loc><lastmod>2025-12-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/algorithms/</loc><lastmod>2025-12-06T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/computer-science/</loc><lastmod>2025-12-06T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/graphs/</loc><lastmod>2025-12-06T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-12-06-learning-graph-algorithms-with-claude/</loc><lastmod>2025-12-06T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/ai/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/claude/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/documentation/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/game-development/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-22-improving-blog-workflow-independent-perspectives/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/p5js/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/pedagogy/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/process/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/teaching/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-22-teaching-with-ai-thanksgiving-game-hackathon/</loc><lastmod>2025-11-22T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/abc-notation/</loc><lastmod>2025-11-17T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/experiments/</loc><lastmod>2025-11-17T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/midi/</loc><lastmod>2025-11-17T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-17-midi-to-notation-experiments/</loc><lastmod>2025-11-17T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/music-tech/</loc><lastmod>2025-11-17T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/assembly/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-15-learning-to-think-in-assembly/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/low-level-programming/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/mscs/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/qwasar/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/x86-64/</loc><lastmod>2025-11-15T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-13-building-custom-claude-code-commands/</loc><lastmod>2025-11-13T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-12-interactive-music-composition-chat/</loc><lastmod>2025-11-11T20:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/creativity/</loc><lastmod>2025-11-11T20:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/openai/</loc><lastmod>2025-11-11T20:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/bloat-removal/</loc><lastmod>2025-11-11T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-11-code-cleanup-and-optimization/</loc><lastmod>2025-11-11T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/optimization/</loc><lastmod>2025-11-11T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/tags/web-performance/</loc><lastmod>2025-11-11T09:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/blog/2025-11-10-launching-horn-call/</loc><lastmod>2025-11-10T14:00:00-08:00</lastmod></url><url><loc>https://www.adrosenfeld.com/opensource/</loc><lastmod>2025-11-10T00:00:00+00:00</lastmod></url><url><loc>https://www.adrosenfeld.com/categories/</loc></url></urlset>