<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.timsanteford.com/</loc><lastmod>2025-05-27T16:21:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/</loc><lastmod>2025-05-27T16:21:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/solving-the-git-lfs-not-found-error-how-i-fixed-git-lfs-issues-in-my-project/</loc><lastmod>2025-05-27T16:21:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/log-record-counts-in-pyspark-with-a-timer/</loc><lastmod>2025-03-28T02:44:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/balancing-commit-quantity-and-quality-a-developers-perspective/</loc><lastmod>2025-03-26T13:22:20</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/day-one-starting-strong-as-a-new-software-engineer/</loc><lastmod>2025-03-25T04:09:35</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/fixing-pyspark-import-errors-when-using-custom-modules/</loc><lastmod>2025-03-17T22:31:59</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/running-development-mode-in-multiple-npm-workspaces/</loc><lastmod>2025-03-15T13:17:18</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-react-file-upload-button-to-parse-json-and-yaml/</loc><lastmod>2025-03-12T01:09:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/making-the-storybook-preview-full-height/</loc><lastmod>2025-03-19T02:22:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/adding-adaptive-cards-to-a-react-app-with-markdown-support/</loc><lastmod>2025-03-12T01:10:19</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/fixing-the-the-inferred-type-of-meta-cannot-be-named-rrror-in-storybook/</loc><lastmod>2025-03-19T02:23:01</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/solving-cannot-find-css-module-errors-in-typescript/</loc><lastmod>2025-03-02T21:32:40</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/tackling-the-usenavigate-error-in-storybook/</loc><lastmod>2025-03-02T21:18:15</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/managing-event-hub-data-effective-strategies-for-clearing-messages/</loc><lastmod>2025-02-28T20:18:39</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/set-up-auto-updating-swagger-documentation-with-express/</loc><lastmod>2025-02-23T00:09:14</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/managing-mutation-status-with-react-query/</loc><lastmod>2025-02-17T04:11:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/adding-voice-input-to-your-react-app/</loc><lastmod>2025-03-19T02:26:23</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/checking-for-app-updates-and-releases-in-react/</loc><lastmod>2025-02-17T04:11:49</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/real-time-vs-batch-processing-when-to-use-apache-flink-and-apache-spark/</loc><lastmod>2025-02-08T14:36:01</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-i-use-super-in-python-to-simplify-my-inheritance-hierarchies/</loc><lastmod>2025-03-19T02:24:37</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/apache-flink-map-vs-flatmap-transformations/</loc><lastmod>2025-02-08T08:53:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/redirection-to-404-pages-with-react-query-and-react-router/</loc><lastmod>2025-02-08T08:44:30</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/waveform-widget-customization-building-a-youtube-subscriptions-widget-in-waveterm/</loc><lastmod>2025-02-08T08:33:22</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/downloading-youtube-transcripts-in-python-a-practical-approach/</loc><lastmod>2025-02-02T13:40:57</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/determining-media-types-from-urls/</loc><lastmod>2025-03-19T02:28:30</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/efficiently-scrubbing-sensitive-information-in-python-with-regex/</loc><lastmod>2025-01-30T23:18:31</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/optimizing-flink-kafka-offsets-configuration-for-seamless-data-streaming/</loc><lastmod>2025-01-27T14:19:44</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/turn-a-website-into-a-secure-android-app-with-jetpack-compose-and-kotlin/</loc><lastmod>2025-01-23T06:06:56</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/automatically-rerun-pytest-tests-on-file-save/</loc><lastmod>2025-01-22T14:29:06</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/msvcrt-on-macos-with-a-practical-workaround-getch/</loc><lastmod>2025-01-17T17:39:40</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-i-turned-terminal-output-into-clickable-links/</loc><lastmod>2025-01-15T04:39:19</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/logging-to-a-rest-endpoint-for-debugging-in-python/</loc><lastmod>2025-03-19T02:29:58</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/optimizing-your-android-project-with-gradle-version-catalogs/</loc><lastmod>2025-01-12T15:25:21</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/transitioning-from-xml-to-jetpack-compose-simplifying-android-ui-development/</loc><lastmod>2025-01-12T15:18:45</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/transform-your-vite-react-app-into-a-pwa-with-ease/</loc><lastmod>2025-04-29T13:41:49</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-react-component-for-lazy-loading-images-with-error-fallback/</loc><lastmod>2025-01-02T14:12:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/handle-image-uploads-in-memory-with-express-js/</loc><lastmod>2025-03-19T02:25:34</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/ensuring-type-safety-between-typescript-and-c-applications/</loc><lastmod>2024-12-30T13:52:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/setting-up-python-project-testing-with-pytest/</loc><lastmod>2024-12-29T05:19:16</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/making-your-local-socket-io-app-public-with-ngrok/</loc><lastmod>2024-12-27T16:06:17</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/accessing-relative-paths-in-python-scripts/</loc><lastmod>2024-12-20T01:41:52</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/creating-a-git-like-diff-viewer-in-python-using-difflib/</loc><lastmod>2024-12-20T01:24:52</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-quickly-search-an-array-of-strings-in-python-with-examples/</loc><lastmod>2024-12-18T04:28:49</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/ensuring-type-safety-between-typescript-and-java-applications/</loc><lastmod>2024-12-30T13:40:51</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-read-and-parse-jsonl-files-in-python/</loc><lastmod>2024-12-18T04:24:38</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-live-qr-code-scanner-with-react-and-typescript/</loc><lastmod>2024-12-29T05:17:39</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/viewing-your-camera-feed-in-an-android-app/</loc><lastmod>2024-12-15T00:32:35</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/running-a-python-script-in-docker/</loc><lastmod>2024-12-16T19:12:25</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/creating-a-responsive-css-progress-bar-with-transparent-effects-in-react/</loc><lastmod>2024-12-14T16:23:57</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/crafting-perfectly-formatted-fake-phone-numbers-with-faker/</loc><lastmod>2024-12-03T22:32:30</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-local-flink-environment-with-docker-and-submitting-your-first-job/</loc><lastmod>2024-12-03T22:27:00</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/setting-up-a-local-azure-event-hub-with-docker/</loc><lastmod>2024-11-26T20:00:24</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/post-100-a-big-thank-you-to-my-fellow-engineers-and-readers/</loc><lastmod>2024-11-26T14:19:15</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/scanning-ble-advertisements-with-typescript-and-abandonware-noble/</loc><lastmod>2024-12-04T00:57:47</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/adding-maintenance-mode-to-a-react-app-with-nginx-integration/</loc><lastmod>2024-11-22T14:27:04</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/keeping-your-net-app-configuration-fresh-with-azure-app-configuration/</loc><lastmod>2024-11-22T14:27:30</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/formatting-scala-code-in-vs-code/</loc><lastmod>2024-11-22T13:25:39</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/setting-up-vitest-to-support-typescript-path-aliases/</loc><lastmod>2024-11-10T17:37:01</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-an-rss-feed-reader-with-typescript-and-axios/</loc><lastmod>2024-11-08T05:19:28</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/adding-wordpress-custom-metadata-using-the-rest-api/</loc><lastmod>2024-11-05T00:21:24</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/troubleshooting-the-defaultazurecredential-failed-to-retrieve-a-token-error-on-macos-for-net-apps/</loc><lastmod>2024-11-01T20:12:03</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/run-c-scripts-on-macos-like-a-pro-a-guide-to-executable-c-files/</loc><lastmod>2024-11-01T20:01:47</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/uploading-images-and-setting-metadata-in-wordpress-with-axios-and-typescript/</loc><lastmod>2024-10-31T12:04:58</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/effortlessly-load-environment-variables-in-package-json-scripts-with-dotenv/</loc><lastmod>2024-10-31T12:00:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/docker-wordpress-environment-with-https-in-5-steps/</loc><lastmod>2024-10-31T11:53:49</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/posting-to-wordpress-with-axios-and-typescript-a-step-by-step-guide/</loc><lastmod>2024-10-31T11:38:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/parsing-connection-strings-in-python/</loc><lastmod>2024-10-31T11:31:02</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/securely-handling-sensitive-and-non-sensitive-inputs-in-python/</loc><lastmod>2024-10-31T11:17:01</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/what-is-the-difference-between-interfaces-and-type-aliases-in-typescript/</loc><lastmod>2025-03-19T02:23:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/command-line-arguments-in-python-with-argparse/</loc><lastmod>2024-10-31T11:09:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/playing-base64-encoded-pcm-audio-in-a-web-browser/</loc><lastmod>2024-10-30T01:54:39</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/connecting-to-trino-with-python-a-complete-guide-to-secure-queries-with-ssl-and-parameters/</loc><lastmod>2024-10-30T01:44:21</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-cannot-convert-type-object-to-system-collections-generic-list-in-c/</loc><lastmod>2024-11-08T06:42:05</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/streamlining-your-next-js-builds-with-a-separate-typescript-configuration/</loc><lastmod>2024-10-23T00:24:42</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/install-scala-on-macos-with-homebrew-a-step-by-step-guide/</loc><lastmod>2025-01-15T01:47:58</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-paginate-with-prisma-and-get-total-record-count/</loc><lastmod>2024-10-15T16:29:32</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/temporary-files-in-python-a-handy-guide-to-tempfile/</loc><lastmod>2024-10-03T00:38:05</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-i-fixed-gradle-test-error-getsubject-is-supported-only-if-a-security-manager-is-allowed-on-macos/</loc><lastmod>2024-10-28T19:09:52</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/configure-next-js-dev-mode-to-run-on-a-fixed-port/</loc><lastmod>2024-09-30T15:55:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-see-a-tree-of-pip-dependencies-a-simple-guide/</loc><lastmod>2024-09-26T17:03:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/optimizing-docker-pushes-how-to-control-uploads-and-improve-workflow-efficiency/</loc><lastmod>2024-10-02T23:25:18</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/automating-url-slug-generation-in-postgresql-with-triggers-and-functions/</loc><lastmod>2024-09-24T11:36:07</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-clean-up-your-codebase-with-knip/</loc><lastmod>2024-09-21T04:36:36</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-extract-the-schema-for-a-postgresql-database/</loc><lastmod>2024-09-21T04:28:27</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/creating-a-reusable-fullscreen-hook-in-react/</loc><lastmod>2024-10-15T16:28:06</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-detect-clamped-text-in-react/</loc><lastmod>2024-09-18T04:49:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-view-catalog-and-table-contents-in-trino/</loc><lastmod>2024-09-11T11:14:13</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-toggle-a-div-to-fullscreen-in-react/</loc><lastmod>2024-09-09T03:43:28</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-too-many-database-connections-opened-in-prisma-with-next-js-hot-reload/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-functions-cannot-be-passed-directly-to-client-components-error-in-next-js/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-check-if-pytorch-is-using-the-gpu/</loc><lastmod>2024-10-01T19:10:25</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/copying-non-code-files-to-dist-in-your-nodejs-build-process/</loc><lastmod>2024-09-06T12:50:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-nextrouter-was-not-mounted-error-in-next-js/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-use-biome-with-next-js-for-linting-and-formatting/</loc><lastmod>2025-02-23T18:44:53</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/uploading-files-to-azure-blob-storage-using-sas-token-in-python/</loc><lastmod>2024-09-04T15:03:23</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-feed-page-excluded-by-noindex-tag-error-in-search-console-for-wordpress-feed-pages/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/layouts-vs-templates-in-next-js-14-a-guide-to-structuring-your-app/</loc><lastmod>2024-09-01T03:30:33</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/securing-prisma-database-connection-with-a-ca-certificate/</loc><lastmod>2024-08-31T23:34:35</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/managing-files-in-azure-blob-storage-with-python/</loc><lastmod>2024-08-30T16:39:15</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/force-docker-to-rebuild-a-specific-service-image-using-docker-compose-up/</loc><lastmod>2024-08-30T15:45:07</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-disable-the-reference-code-lens-in-vscode-for-c/</loc><lastmod>2024-09-12T13:25:47</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-puppeteer-connection-error-protocolerror-network-enable-timed-out-in-docker/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-upload-a-folder-to-an-sftp-server-using-typescript-and-ssh2-sftp-client/</loc><lastmod>2024-09-11T11:58:14</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/propagating-api-errors-gracefully-in-net-controllers/</loc><lastmod>2024-08-30T15:45:07</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-install-java-on-macos-using-homebrew/</loc><lastmod>2024-10-22T20:52:42</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/the-difference-between-schemas-and-databases-and-when-to-use-them-in-postgres/</loc><lastmod>2024-08-30T15:45:07</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-create-and-update-wordpress-pages-using-the-wp-rest-api-in-typescript/</loc><lastmod>2024-09-09T04:45:00</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-resolve-connection-is-insecure-try-using-sslmoderequire-error/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-use-the-wordpress-api-to-add-a-shortcode-as-a-gutenberg-block/</loc><lastmod>2024-09-09T04:33:29</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/why-docker-container-wont-quit-with-ctrl-c-and-how-to-fix-it/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/browser-caching-in-asp-net-core-a-step-by-step-guide-to-fine-tuning-your-api-responses/</loc><lastmod>2024-09-08T13:15:31</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/client-side-sorting-with-server-side-search-parameters-in-next-js-14/</loc><lastmod>2024-09-05T04:12:26</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/choosing-the-right-azure-key-value-store-a-comprehensive-guide/</loc><lastmod>2024-09-04T13:04:47</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/rebuild-and-restart-single-docker-containers-with-docker-compose/</loc><lastmod>2024-09-02T05:58:56</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-ocr-with-tesseract-js-to-unlock-text-from-images/</loc><lastmod>2024-09-02T13:11:15</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/web-scraping-with-typescript-and-puppeteer/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/streamline-your-remote-database-migrations-with-flyway/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-boundaries-please-provide-element-types-using-the-boundaries-elements-setting-in-eslint/</loc><lastmod>2024-10-04T18:32:23</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/mastering-database-interactions-with-prisma/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/turn-off-eslint-rules-a-guide-to-disabling-eslint-sparingly/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/job-logging-and-status-updates-with-bull-queue-in-node-js/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-periodic-data-update-service-in-asp-net-core/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/ensure-a-robust-postgresql-reconnection-in-your-next-js-app/</loc><lastmod>2025-03-19T02:29:35</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-go-to-the-matching-brace-in-visual-studio/</loc><lastmod>2024-08-30T15:45:08</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/remove-the-incoming-outgoing-changes-graph-in-vscode/</loc><lastmod>2024-09-03T22:10:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/creating-optional-dynamic-routes-in-next-js-14-with-metadata/</loc><lastmod>2024-08-30T15:45:53</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/making-types-nullable-in-typescript-the-c-way/</loc><lastmod>2025-03-22T02:32:50</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/resolving-maxretriesperrequesterror-in-bull-queue-a-step-by-step-guide/</loc><lastmod>2024-09-10T12:37:46</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-fix-the-microsoft-codeanalysis-languageserver-client-couldnt-create-connection-to-server-error-in-visual-studio-code-on-macos/</loc><lastmod>2024-09-05T13:27:28</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/openai-structured-outputs-and-zod-and-zod-to-json-schema/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/creating-a-sticky-footer-with-mantine-a-step-by-step-guide/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/seamless-url-redirection-in-next-js-14-handling-conditional-redirects/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/autocomplete-component-in-next-js-with-mantine-and-typescript/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/kubernetes-health-checks-for-asp-net-core-applications/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/why-you-should-choose-lodash-es-over-lodash/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/automate-local-environment-setup-for-your-monorepo-with-a-python-script/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/seamlessly-merging-and-managing-multiple-kubernetes-cluster-configurations/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/why-is-my-pod-stuck-in-a-pending-state/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/migrating-next-js-image-domains-to-remote-patterns/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/access-private-docker-hub-repository-from-kubernetes-securely/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/server-side-postgresql-integration-in-next-js-with-typescript/</loc><lastmod>2024-08-30T15:45:54</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/optimizing-next-js-docker-images-for-production/</loc><lastmod>2024-08-30T15:45:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/manage-dark-and-light-modes-in-your-react-app-with-fluent-ui/</loc><lastmod>2024-08-30T15:45:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/unlocking-markdown-metadata-with-typescript-a-step-by-step-guide/</loc><lastmod>2024-08-30T15:45:55</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-implement-a-versatile-config-loader-for-your-cli-with-typescript/</loc><lastmod>2024-09-16T16:12:31</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-cross-platform-cli-tool-in-typescript-a-step-by-step-guide/</loc><lastmod>2024-09-16T16:11:29</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-robust-address-management-system-in-a-relational-database/</loc><lastmod>2024-09-07T04:44:39</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-custom-json-editor-in-react-with-and-without-react-json-view/</loc><lastmod>2024-09-16T16:02:52</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/building-a-form-validation-system-with-fluent-ui-and-zod-in-typescript/</loc><lastmod>2024-09-16T16:10:05</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/how-to-force-a-complete-rebuild-in-docker-compose-including-anonymous-volumes/</loc><lastmod>2025-01-08T16:28:29</lastmod></url>
  <url><loc>https://www.timsanteford.com/posts/simplifying-database-migrations-with-docker-flyway-and-postgresql/</loc><lastmod>2024-08-30T15:49:02</lastmod></url>
</urlset>
