<?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://eddmann.com/archive/tag/agents/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/</loc><lastmod>2026-03-28T12:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/llm/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/personal-software/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pwa/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/weeknotes/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-pokehealth-pi-extensions-and-auto-research-with-c3/</loc><lastmod>2026-03-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/f1/</loc><lastmod>2026-03-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-f1-data-analysis-and-an-autonomous-agent-called-gravel/</loc><lastmod>2026-03-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/jeeves/</loc><lastmod>2026-03-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-harness-engineering-pwakit-documentation-and-marathon-reality-checks/</loc><lastmod>2026-03-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-week-one-with-a-newborn-and-an-ai-butler/</loc><lastmod>2026-03-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-pwakit-hybrid-memory-and-executable-markdown/</loc><lastmod>2026-02-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/testing/</loc><lastmod>2026-02-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-throwaway-tools-sessions-as-trees-and-building-a-personal-ai-assistant/</loc><lastmod>2026-02-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/swift/</loc><lastmod>2026-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-model-personalities-building-my-own-agent-and-two-schools-of-agentic-development/</loc><lastmod>2026-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/mcp/</loc><lastmod>2026-01-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/weeknotes-from-mcp-to-skills-buns-phpx-and-personal-software/</loc><lastmod>2026-01-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/garmin/</loc><lastmod>2025-10-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/python/</loc><lastmod>2025-10-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/running-mcps-everywhere-chatting-with-my-workouts/</loc><lastmod>2025-10-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/strava/</loc><lastmod>2025-10-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/contextual-movie-conversations-building-a-plex-mcp-server/</loc><lastmod>2025-10-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/laravel/</loc><lastmod>2025-10-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/plex/</loc><lastmod>2025-10-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/claude-code/</loc><lastmod>2025-09-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/cursor/</loc><lastmod>2025-09-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/santa-lang/</loc><lastmod>2025-09-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/santa-lang-workshop-exploring-agentic-llm-workflows-for-language-implementation/</loc><lastmod>2025-09-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/gpt5/</loc><lastmod>2025-09-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/improving-an-f1-picks-game-in-4-hours/</loc><lastmod>2025-09-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/php/</loc><lastmod>2025-09-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/serverless/</loc><lastmod>2025-09-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/lego/</loc><lastmod>2025-08-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/lego-f1-minifigure-scanner-a-quick-build-with-gpt-5-and-cursor/</loc><lastmod>2025-08-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/chessboard/</loc><lastmod>2025-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/esp32/</loc><lastmod>2025-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/my-first-pcb-design-prototyping-an-electronic-chessboard/</loc><lastmod>2025-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pcb/</loc><lastmod>2025-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/vibe-coding-a-chess-ui-building-on-the-esp32-with-cursor-and-lvgl/</loc><lastmod>2025-06-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/accessibility/</loc><lastmod>2025-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/css/</loc><lastmod>2025-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/how-rebuilding-my-blog-taught-me-to-love-css-again/</loc><lastmod>2025-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/html/</loc><lastmod>2025-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/hugo/</loc><lastmod>2025-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/android/</loc><lastmod>2025-03-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bridging-the-gap-between-android-native-functionality-and-javascript-web-applications/</loc><lastmod>2025-03-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/javascript/</loc><lastmod>2025-03-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/kotlin/</loc><lastmod>2025-03-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bridging-the-gap-between-ios-native-functionality-and-javascript-web-applications/</loc><lastmod>2025-03-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ios/</loc><lastmod>2025-03-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-audio-hugo-shortcode-for-local-and-remote-content/</loc><lastmod>2025-03-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/shortcode/</loc><lastmod>2025-03-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-video-hugo-shortcode-for-local-and-remote-content/</loc><lastmod>2025-03-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/chatgpt/</loc><lastmod>2025-03-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/how-i-used-chatgpt-to-fix-my-old-blog-posts-and-what-i-learned/</loc><lastmod>2025-03-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/aws/</loc><lastmod>2024-09-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/webhook-spy-a-super-simple-serverless-webhook-spy-service/</loc><lastmod>2024-09-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/exploring-nextjs-14-at-full-throttle-an-f1-picks-rebuild/</loc><lastmod>2024-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/nextjs/</loc><lastmod>2024-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/react/</loc><lastmod>2024-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-an-f1-picks-game-in-4-hours/</loc><lastmod>2024-08-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/microservices/</loc><lastmod>2024-06-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/notes/</loc><lastmod>2024-06-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/notes-monolith-to-microservices-by-sam-newman/</loc><lastmod>2024-06-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-choreographed-event-driven-workflow-with-aws-eventbridge/</loc><lastmod>2024-06-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/eda/</loc><lastmod>2024-06-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/serverless-transactional-outbox-pattern-two-practical-approaches/</loc><lastmod>2024-06-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/advent-of-code/</loc><lastmod>2024-01-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/solving-the-advent-of-code-2023-calendar-in-kotlin-and-swift/</loc><lastmod>2024-01-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-secret-santa-draw-pwa-in-react-and-typescript/</loc><lastmod>2023-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/typescript/</loc><lastmod>2023-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-running-calculator-pwa-in-react-and-typescript/</loc><lastmod>2023-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/interpreter/</loc><lastmod>2023-08-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/rewriting-the-santa-lang-interpreter-in-rust-part-4-distribution/</loc><lastmod>2023-08-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/rust/</loc><lastmod>2023-08-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/santa-lang-in-rust-series/</loc><lastmod>2023-08-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/rewriting-the-santa-lang-interpreter-in-rust-part-3-performance/</loc><lastmod>2023-08-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/rewriting-the-santa-lang-interpreter-in-rust-part-2-runtimes/</loc><lastmod>2023-08-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/rewriting-the-santa-lang-interpreter-in-rust-part-1-implementing-the-core/</loc><lastmod>2023-08-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/determining-your-closest-parkrun-alphabet-challenge-using-python-and-pandas/</loc><lastmod>2023-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/langchain/</loc><lastmod>2023-06-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/openai/</loc><lastmod>2023-06-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-langchain-agents-and-tools-to-answer-questions-on-the-nba-with-openai/</loc><lastmod>2023-06-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/postgres/</loc><lastmod>2023-05-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/qa-retrieval-augmented-generation-rag-with-langchain-and-postgres/</loc><lastmod>2023-05-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/chromadb/</loc><lastmod>2023-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/qa-retrieval-augmented-generation-rag-with-langchain-and-chroma/</loc><lastmod>2023-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/solving-the-advent-of-code-2022-calendar-using-my-own-programming-language-santa-lang/</loc><lastmod>2023-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/designing-santa-lang-a-language-for-solving-advent-of-code-puzzles/</loc><lastmod>2022-11-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/allocating-secret-santas-using-an-aws-step-function-workflow-and-every-available-lambda-runtime/</loc><lastmod>2022-11-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/lambda/</loc><lastmod>2022-11-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/step-function/</loc><lastmod>2022-11-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-serverless-wedding-photo-gallery-using-aws-lambda-s3-and-dynamodb/</loc><lastmod>2022-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/dynamodb/</loc><lastmod>2022-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/s3/</loc><lastmod>2022-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/c/</loc><lastmod>2022-06-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pico/</loc><lastmod>2022-06-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/solving-the-advent-of-code-2021-calendar-on-a-raspberry-pi-pico/</loc><lastmod>2022-06-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/solving-the-advent-of-code-2021-calendar-using-c-in-under-half-a-second/</loc><lastmod>2022-05-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/deploying-our-wedding-website-onto-a-raspberry-pi-kubernetes-cluster-using-k3s-and-helm/</loc><lastmod>2022-04-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/helm/</loc><lastmod>2022-04-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/kubernetes/</loc><lastmod>2022-04-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/raspberry-pi/</loc><lastmod>2022-04-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/containerising-the-datadog-agent-for-http-health-checks-using-digitalocean-app-platform-and-terraform/</loc><lastmod>2022-04-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/datadog/</loc><lastmod>2022-04-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/digitalocean/</loc><lastmod>2022-04-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/docker/</loc><lastmod>2022-04-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/terraform/</loc><lastmod>2022-04-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/can-you-name-that-aws-service/</loc><lastmod>2022-03-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ecs/</loc><lastmod>2022-03-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/fargate/</loc><lastmod>2022-03-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/managing-long-running-aws-fargate-ecs-tasks-within-your-serverless-project/</loc><lastmod>2022-03-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/bref/</loc><lastmod>2022-02-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/separating-out-the-lambda-bref-runtime-from-your-projects-composer-dependencies/</loc><lastmod>2022-02-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/email/</loc><lastmod>2022-02-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/github-actions/</loc><lastmod>2022-02-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/slack/</loc><lastmod>2022-02-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-github-actions-to-send-gone-live-release-notes-via-email-and-slack/</loc><lastmod>2022-02-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ddd/</loc><lastmod>2022-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/event-sourcing/</loc><lastmod>2022-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/our-wedding-website-three-years-in-the-making/</loc><lastmod>2022-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-secret-santa-allocator-and-sms-sender-using-a-raspberry-pi-pico-micropython-and-sim800l-module/</loc><lastmod>2021-11-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/micropython/</loc><lastmod>2021-11-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/sms/</loc><lastmod>2021-11-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-2fa-totp-generator-using-a-raspberry-pi-pico-and-micropython/</loc><lastmod>2021-10-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-rubik-cube-solver-using-rust-wasm-threejs-and-react/</loc><lastmod>2021-07-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/rubiks-cube/</loc><lastmod>2021-07-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/threejs/</loc><lastmod>2021-07-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-an-optimal-pocket-cube-solver-using-rust-wasm-threejs-and-react/</loc><lastmod>2021-07-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pocket-cube/</loc><lastmod>2021-07-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/rubik-cube/</loc><lastmod>2021-07-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-11-radioisotope-thermoelectric-generators/</loc><lastmod>2021-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/advent-of-code-2016/</loc><lastmod>2021-04-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-10-balance-bots/</loc><lastmod>2021-04-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-9-explosives-in-cyberspace/</loc><lastmod>2021-04-02T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-8-two-factor-authentication/</loc><lastmod>2021-03-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-7-internet-protocol-version-7/</loc><lastmod>2021-03-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-6-signals-and-noise/</loc><lastmod>2021-03-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-5-how-about-a-nice-game-of-chess/</loc><lastmod>2021-03-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-4-security-through-obscurity/</loc><lastmod>2021-03-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-3-squares-with-three-sides/</loc><lastmod>2021-03-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-2-bathroom-security/</loc><lastmod>2021-03-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2016-day-1-no-time-for-a-taxicab/</loc><lastmod>2021-03-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-25-let-it-snow/</loc><lastmod>2021-02-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/advent-of-code-2015/</loc><lastmod>2021-02-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-24-it-hangs-in-the-balance/</loc><lastmod>2021-02-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-23-opening-the-turing-lock/</loc><lastmod>2021-02-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-22-wizard-simulator-20xx/</loc><lastmod>2021-02-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-21-rpg-simulator-20xx/</loc><lastmod>2021-02-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-20-infinite-elves-and-infinite-houses/</loc><lastmod>2021-02-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-19-medicine-for-rudolph/</loc><lastmod>2021-02-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-18-like-a-gif-for-your-yard/</loc><lastmod>2021-02-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-17-no-such-thing-as-too-much/</loc><lastmod>2021-02-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-16-aunt-sue/</loc><lastmod>2021-02-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-15-science-for-hungry-people/</loc><lastmod>2021-02-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-14-reindeer-olympics/</loc><lastmod>2021-02-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-13-knights-of-the-dinner-table/</loc><lastmod>2021-02-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-12-jsabacusframework-io/</loc><lastmod>2021-02-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-11-corporate-policy/</loc><lastmod>2021-02-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-10-elves-look-elves-say/</loc><lastmod>2021-02-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-9-all-in-a-single-night/</loc><lastmod>2021-02-02T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-8-matchsticks/</loc><lastmod>2021-02-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-7-some-assembly-required/</loc><lastmod>2021-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-6-probably-a-fire-hazard/</loc><lastmod>2021-01-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-5-doesnt-he-have-intern-elves-for-this/</loc><lastmod>2021-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-4-the-ideal-stocking-stuffer/</loc><lastmod>2021-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-3-perfectly-spherical-houses-in-a-vacuum/</loc><lastmod>2021-01-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/data-structures/</loc><lastmod>2021-01-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-compound-set-in-typescript/</loc><lastmod>2021-01-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-2-i-was-told-there-would-be-no-math/</loc><lastmod>2021-01-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/advent-of-code-2015-day-1-not-quite-lisp/</loc><lastmod>2021-01-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-an-enigma-machine-in-haskell/</loc><lastmod>2020-11-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/enigma-machine/</loc><lastmod>2020-11-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/haskell/</loc><lastmod>2020-11-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/property-testing/</loc><lastmod>2020-11-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-an-enigma-machine-in-clojurescript/</loc><lastmod>2020-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/clojurescript/</loc><lastmod>2020-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/chess/</loc><lastmod>2020-11-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-react-based-chess-game-with-wasm-bots-in-typescript/</loc><lastmod>2020-11-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/wasm/</loc><lastmod>2020-11-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/binary-addition-using-half-and-full-adders-within-typescript/</loc><lastmod>2020-11-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/logic/</loc><lastmod>2020-11-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/reagent/</loc><lastmod>2020-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/the-mystery-calculator-in-clojurescript-and-reagent/</loc><lastmod>2020-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-nokia-composer-rtttl-player-and-wav-file-generator-in-the-browser/</loc><lastmod>2020-10-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/web-audio/</loc><lastmod>2020-10-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/allocating-and-notifying-secret-santas-via-email-using-clojure/</loc><lastmod>2020-10-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/clojure/</loc><lastmod>2020-10-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/secret-santa/</loc><lastmod>2020-10-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/contact-tracing/</loc><lastmod>2020-10-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-contact-tracing-scanner-using-swift-for-macos/</loc><lastmod>2020-10-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/macos/</loc><lastmod>2020-10-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-contact-tracing-scanner-using-web-bluetooth/</loc><lastmod>2020-10-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/web-bluetooth/</loc><lastmod>2020-10-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-flag-guessing-game-using-react-hooks/</loc><lastmod>2019-05-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/adding-running-shoes-aka-speeding-up-walking-in-pokered/</loc><lastmod>2019-04-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/assembly-code/</loc><lastmod>2019-04-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pokemon/</loc><lastmod>2019-04-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/retro-gaming/</loc><lastmod>2019-04-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/changing-the-starter-pokemon-within-pokered/</loc><lastmod>2019-04-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-time-lapse-camera-with-hypriotos-docker-using-a-raspberry-pi-3b-plus-and-raspberry-pi-zero-w/</loc><lastmod>2019-02-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/allocating-secret-santas-with-a-substitution-cipher-using-clojure/</loc><lastmod>2019-02-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/compiling-pokered-using-docker-and-adding-super-b-button-behaviour/</loc><lastmod>2019-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/unlocking-tsunekazu-ishiharas-team-in-pokered/</loc><lastmod>2019-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-viewing-and-removing-mince-pies-with-amazon-dynamodb/</loc><lastmod>2018-10-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/mince-pie-challenge-series/</loc><lastmod>2018-10-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-command-line-application-to-fetch-url-titles-in-go/</loc><lastmod>2018-08-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/go/</loc><lastmod>2018-08-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-adding-and-listing-mince-pies-with-amazon-dynamodb/</loc><lastmod>2018-08-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/how-to-expand-a-linux-aws-ebs-root-partition-volume-without-rebooting/</loc><lastmod>2018-08-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/linux/</loc><lastmod>2018-08-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/caddy/</loc><lastmod>2018-08-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/packer/</loc><lastmod>2018-08-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/setting-up-caddy-server-within-aws-using-packer-and-terraform/</loc><lastmod>2018-08-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-adding-the-bootstrap-endpoint-and-serverless-offline/</loc><lastmod>2018-07-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/babel/</loc><lastmod>2018-07-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/building-a-babel-plugin-adding-a-function-composition-operator-and-auto-curried-functions-to-javascript/</loc><lastmod>2018-07-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/jest/</loc><lastmod>2018-07-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-adding-test-coverage-using-jest-and-travis-ci/</loc><lastmod>2018-07-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/flow/</loc><lastmod>2018-07-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-setting-up-flow-with-babel-and-webpack/</loc><lastmod>2018-07-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/webpack/</loc><lastmod>2018-07-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/cognito/</loc><lastmod>2018-06-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-authentication-with-amazon-cognito-and-json-web-tokens/</loc><lastmod>2018-06-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/security/</loc><lastmod>2018-06-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-setting-up-the-serverless-framework-with-docker-webpack-and-babel/</loc><lastmod>2018-06-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-designing-the-restful-api-with-raml/</loc><lastmod>2018-06-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/raml/</loc><lastmod>2018-06-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/rest/</loc><lastmod>2018-06-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mince-pie-challenge-building-a-serverless-restful-api-and-react-client/</loc><lastmod>2018-06-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/determining-if-an-ipv4-address-is-within-a-cidr-range-in-javascript/</loc><lastmod>2018-06-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/insight-into-site-reliability-engineering-with-niall-murphy/</loc><lastmod>2018-05-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/sre/</loc><lastmod>2018-05-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/cloudfront/</loc><lastmod>2018-01-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/lambda-edge/</loc><lastmod>2018-01-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/setting-up-github-pages-https-custom-domains-using-cloudfront-and-lambda-edge/</loc><lastmod>2018-01-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/unlocking-the-aws-waf-logs/</loc><lastmod>2018-01-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/waf/</loc><lastmod>2018-01-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-winning-audio-lambda-service-using-serverless-polly-and-compiled-sox/</loc><lastmod>2017-12-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/memes-as-a-service-using-lambda-serverless-and-imagemagick/</loc><lastmod>2017-12-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/cloudwatch/</loc><lastmod>2017-11-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ec2/</loc><lastmod>2017-11-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/scheduling-ec2-instances-using-lambda-and-cloudwatch-events/</loc><lastmod>2017-11-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/bitcoin/</loc><lastmod>2017-11-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bitcoin-internals-verifying-merkle-roots-using-merkle-proofs-in-javascript/</loc><lastmod>2017-11-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bitcoin-internals-how-blocks-use-merkle-trees-in-javascript/</loc><lastmod>2017-11-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/homebrew/</loc><lastmod>2017-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/scripting/</loc><lastmod>2017-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-homebrew-to-manage-project-development-scripts/</loc><lastmod>2017-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/handling-retries-and-back-off-attempts-with-javascript-promises/</loc><lastmod>2017-04-21T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/managing-newlines-and-unicode-within-javascript-and-php/</loc><lastmod>2016-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/designing-immutable-concepts-with-transient-mutation-in-php/</loc><lastmod>2016-12-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/managing-background-processes-within-symfony/</loc><lastmod>2016-12-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/supervisor/</loc><lastmod>2016-12-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/symfony/</loc><lastmod>2016-12-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-constraint-based-ordering-in-php/</loc><lastmod>2016-11-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/throttling-and-debouncing-function-invocation-in-javascript/</loc><lastmod>2016-11-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/avl-trees-in-clojure/</loc><lastmod>2016-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/functional-programming/</loc><lastmod>2016-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/algorithms/</loc><lastmod>2016-08-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/anagram-solver-in-clojure/</loc><lastmod>2016-08-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/an-array-column-re-indexing-trick-in-php/</loc><lastmod>2016-06-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/maybe-in-javascript/</loc><lastmod>2016-06-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/generating-podcast-stats-in-php/</loc><lastmod>2016-06-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/understanding-de-morgans-laws-to-simplify-propositions/</loc><lastmod>2016-06-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/postgresql/</loc><lastmod>2016-04-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/sql/</loc><lastmod>2016-04-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/you-should-switch-to-postgresql-my-conversation-with-adam-wathan-on-full-stack-radio/</loc><lastmod>2016-04-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/validating-32-bit-integers-using-php/</loc><lastmod>2016-04-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/binary-octal-hexadecimal-to-decimal-using-collection-pipelines-in-javascript/</loc><lastmod>2016-04-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/operations-on-a-deck-of-cards-in-postgresql/</loc><lastmod>2016-04-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-transpose-and-zip-in-javascript/</loc><lastmod>2016-04-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-the-is-not-distinct-from-sql-comparators/</loc><lastmod>2016-03-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/map-filter-combination-in-php/</loc><lastmod>2016-03-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/maintaining-invariant-constraints-in-postgresql-using-trigger-functions/</loc><lastmod>2016-03-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mapping-filtering-and-reducing-in-php/</loc><lastmod>2016-03-02T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bringing-back-the-blink-tag-using-javascript/</loc><lastmod>2016-02-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/handling-time-dependent-state-recording-using-react/</loc><lastmod>2016-02-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/insertion-sort-in-clojure/</loc><lastmod>2016-02-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bubble-sort-in-clojure-again/</loc><lastmod>2016-02-21T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/bubble-sort-in-clojure/</loc><lastmod>2016-02-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/handling-array-equality-in-php/</loc><lastmod>2016-02-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/promisifying-error-first-asynchronous-callbacks-in-javascript/</loc><lastmod>2016-02-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-generators-for-promise-coroutines-in-javascript/</loc><lastmod>2016-02-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/fetching-link-titles-using-promises-and-async-await-in-javascript/</loc><lastmod>2016-02-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/arrow-functions-lexical-this-scoping-in-javascript/</loc><lastmod>2016-02-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mimicking-named-parameters-in-javascript/</loc><lastmod>2016-02-02T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/undefined-variable-checks-in-javascript/</loc><lastmod>2016-02-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-cancelable-promise-in-javascript/</loc><lastmod>2016-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-multiple-arrays-with-array-map-in-php/</loc><lastmod>2016-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-ipersistentset-compatible-binary-tree-in-clojure/</loc><lastmod>2016-01-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-promise-all-and-promise-race-in-javascript/</loc><lastmod>2016-01-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/exploring-multi-methods-in-clojure/</loc><lastmod>2016-01-21T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/binary-search-trees-in-clojure/</loc><lastmod>2016-01-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/recreating-let-using-a-macro-in-clojure/</loc><lastmod>2016-01-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/checking-for-balanced-parentheses-in-clojure/</loc><lastmod>2016-01-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/conditional-expressions-in-postgresql/</loc><lastmod>2016-01-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/quicksort-in-clojure/</loc><lastmod>2016-01-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/even-higher-trampolining-in-javascript/</loc><lastmod>2016-01-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/recursive-functions-using-a-trampoline-in-clojure/</loc><lastmod>2016-01-07T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/recursive-functions-using-a-trampoline-in-javascript/</loc><lastmod>2016-01-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mergesort-in-clojure-using-post-conditionals/</loc><lastmod>2016-01-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/infix-calculator-in-clojure/</loc><lastmod>2016-01-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/fizzbuzz-in-clojure/</loc><lastmod>2015-12-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/asynchronous-calls-within-flux/</loc><lastmod>2015-10-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/flux/</loc><lastmod>2015-10-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/arabic-to-roman-numerals-converter-in-javascript/</loc><lastmod>2015-10-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/cartesian-product-in-javascript/</loc><lastmod>2015-10-04T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/peano-numbers-and-arithmetic-in-javascript/</loc><lastmod>2015-10-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-classical-inheritance-in-javascript/</loc><lastmod>2015-09-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/how-the-new-keyword-works-in-javascript/</loc><lastmod>2015-09-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-the-shunting-yard-algorithm-in-javascript/</loc><lastmod>2015-08-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/developing-a-resizable-indexed-array-as-a-php-extension-with-joe-watkins/</loc><lastmod>2015-08-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/php-extension/</loc><lastmod>2015-08-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/small-rpn-implementation-in-javascript/</loc><lastmod>2015-08-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/lifting-javascript-operators-into-first-class-functions/</loc><lastmod>2015-08-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/php-extension-development-for-beginners-with-joe-watkins/</loc><lastmod>2015-08-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/insertion-removal-and-inversion-operations-on-binary-search-trees-in-php/</loc><lastmod>2015-07-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/jenkins/</loc><lastmod>2015-07-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/managing-jenkins-project-builds-and-configuration-using-php/</loc><lastmod>2015-07-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/optional-value-control-flows-in-php-using-traits-and-magic-methods/</loc><lastmod>2015-06-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/partial-application-currying-and-composition-using-javascript-es6/</loc><lastmod>2015-04-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/git/</loc><lastmod>2015-04-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/simplify-git-commit-fixes-using-fixup-and-auto-squash/</loc><lastmod>2015-04-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-streams-in-php/</loc><lastmod>2015-01-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/cons-lists-and-folds-in-php/</loc><lastmod>2015-01-02T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/the-internals-of-git/</loc><lastmod>2014-12-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/reversing-a-unicode-string-in-php-using-utf-16-be-le/</loc><lastmod>2014-05-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/reversing-a-string-in-php/</loc><lastmod>2014-05-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/tuples-in-php/</loc><lastmod>2014-04-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/storing-php-sessions-file-caches-in-memory-using-tmpfs/</loc><lastmod>2014-04-16T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/encryption/</loc><lastmod>2014-04-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-rot13-and-rot-n-caesar-ciphers-in-python/</loc><lastmod>2014-04-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/securing-sessions-in-php/</loc><lastmod>2014-04-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/functional-quick-sort-in-scala-and-javascript/</loc><lastmod>2014-04-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/scala/</loc><lastmod>2014-04-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/apache/</loc><lastmod>2014-04-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/nginx/</loc><lastmod>2014-04-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/self-signed-ssl-certificates-with-nginx-and-apache/</loc><lastmod>2014-04-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ssl/</loc><lastmod>2014-04-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/arch/</loc><lastmod>2014-04-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/arch-linux-and-awesome-wm-installation-notes/</loc><lastmod>2014-04-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/the-y-fixed-point-combinator-in-php/</loc><lastmod>2014-04-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-anonymous-functions-lambdas-and-closures-in-php/</loc><lastmod>2014-03-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/java/</loc><lastmod>2014-03-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/parallel-summation-in-java/</loc><lastmod>2014-03-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/introduction-to-creating-a-basic-php-extension/</loc><lastmod>2014-03-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-iterative-deepening-depth-first-search-in-python/</loc><lastmod>2014-03-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/depth-first-search-and-breadth-first-search-in-python/</loc><lastmod>2014-03-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-basic-auth-wsgi-middleware-in-python/</loc><lastmod>2014-02-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/processing-a-list-of-links-using-python-and-beautifulsoup/</loc><lastmod>2014-02-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/wsgi/</loc><lastmod>2014-02-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/mounting-an-osx-ssh-volume-using-fuse-and-sshfs/</loc><lastmod>2014-02-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/osx/</loc><lastmod>2014-02-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ssh/</loc><lastmod>2014-02-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/understanding-python-wsgi-with-examples/</loc><lastmod>2014-02-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/flask/</loc><lastmod>2014-02-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-basic-python-decorators-in-php/</loc><lastmod>2014-02-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-basic-auth-and-decorators-in-pythons-flask/</loc><lastmod>2014-02-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/basic-shell-job-control-in-unix/</loc><lastmod>2014-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/shell/</loc><lastmod>2014-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/unix/</loc><lastmod>2014-01-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/compiling-php-5-5-with-zts-and-pthreads-support/</loc><lastmod>2014-01-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pthreads/</loc><lastmod>2014-01-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/cdn/</loc><lastmod>2014-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/providing-local-js-and-css-resources-for-cdn-fallbacks/</loc><lastmod>2014-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/shell-functions-to-recursively-delete-suspend-all-vagrant-instances/</loc><lastmod>2014-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/vagrant/</loc><lastmod>2014-01-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/accessors-getter-setter-and-singleton-traits-in-php/</loc><lastmod>2014-01-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/move-last-git-commit-to-new-or-existing-branch/</loc><lastmod>2014-01-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-dynamic-vector-array-in-c/</loc><lastmod>2014-01-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/apple-script/</loc><lastmod>2014-01-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/automator/</loc><lastmod>2014-01-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/creating-a-mac-microphone-mute-keyboard-shortcut/</loc><lastmod>2014-01-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/mac/</loc><lastmod>2014-01-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/podcasting/</loc><lastmod>2014-01-19T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/scp/</loc><lastmod>2014-01-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/transferring-files-using-ssh-and-scp/</loc><lastmod>2014-01-17T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/graphviz/</loc><lastmod>2014-01-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-and-using-memoization-in-php/</loc><lastmod>2014-01-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/svg/</loc><lastmod>2014-01-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-graphviz-with-svg-output-in-php/</loc><lastmod>2014-01-13T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/how-static-facades-and-ioc-are-used-in-laravel/</loc><lastmod>2014-01-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-heapsort-in-java-and-c/</loc><lastmod>2014-01-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/pygments/</loc><lastmod>2014-01-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-pythons-pygments-syntax-highlighter-in-php/</loc><lastmod>2014-01-06T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-doubly-linked-list-in-c/</loc><lastmod>2014-01-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-xor-doubly-linked-list-in-c/</loc><lastmod>2014-01-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-singly-linked-list-in-c/</loc><lastmod>2013-12-30T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/experimenting-with-the-xor-swap-method-in-java/</loc><lastmod>2013-12-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/least-significant-digit-lsd-radix-sort-in-java/</loc><lastmod>2013-12-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-partial-application-in-php/</loc><lastmod>2013-12-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-queue-in-java-using-arrays-and-linked-lists/</loc><lastmod>2013-12-24T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/shunting-yard-implementation-in-java/</loc><lastmod>2013-12-23T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/ffmpeg/</loc><lastmod>2013-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/implementing-a-stack-in-java-using-arrays-and-linked-lists/</loc><lastmod>2013-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/podcast/</loc><lastmod>2013-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/uploading-podcast-audio-to-youtube/</loc><lastmod>2013-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/youtube/</loc><lastmod>2013-12-22T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/processing-apache-and-nginx-access-logs/</loc><lastmod>2013-12-21T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-bit-flags-and-enumsets-in-java/</loc><lastmod>2013-12-20T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/decimal-to-hexadecimal-using-bitwise-bit-shift-operations-in-java/</loc><lastmod>2013-12-18T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/reverse-polish-notation-rpn-in-scala/</loc><lastmod>2013-12-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/changing-the-timestamp-of-a-previous-git-commit/</loc><lastmod>2013-12-14T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/configuring-ssh-public-key-authentication-on-centos-6-4/</loc><lastmod>2013-12-12T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/using-for-comprehensions-in-scala/</loc><lastmod>2013-12-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/open-external-links-in-a-new-window-using-javascript/</loc><lastmod>2013-12-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/simple-function-driven-development/</loc><lastmod>2013-12-09T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/twitter/</loc><lastmod>2013-12-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/twitter-api-v-1-1-user-timeline-javascript-solution/</loc><lastmod>2013-12-05T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/solving-the-k-combinations-problem-in-scala/</loc><lastmod>2013-12-03T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/merge-sort-in-scala-using-tail-recursion-and-streams/</loc><lastmod>2013-12-01T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/installing-nginx-apache-mysql-php-5-5-lamp-stack-on-cent-os-6-4/</loc><lastmod>2013-11-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/lamp/</loc><lastmod>2013-11-29T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/coalescing-operation-in-php/</loc><lastmod>2013-11-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/merge-sort-comparison-in-java-and-scala/</loc><lastmod>2013-11-27T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/gitolite/</loc><lastmod>2013-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/personal-git-server-with-gitolite/</loc><lastmod>2013-11-25T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/accessing-php-documentation-using-pman/</loc><lastmod>2012-09-11T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/an-alternative-to-var-dump-in-php/</loc><lastmod>2012-09-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/debugging/</loc><lastmod>2012-09-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/gitflow/</loc><lastmod>2012-08-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/making-gitflow-the-way-you-want-it-to/</loc><lastmod>2012-08-26T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/complete-mamp-setup-with-php-5-5/</loc><lastmod>2012-07-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/mamp/</loc><lastmod>2012-07-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/hashing/</loc><lastmod>2012-06-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/phpass-the-go-to-password-hashing-library/</loc><lastmod>2012-06-28T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/codeigniter/</loc><lastmod>2012-06-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/database-migrations-with-codeigniter/</loc><lastmod>2012-06-08T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/dns/</loc><lastmod>2012-05-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/dnsmasq/</loc><lastmod>2012-05-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/dnsmasq-your-local-development-dns/</loc><lastmod>2012-05-15T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/browser-testing/</loc><lastmod>2012-03-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/ie6-ie7-ie8-meet-vmware-fusion/</loc><lastmod>2012-03-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/internet-explorer/</loc><lastmod>2012-03-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/vmware-fusion/</loc><lastmod>2012-03-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/mysql/</loc><lastmod>2012-03-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/sphinx/</loc><lastmod>2012-03-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/sphinx-up-and-running/</loc><lastmod>2012-03-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/ten-ways-to-reverse-a-string-in-javascript/</loc><lastmod>2011-10-31T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/latex/</loc><lastmod>2011-10-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/posts/latex-an-introduction/</loc><lastmod>2011-10-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/tag/typesetting/</loc><lastmod>2011-10-10T00:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/about/</loc><lastmod>2025-07-23T11:00:00+00:00</lastmod></url><url><loc>https://eddmann.com/archive/</loc><lastmod>2025-03-11T14:30:00+00:00</lastmod></url><url><loc>https://eddmann.com/projects/</loc><lastmod>2026-03-28T12:00:00+00:00</lastmod></url></urlset>