<?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://davideisinger.com/tags/dispatch/</loc><lastmod>2026-03-15T01:17:54-04:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-37-march-2026/</loc><lastmod>2026-03-15T01:17:54-04:00</lastmod></url><url><loc>https://davideisinger.com/tags/</loc><lastmod>2026-03-15T01:17:54-04:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-36-february-2026/</loc><lastmod>2026-02-02T00:39:40-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-35-january-2026/</loc><lastmod>2026-01-08T16:43:16-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-34-december-2025/</loc><lastmod>2025-12-11T00:24:39-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-33-november-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-32-october-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-31-september-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-30-august-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-29-july-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-28-june-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-27-may-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-26-april-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-25-march-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/book/</loc><lastmod>2025-02-06T11:44:01-05:00</lastmod></url><url><loc>https://davideisinger.com/book/2023-03-2025-02/</loc><lastmod>2025-02-06T11:44:01-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-24-february-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-23-january-2025/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-22-december-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/tags/meta/</loc><lastmod>2026-01-08T16:44:32-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/spellcheck-your-hugo-site-with-cspell/</loc><lastmod>2024-12-11T16:04:16-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-21-november-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/migrating-from-github-to-sourcehut/</loc><lastmod>2025-12-19T14:57:03-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-20-october-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-19-september-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-18-august-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-17-july-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-16-june-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-15-may-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/stackstash-taking-bookish-musings-to-the-next-level/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-14-april-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/about/</loc><lastmod>2025-02-19T01:02:53-05:00</lastmod></url><url><loc>https://davideisinger.com/pages/</loc><lastmod>2025-02-19T01:02:53-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-13-march-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/encrypt-and-dither-photos-in-hugo/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-12-february-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-11-january-2024/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-10-december-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/2023-holiday-gift-guide/</loc><lastmod>2024-01-08T13:10:04-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/</loc><lastmod>2025-12-19T14:57:03-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/maintenance-matters-good-tests/</loc><lastmod>2024-02-05T11:46:25-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/keep-markdown-links-in-order-with-mdrenum/</loc><lastmod>2026-01-08T16:44:32-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-9-november-2023/</loc><lastmod>2026-01-08T16:44:32-05:00</lastmod></url><url><loc>https://davideisinger.com/music/</loc><lastmod>2025-08-07T13:37:57-04:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-8-october-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-7-september-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-6-august-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/a-month-with-helix/</loc><lastmod>2024-01-17T00:08:36-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-5-july-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-4-june-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/weekly-monthly-playbooks/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/whats-in-a-word-building-a-verbose-party-game/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/the-psychological-impact-of-technical-debt/</loc><lastmod>2023-05-22T12:58:08-04:00</lastmod></url><url><loc>https://davideisinger.com/notes/good-tests/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/first-it-must-work/</loc><lastmod>2024-02-26T00:15:57-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/golang/</loc><lastmod>2025-12-19T14:57:03-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-3-may-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/notes/how-to-spend-time/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/simple-commit-linting-for-issue-number-in-github-actions/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-2-april-2023/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/journal/dispatch-1-march-2023/</loc><lastmod>2024-11-20T22:40:33-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/maintenance-matters-continuous-integration/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/pandoc-a-tool-i-use-and-like/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/local-docker-best-practices/</loc><lastmod>2025-02-17T02:06:12-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/extract-embedded-text-from-pdfs-with-poppler-in-ruby/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/five-turbo-lessons-i-learned-the-hard-way/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/lets-make-a-hash-chain-in-sqlite/</loc><lastmod>2024-03-06T23:43:40-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/friends-undirected-graph-connections-in-rails/</loc><lastmod>2024-12-09T04:36:25-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/making-an-email-powered-e-paper-picture-frame/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/email-photos-to-an-s3-bucket-with-aws-lambda-with-cropping-in-ruby/</loc><lastmod>2025-02-17T02:06:12-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/lets-write-a-dang-elasticsearch-plugin/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/why-i-still-like-ruby-and-a-few-things-i-dont-like/</loc><lastmod>2024-11-11T00:53:12-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/things-about-which-the-viget-devs-are-excited-may-2020-edition/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/testing-solr-and-sunspot-locally-and-on-circleci/</loc><lastmod>2024-11-08T14:43:19-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/the-right-way-to-store-and-serve-dragonfly-thumbnails/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/the-little-schemer-will-expand-blow-your-mind/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/json-feed-validator/</loc><lastmod>2024-11-18T13:33:20-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/using-microcosm-presenters-to-manage-complex-features/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/get-lazy-with-custom-enumerators/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/functional-programming-in-ruby-with-contracts/</loc><lastmod>2024-11-08T09:48:54-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/romanize-another-programming-puzzle/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/otp-ocaml-haskell-elixir/</loc><lastmod>2024-11-08T14:43:19-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/otp-a-language-agnostic-programming-challenge/</loc><lastmod>2024-11-08T09:48:54-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/adding-a-not-null-column-to-an-existing-table/</loc><lastmod>2024-11-08T09:48:54-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/required-fields-should-be-marked-not-null/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/pluck-subset-rails-activerecord-model-attributes/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/first-class-failure/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/diving-into-go-a-five-week-intro/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/whats-new-since-the-last-deploy/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/write-you-a-parser-for-fun-and-win/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/level-up-your-shell-game/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/aws-opsworks-lessons-learned/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/simple-secure-file-transmission/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/simple-app-stats-with-statboard/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/large-images-in-rails/</loc><lastmod>2024-11-18T13:33:20-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/manual-cropping-with-paperclip/</loc><lastmod>2024-11-18T13:33:20-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/three-magical-git-aliases/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/new-pointless-project-officegames/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/the-balanced-developer/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/regular-expressions-in-mysql/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/testing-your-codes-text/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/puma-on-redis/</loc><lastmod>2024-11-08T14:43:19-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/on-confidence-and-real-time-strategy-games/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/rails-admin-interface-generators/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/convert-ruby-method-to-lambda/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/static-asset-packaging-rails-3-heroku/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/new-pointless-project-i-dig-durham/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/getting-into-open-source/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/practical-uses-of-ruby-blocks/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/social-media-api-gotchas/</loc><lastmod>2024-11-11T00:53:12-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/coffeescript-for-ruby-friends/</loc><lastmod>2023-10-24T22:33:06-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/devnation-coming-to-san-francisco/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/around-hello-world-in-30-days/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/gifts-for-your-nerd/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/html-sanitization-in-rails-that-actually-works/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/refresh-recap-the-future-of-data/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/viget-devs-storm-chicago/</loc><lastmod>2025-11-19T14:48:00-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/single-use-jquery-plugins/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/simple-apis-using-serializewithoptions/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/how-why-to-run-autotest-on-your-mac/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/unfuddle-user-feedback/</loc><lastmod>2024-11-11T00:53:12-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/backup-your-database-in-git/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/shoulda-macros-with-blocks/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/out-damned-tabs/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/stop-pissing-off-your-designers/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/sessions-on-pcs-and-macs/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/motivated-to-code/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/multi-line-memoization/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/protip-timewithzone-all-the-time/</loc><lastmod>2025-02-16T15:00:39-05:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/introducing-email-labs-client/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/rubyinline-in-shared-rails-environments/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/refresh-006-dr-jquery/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/elsewhere/curl-and-your-rails-2-app/</loc><lastmod>2023-10-24T20:48:09-04:00</lastmod></url><url><loc>https://davideisinger.com/</loc><lastmod>2025-08-07T13:34:51-04:00</lastmod></url><url><loc>https://davideisinger.com/categories/</loc></url><url><loc>https://davideisinger.com/elsewhere/</loc><lastmod>2023-10-24T20:49:29-04:00</lastmod></url><url><loc>https://davideisinger.com/journal/</loc><lastmod>2023-10-24T20:49:29-04:00</lastmod></url></urlset>