<?xml version="1.0" encoding="UTF-8"?>
   <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
      
      <url>
        <loc>https://tpetrina.com/</loc>
      </url>
      <url>
        <loc>https://tpetrina.com/presentations</loc>
      </url>
      <url>
        <loc>https://tpetrina.com/blog</loc>
      </url>
      <url>
        <loc>https://tpetrina.com/til</loc>
      </url>
      
      <url>
        <loc>https://tpetrina.com/til/2025-02-11-nuget-edge-case</loc>
        <lastmod>2025-02-11</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2025-01-07-expo-local-build-deploy</loc>
        <lastmod>2025-01-07</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2025-01-02-cloudflare-upload-limit</loc>
        <lastmod>2025-01-02</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2024-11-20-roslyn-efcore-sqlite-9</loc>
        <lastmod>2024-11-20</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2024-11-03-markdoc-obsidian</loc>
        <lastmod>2024-11-03</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2024-05-22-android-flatlist-custom-refresh-control</loc>
        <lastmod>2024-05-22</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2024-02-03-use-tee-in-gha-to-save-logs</loc>
        <lastmod>2024-02-03</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2024-01-19-simple-notifications-with-ntfy</loc>
        <lastmod>2024-01-19</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2024-01-13-async-throttle-and-higher-order-functions-in-typescript</loc>
        <lastmod>2024-01-13</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2024-01-13-nextjs-and-cannot-read-properties-of-null-error</loc>
        <lastmod>2024-01-13</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-11-27-add-image-pull-secrets-for-digital-ocean-deployments</loc>
        <lastmod>2023-11-27</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-11-27-build-net-containers-on-m1-laptop-and-deploy-them-to-cloud</loc>
        <lastmod>2023-11-27</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-11-27-kubernetes-api-with-dotnet</loc>
        <lastmod>2023-11-27</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-11-12-pass-args-to-c-wasm-on-startup</loc>
        <lastmod>2023-11-12</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-10-10-import-git-hub-repo-permissions-error</loc>
        <lastmod>2023-10-10</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-09-25-reset-to-previous-migration-in-ef-core</loc>
        <lastmod>2023-09-25</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-09-21-generic-telemetry-opt-out</loc>
        <lastmod>2023-09-21</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-09-19-import-blocks-in-terraform</loc>
        <lastmod>2023-09-19</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-09-19-warm-up-net-containers</loc>
        <lastmod>2023-09-19</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2023-08-09-add-prefix-to-each-key-in-terraform</loc>
        <lastmod>2023-08-09</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-06-21-silly-issue-with-multiple-domains-and-external-dns</loc>
        <lastmod>2023-06-21</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-03-13-software-engineering-is-creative</loc>
        <lastmod>2023-03-13</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-02-24-don-t-confuse-loudness-for-expertise</loc>
        <lastmod>2023-02-24</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-02-21-avoid-refactoring-and-changes-in-one-pr</loc>
        <lastmod>2023-02-21</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-02-20-generate-tickets-from-prs</loc>
        <lastmod>2023-02-20</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2023-01-16-generic-topics-are-not-productive</loc>
        <lastmod>2023-01-16</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-11-07-records-simplify-dependency-injection-for-mediat-r-handlers</loc>
        <lastmod>2022-11-07</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2022-08-08-notes-from-reading-swr-source-code</loc>
        <lastmod>2022-08-08</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-07-27-mediat-r-pros-and-cons</loc>
        <lastmod>2022-07-27</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2022-07-13-makefile-and-env-vars</loc>
        <lastmod>2022-07-13</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-06-12-processes-are-hurdles</loc>
        <lastmod>2022-06-12</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-02-15-why-even-bookmark</loc>
        <lastmod>2022-02-15</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-02-07-designing-with-html-css</loc>
        <lastmod>2022-02-07</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2022-02-05-async-functions-and-node-scripts</loc>
        <lastmod>2022-02-05</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/2022-01-31-digital-garden</loc>
        <lastmod>2022-01-31</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/2025-01-23-cncph</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/kcd-cph-2024-day-1</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/kcd-cph-2024-day-2</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2022-01-31-tailwind-and-components-folder</loc>
        <lastmod>2022-01-31</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/2025-03-09-restore-permissions</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/old/2021-07-10-til-speed-up-jest-tests-2</loc>
        <lastmod>2021-07-10</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/old/2021-07-05-til-speed-up-jest-tests</loc>
        <lastmod>2021-07-05</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2020-12-05-gamelog-images</loc>
        <lastmod>2020-12-05</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2020-12-02-minimal-asp-net-core</loc>
        <lastmod>2020-12-02</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2020-05-26-ecs-ts</loc>
        <lastmod>2020-05-26</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2020-05-01-typescript-genericmap</loc>
        <lastmod>2020-05-01</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2020-05-23-dom-is-slow</loc>
        <lastmod>2020-05-01</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/til/old/2020-04-22-til-tailwind</loc>
        <lastmod>2020-04-22</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2019-10-01-using-result</loc>
        <lastmod>2019-10-01</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2019-09-30-asp-core-3-macos</loc>
        <lastmod>2019-09-02</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2019-06-06-dont-use-last-or-lastordefault-with-efcore</loc>
        <lastmod>2019-06-06</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2019-06-06-fun-with-typescript-higher-order-functions</loc>
        <lastmod>2019-06-06</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2019-02-12-razor-page-watcher</loc>
        <lastmod>2019-02-12</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2018-forms-in-react/2018-06-25-part1</loc>
        <lastmod>2018-06-25</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2018-02-08-typescript-import-api-not</loc>
        <lastmod>2018-02-08</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-12-07-using-render-prop-to-render-lists-in-react</loc>
        <lastmod>2017-12-07</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-09-23-porting-linq-methods-to-typescript</loc>
        <lastmod>2017-09-23</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-09-17-deconstructing-arrays-in-c-7</loc>
        <lastmod>2017-09-17</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-09-17-react-and-list-renderer</loc>
        <lastmod>2017-09-17</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-09-08-c-7-and-tuples</loc>
        <lastmod>2017-09-08</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-01-18-implicit-operators-in-c-are-fun</loc>
        <lastmod>2017-01-18</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2017-01-11-nuget-packing-libraries-and-shipping-them-locally</loc>
        <lastmod>2017-01-11</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2016-09-30-powershell-database-connection-string-and</loc>
        <lastmod>2016-09-30</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/2016-09-18-expression-body-methods-are-evil</loc>
        <lastmod>2016-09-18</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160707_ReactForXamarinForms</loc>
        <lastmod>2016-07-07</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160701_XamarinReactClay</loc>
        <lastmod>2016-07-01</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160614_XamarinStudio6iOS_TLS_Error</loc>
        <lastmod>2016-06-14</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160524_MVVMAndReduxPart2</loc>
        <lastmod>2016-05-24</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160523_MVVMAndRedux</loc>
        <lastmod>2016-05-23</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/blog/old/20160311_XamarinFormsApp</loc>
        <lastmod>2016-03-11</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/kb/markdoc/rendering-images</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/kb/markdoc/rendering-links</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/kb/typescript/zod-coerce-string-from-null</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/micro/debugging-under-fire</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/micro/evolving-reddits-infrastructure</loc>
        <lastmod>null</lastmod>
      </url>
      <url>
        <loc>https://tpetrina.com/notes/micro/how-to-build-sales-process</loc>
        <lastmod>null</lastmod>
      </url>
   </urlset>
 