<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.i0.pm/</loc>
  </url>
  <url>
    <loc>https://blog.i0.pm/pages/about/</loc>
    <lastmod>2026-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rebuilt-the-blog-again/</loc>
    <lastmod>2026-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-6/</loc>
    <lastmod>2026-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-5/</loc>
    <lastmod>2026-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-4/</loc>
    <lastmod>2026-06-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-3/</loc>
    <lastmod>2026-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-2/</loc>
    <lastmod>2026-06-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-replicated-data-objects-part-1/</loc>
    <lastmod>2026-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-260604/</loc>
    <lastmod>2026-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embedded-rust-on-an-stm32-260604/</loc>
    <lastmod>2026-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-260604/</loc>
    <lastmod>2026-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-260604/</loc>
    <lastmod>2026-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-260601/</loc>
    <lastmod>2026-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-260601/</loc>
    <lastmod>2026-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-260601/</loc>
    <lastmod>2026-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-260601/</loc>
    <lastmod>2026-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fine-tuning-a-small-model-for-one-boring-task-260523/</loc>
    <lastmod>2026-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-260523/</loc>
    <lastmod>2026-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-260523/</loc>
    <lastmod>2026-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-260523/</loc>
    <lastmod>2026-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-deprecation-that-caught-everyone-out-today-260518/</loc>
    <lastmod>2026-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-260518/</loc>
    <lastmod>2026-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-260518/</loc>
    <lastmod>2026-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-260518/</loc>
    <lastmod>2026-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-260517/</loc>
    <lastmod>2026-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-260517/</loc>
    <lastmod>2026-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-260517/</loc>
    <lastmod>2026-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-260503/</loc>
    <lastmod>2026-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-260503/</loc>
    <lastmod>2026-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-260503/</loc>
    <lastmod>2026-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-deprecation-that-caught-everyone-out-today-260430/</loc>
    <lastmod>2026-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-260430/</loc>
    <lastmod>2026-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-260430/</loc>
    <lastmod>2026-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-260430/</loc>
    <lastmod>2026-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-260414/</loc>
    <lastmod>2026-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-260414/</loc>
    <lastmod>2026-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-260414/</loc>
    <lastmod>2026-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-260407/</loc>
    <lastmod>2026-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-260407/</loc>
    <lastmod>2026-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-260407/</loc>
    <lastmod>2026-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-260330/</loc>
    <lastmod>2026-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-260330/</loc>
    <lastmod>2026-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-260330/</loc>
    <lastmod>2026-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-260329/</loc>
    <lastmod>2026-03-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-260329/</loc>
    <lastmod>2026-03-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-260329/</loc>
    <lastmod>2026-03-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-260324/</loc>
    <lastmod>2026-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-260324-2/</loc>
    <lastmod>2026-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-260324/</loc>
    <lastmod>2026-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-260324/</loc>
    <lastmod>2026-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-260316/</loc>
    <lastmod>2026-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-260316/</loc>
    <lastmod>2026-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-gameplay-framework-demystified-slowly-260316/</loc>
    <lastmod>2026-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-260312/</loc>
    <lastmod>2026-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-260312/</loc>
    <lastmod>2026-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-260312-2/</loc>
    <lastmod>2026-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-260312/</loc>
    <lastmod>2026-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-260310/</loc>
    <lastmod>2026-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-announcement-my-whole-timeline-is-arguing-about-260310/</loc>
    <lastmod>2026-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-260310/</loc>
    <lastmod>2026-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-260306/</loc>
    <lastmod>2026-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-260306/</loc>
    <lastmod>2026-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-260306/</loc>
    <lastmod>2026-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-260305/</loc>
    <lastmod>2026-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-260305/</loc>
    <lastmod>2026-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-260305/</loc>
    <lastmod>2026-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-260303/</loc>
    <lastmod>2026-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-260303/</loc>
    <lastmod>2026-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-260303/</loc>
    <lastmod>2026-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-260303/</loc>
    <lastmod>2026-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-260219/</loc>
    <lastmod>2026-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-260219/</loc>
    <lastmod>2026-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-260219/</loc>
    <lastmod>2026-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-260218/</loc>
    <lastmod>2026-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-260218/</loc>
    <lastmod>2026-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-260218/</loc>
    <lastmod>2026-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-260217/</loc>
    <lastmod>2026-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-260217/</loc>
    <lastmod>2026-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-260217/</loc>
    <lastmod>2026-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-260216/</loc>
    <lastmod>2026-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-260216/</loc>
    <lastmod>2026-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-260216/</loc>
    <lastmod>2026-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-260216/</loc>
    <lastmod>2026-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-260210/</loc>
    <lastmod>2026-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-260210/</loc>
    <lastmod>2026-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-260210/</loc>
    <lastmod>2026-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-260204/</loc>
    <lastmod>2026-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-260204/</loc>
    <lastmod>2026-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-260204/</loc>
    <lastmod>2026-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-260202/</loc>
    <lastmod>2026-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-260202/</loc>
    <lastmod>2026-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-260202/</loc>
    <lastmod>2026-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-260128/</loc>
    <lastmod>2026-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-260128/</loc>
    <lastmod>2026-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-260128/</loc>
    <lastmod>2026-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-260125/</loc>
    <lastmod>2026-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-260125/</loc>
    <lastmod>2026-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-260125/</loc>
    <lastmod>2026-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-260125/</loc>
    <lastmod>2026-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-260123/</loc>
    <lastmod>2026-01-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-260123/</loc>
    <lastmod>2026-01-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-260123/</loc>
    <lastmod>2026-01-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-260111/</loc>
    <lastmod>2026-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-260111/</loc>
    <lastmod>2026-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-260111/</loc>
    <lastmod>2026-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-260111/</loc>
    <lastmod>2026-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-260105/</loc>
    <lastmod>2026-01-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-260105-2/</loc>
    <lastmod>2026-01-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-260105/</loc>
    <lastmod>2026-01-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-260105/</loc>
    <lastmod>2026-01-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-251221/</loc>
    <lastmod>2025-12-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-251221/</loc>
    <lastmod>2025-12-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-251221/</loc>
    <lastmod>2025-12-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-251221/</loc>
    <lastmod>2025-12-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-251211/</loc>
    <lastmod>2025-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-251211/</loc>
    <lastmod>2025-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-251211/</loc>
    <lastmod>2025-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-251205/</loc>
    <lastmod>2025-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-251205/</loc>
    <lastmod>2025-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-251205/</loc>
    <lastmod>2025-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-251205/</loc>
    <lastmod>2025-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/agents-that-edit-my-codebase-supervised-251201/</loc>
    <lastmod>2025-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-251201/</loc>
    <lastmod>2025-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-251201/</loc>
    <lastmod>2025-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-251108/</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-251108/</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-251108/</loc>
    <lastmod>2025-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-251105/</loc>
    <lastmod>2025-11-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-251105/</loc>
    <lastmod>2025-11-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-251105/</loc>
    <lastmod>2025-11-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-251104/</loc>
    <lastmod>2025-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-251104/</loc>
    <lastmod>2025-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-251104/</loc>
    <lastmod>2025-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-251104/</loc>
    <lastmod>2025-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-251029/</loc>
    <lastmod>2025-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-251029/</loc>
    <lastmod>2025-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-251029/</loc>
    <lastmod>2025-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-251029/</loc>
    <lastmod>2025-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-251028/</loc>
    <lastmod>2025-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-251028/</loc>
    <lastmod>2025-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-251028/</loc>
    <lastmod>2025-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-251020/</loc>
    <lastmod>2025-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fine-tuning-a-small-model-for-one-boring-task-251020-2/</loc>
    <lastmod>2025-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fine-tuning-a-small-model-for-one-boring-task-251020/</loc>
    <lastmod>2025-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-251020/</loc>
    <lastmod>2025-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-251017/</loc>
    <lastmod>2025-10-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-251017/</loc>
    <lastmod>2025-10-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-251017/</loc>
    <lastmod>2025-10-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-251017/</loc>
    <lastmod>2025-10-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-251015/</loc>
    <lastmod>2025-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-251015/</loc>
    <lastmod>2025-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-251015/</loc>
    <lastmod>2025-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-251004/</loc>
    <lastmod>2025-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-251004/</loc>
    <lastmod>2025-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-251004/</loc>
    <lastmod>2025-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-250918/</loc>
    <lastmod>2025-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-250918/</loc>
    <lastmod>2025-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-250918/</loc>
    <lastmod>2025-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-250918/</loc>
    <lastmod>2025-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-250913/</loc>
    <lastmod>2025-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-250913/</loc>
    <lastmod>2025-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-250913/</loc>
    <lastmod>2025-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embeddings-for-search-on-device-250909/</loc>
    <lastmod>2025-09-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-250909/</loc>
    <lastmod>2025-09-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-250909/</loc>
    <lastmod>2025-09-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-250909/</loc>
    <lastmod>2025-09-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-licence-change-that-broke-the-internet-s-trust-250908/</loc>
    <lastmod>2025-09-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-250908/</loc>
    <lastmod>2025-09-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-250908/</loc>
    <lastmod>2025-09-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-250907/</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-250907/</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-250907/</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-250907/</loc>
    <lastmod>2025-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-250904/</loc>
    <lastmod>2025-09-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-250904/</loc>
    <lastmod>2025-09-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-250904/</loc>
    <lastmod>2025-09-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-250829/</loc>
    <lastmod>2025-08-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-250829/</loc>
    <lastmod>2025-08-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-250829/</loc>
    <lastmod>2025-08-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-250829/</loc>
    <lastmod>2025-08-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-250822/</loc>
    <lastmod>2025-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-250822/</loc>
    <lastmod>2025-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-250822/</loc>
    <lastmod>2025-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-250822/</loc>
    <lastmod>2025-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-250817/</loc>
    <lastmod>2025-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-250817/</loc>
    <lastmod>2025-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-250817/</loc>
    <lastmod>2025-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-250817/</loc>
    <lastmod>2025-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-250812/</loc>
    <lastmod>2025-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-250812/</loc>
    <lastmod>2025-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-250812/</loc>
    <lastmod>2025-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-250812/</loc>
    <lastmod>2025-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/agents-that-edit-my-codebase-supervised-250809/</loc>
    <lastmod>2025-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-250809/</loc>
    <lastmod>2025-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-250809/</loc>
    <lastmod>2025-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-250809/</loc>
    <lastmod>2025-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-250808/</loc>
    <lastmod>2025-08-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-250808/</loc>
    <lastmod>2025-08-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-250808/</loc>
    <lastmod>2025-08-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-250804/</loc>
    <lastmod>2025-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-250804/</loc>
    <lastmod>2025-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-250804/</loc>
    <lastmod>2025-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-250804/</loc>
    <lastmod>2025-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-250729/</loc>
    <lastmod>2025-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-250729/</loc>
    <lastmod>2025-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-250729/</loc>
    <lastmod>2025-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-250722/</loc>
    <lastmod>2025-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/agents-that-edit-my-codebase-supervised-250722/</loc>
    <lastmod>2025-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250722/</loc>
    <lastmod>2025-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-250722/</loc>
    <lastmod>2025-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-250716/</loc>
    <lastmod>2025-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-250716/</loc>
    <lastmod>2025-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-250716/</loc>
    <lastmod>2025-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-250715/</loc>
    <lastmod>2025-07-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-250715/</loc>
    <lastmod>2025-07-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-250715/</loc>
    <lastmod>2025-07-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-250713/</loc>
    <lastmod>2025-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-250713/</loc>
    <lastmod>2025-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rust-in-production-two-years-of-regrets-and-wins-250713/</loc>
    <lastmod>2025-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-250711/</loc>
    <lastmod>2025-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-250711/</loc>
    <lastmod>2025-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-250711/</loc>
    <lastmod>2025-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-250705/</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-250705/</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-250705/</loc>
    <lastmod>2025-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fine-tuning-a-small-model-for-one-boring-task-250704/</loc>
    <lastmod>2025-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-250704/</loc>
    <lastmod>2025-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-250704/</loc>
    <lastmod>2025-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-250704/</loc>
    <lastmod>2025-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-250701/</loc>
    <lastmod>2025-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-250701/</loc>
    <lastmod>2025-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-250701/</loc>
    <lastmod>2025-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-250701/</loc>
    <lastmod>2025-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-250628/</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-250628/</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/local-models-for-code-a-fair-comparison-250628/</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-250628/</loc>
    <lastmod>2025-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-deprecation-that-caught-everyone-out-today-250622/</loc>
    <lastmod>2025-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-250622/</loc>
    <lastmod>2025-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-250622/</loc>
    <lastmod>2025-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-250615/</loc>
    <lastmod>2025-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-250615/</loc>
    <lastmod>2025-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-250615/</loc>
    <lastmod>2025-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-250608/</loc>
    <lastmod>2025-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250608/</loc>
    <lastmod>2025-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-250608/</loc>
    <lastmod>2025-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-250608/</loc>
    <lastmod>2025-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-250531/</loc>
    <lastmod>2025-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-250531/</loc>
    <lastmod>2025-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-250531/</loc>
    <lastmod>2025-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-250529-2/</loc>
    <lastmod>2025-05-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-250529/</loc>
    <lastmod>2025-05-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-250529/</loc>
    <lastmod>2025-05-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-250529/</loc>
    <lastmod>2025-05-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-250528/</loc>
    <lastmod>2025-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-250528/</loc>
    <lastmod>2025-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-250528/</loc>
    <lastmod>2025-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-250524/</loc>
    <lastmod>2025-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/agents-that-edit-my-codebase-supervised-250524/</loc>
    <lastmod>2025-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-250524/</loc>
    <lastmod>2025-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250519/</loc>
    <lastmod>2025-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-250519/</loc>
    <lastmod>2025-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-250519/</loc>
    <lastmod>2025-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-250517/</loc>
    <lastmod>2025-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-250517/</loc>
    <lastmod>2025-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-250517/</loc>
    <lastmod>2025-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-250509/</loc>
    <lastmod>2025-05-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250509/</loc>
    <lastmod>2025-05-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-250509/</loc>
    <lastmod>2025-05-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-250508/</loc>
    <lastmod>2025-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250508/</loc>
    <lastmod>2025-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-250508/</loc>
    <lastmod>2025-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-250508/</loc>
    <lastmod>2025-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-250501/</loc>
    <lastmod>2025-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-250501/</loc>
    <lastmod>2025-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-250501/</loc>
    <lastmod>2025-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-licence-change-that-broke-the-internet-s-trust-250422/</loc>
    <lastmod>2025-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-250422/</loc>
    <lastmod>2025-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-250422/</loc>
    <lastmod>2025-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-250422/</loc>
    <lastmod>2025-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-250411/</loc>
    <lastmod>2025-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-250411/</loc>
    <lastmod>2025-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-250411/</loc>
    <lastmod>2025-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-250411/</loc>
    <lastmod>2025-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-250328/</loc>
    <lastmod>2025-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-250328/</loc>
    <lastmod>2025-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-250328/</loc>
    <lastmod>2025-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-250318/</loc>
    <lastmod>2025-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-250318/</loc>
    <lastmod>2025-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-250318/</loc>
    <lastmod>2025-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-250318/</loc>
    <lastmod>2025-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-250315/</loc>
    <lastmod>2025-03-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embedded-rust-on-an-stm32-250315/</loc>
    <lastmod>2025-03-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-250315/</loc>
    <lastmod>2025-03-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-250315/</loc>
    <lastmod>2025-03-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-250310/</loc>
    <lastmod>2025-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-250310/</loc>
    <lastmod>2025-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-250310/</loc>
    <lastmod>2025-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250307/</loc>
    <lastmod>2025-03-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-250307/</loc>
    <lastmod>2025-03-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-250307/</loc>
    <lastmod>2025-03-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-250224/</loc>
    <lastmod>2025-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-250224/</loc>
    <lastmod>2025-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-250224/</loc>
    <lastmod>2025-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-250216/</loc>
    <lastmod>2025-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-250216/</loc>
    <lastmod>2025-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-250216/</loc>
    <lastmod>2025-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-250216/</loc>
    <lastmod>2025-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-250215/</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-250215/</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-250215/</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-250215/</loc>
    <lastmod>2025-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-250214/</loc>
    <lastmod>2025-02-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-250214/</loc>
    <lastmod>2025-02-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-250214/</loc>
    <lastmod>2025-02-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-250214/</loc>
    <lastmod>2025-02-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-250119/</loc>
    <lastmod>2025-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-250119/</loc>
    <lastmod>2025-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-250119/</loc>
    <lastmod>2025-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-250119/</loc>
    <lastmod>2025-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-250113/</loc>
    <lastmod>2025-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-250113/</loc>
    <lastmod>2025-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-250113/</loc>
    <lastmod>2025-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-250112/</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-250112/</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-250112/</loc>
    <lastmod>2025-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-250110/</loc>
    <lastmod>2025-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-250110/</loc>
    <lastmod>2025-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-250110/</loc>
    <lastmod>2025-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-250110/</loc>
    <lastmod>2025-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-250101/</loc>
    <lastmod>2025-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/agents-that-edit-my-codebase-supervised-250101/</loc>
    <lastmod>2025-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-250101/</loc>
    <lastmod>2025-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-250101/</loc>
    <lastmod>2025-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-241227/</loc>
    <lastmod>2024-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/local-models-for-code-a-fair-comparison-241227/</loc>
    <lastmod>2024-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-241227/</loc>
    <lastmod>2024-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-241227/</loc>
    <lastmod>2024-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-241210/</loc>
    <lastmod>2024-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-241210/</loc>
    <lastmod>2024-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-241210/</loc>
    <lastmod>2024-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-241205/</loc>
    <lastmod>2024-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-241205/</loc>
    <lastmod>2024-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-241205/</loc>
    <lastmod>2024-12-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-241204/</loc>
    <lastmod>2024-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-241204/</loc>
    <lastmod>2024-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-241204/</loc>
    <lastmod>2024-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-241111/</loc>
    <lastmod>2024-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-241111/</loc>
    <lastmod>2024-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-241111/</loc>
    <lastmod>2024-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-241026/</loc>
    <lastmod>2024-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-241026/</loc>
    <lastmod>2024-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-241026/</loc>
    <lastmod>2024-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-241010/</loc>
    <lastmod>2024-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-241010/</loc>
    <lastmod>2024-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-241010/</loc>
    <lastmod>2024-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-241010/</loc>
    <lastmod>2024-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-241007/</loc>
    <lastmod>2024-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-241007/</loc>
    <lastmod>2024-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-241007/</loc>
    <lastmod>2024-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-241006/</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-241006/</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-241006/</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-241006/</loc>
    <lastmod>2024-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-241004/</loc>
    <lastmod>2024-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-241004/</loc>
    <lastmod>2024-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-241004/</loc>
    <lastmod>2024-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-241004/</loc>
    <lastmod>2024-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-240905/</loc>
    <lastmod>2024-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-240905/</loc>
    <lastmod>2024-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-240905/</loc>
    <lastmod>2024-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-240905/</loc>
    <lastmod>2024-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-240902/</loc>
    <lastmod>2024-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-240902/</loc>
    <lastmod>2024-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-240902/</loc>
    <lastmod>2024-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240902/</loc>
    <lastmod>2024-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-240831/</loc>
    <lastmod>2024-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-240831/</loc>
    <lastmod>2024-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-240831/</loc>
    <lastmod>2024-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-240828/</loc>
    <lastmod>2024-08-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-240828/</loc>
    <lastmod>2024-08-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240828/</loc>
    <lastmod>2024-08-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-240828/</loc>
    <lastmod>2024-08-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-240826/</loc>
    <lastmod>2024-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-240826/</loc>
    <lastmod>2024-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-240826/</loc>
    <lastmod>2024-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-240824/</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-240824/</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-240824/</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-240824/</loc>
    <lastmod>2024-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-240822/</loc>
    <lastmod>2024-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-240822/</loc>
    <lastmod>2024-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-240822/</loc>
    <lastmod>2024-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-240822/</loc>
    <lastmod>2024-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-240818/</loc>
    <lastmod>2024-08-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-240818/</loc>
    <lastmod>2024-08-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-240818/</loc>
    <lastmod>2024-08-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-240814/</loc>
    <lastmod>2024-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-240814/</loc>
    <lastmod>2024-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-240814/</loc>
    <lastmod>2024-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-240814/</loc>
    <lastmod>2024-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-240812/</loc>
    <lastmod>2024-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-240812/</loc>
    <lastmod>2024-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-240812/</loc>
    <lastmod>2024-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-240812/</loc>
    <lastmod>2024-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-240806/</loc>
    <lastmod>2024-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-240806/</loc>
    <lastmod>2024-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-240806/</loc>
    <lastmod>2024-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-240806/</loc>
    <lastmod>2024-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-240803/</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-240803/</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-240803/</loc>
    <lastmod>2024-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-240802/</loc>
    <lastmod>2024-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-240802/</loc>
    <lastmod>2024-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240802/</loc>
    <lastmod>2024-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-240718/</loc>
    <lastmod>2024-07-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-240718/</loc>
    <lastmod>2024-07-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-240718/</loc>
    <lastmod>2024-07-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-240711/</loc>
    <lastmod>2024-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-240711/</loc>
    <lastmod>2024-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-240711/</loc>
    <lastmod>2024-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-240711/</loc>
    <lastmod>2024-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-240709/</loc>
    <lastmod>2024-07-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-240709/</loc>
    <lastmod>2024-07-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-240709/</loc>
    <lastmod>2024-07-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-240628/</loc>
    <lastmod>2024-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-240628/</loc>
    <lastmod>2024-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-240628/</loc>
    <lastmod>2024-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-240626/</loc>
    <lastmod>2024-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-240626/</loc>
    <lastmod>2024-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-240626/</loc>
    <lastmod>2024-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-240621/</loc>
    <lastmod>2024-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-240621/</loc>
    <lastmod>2024-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-announcement-my-whole-timeline-is-arguing-about-240621/</loc>
    <lastmod>2024-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-240619/</loc>
    <lastmod>2024-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-240619/</loc>
    <lastmod>2024-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-240619/</loc>
    <lastmod>2024-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240619/</loc>
    <lastmod>2024-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-240613/</loc>
    <lastmod>2024-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-240613/</loc>
    <lastmod>2024-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-240613/</loc>
    <lastmod>2024-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-240611/</loc>
    <lastmod>2024-06-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-240611/</loc>
    <lastmod>2024-06-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-240611/</loc>
    <lastmod>2024-06-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-240611/</loc>
    <lastmod>2024-06-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-240609/</loc>
    <lastmod>2024-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-240609/</loc>
    <lastmod>2024-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-240609/</loc>
    <lastmod>2024-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-240604/</loc>
    <lastmod>2024-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-240604/</loc>
    <lastmod>2024-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240604/</loc>
    <lastmod>2024-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-240603/</loc>
    <lastmod>2024-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-240603/</loc>
    <lastmod>2024-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-240603/</loc>
    <lastmod>2024-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-240527/</loc>
    <lastmod>2024-05-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-240527/</loc>
    <lastmod>2024-05-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-240527/</loc>
    <lastmod>2024-05-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-240521/</loc>
    <lastmod>2024-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-240521/</loc>
    <lastmod>2024-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-240521/</loc>
    <lastmod>2024-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-gameplay-framework-demystified-slowly-240521/</loc>
    <lastmod>2024-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-240513/</loc>
    <lastmod>2024-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-240513/</loc>
    <lastmod>2024-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-240513/</loc>
    <lastmod>2024-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-240508/</loc>
    <lastmod>2024-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-240508/</loc>
    <lastmod>2024-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-240508/</loc>
    <lastmod>2024-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-240507/</loc>
    <lastmod>2024-05-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embeddings-for-search-on-device-240507/</loc>
    <lastmod>2024-05-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-240507/</loc>
    <lastmod>2024-05-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-240507/</loc>
    <lastmod>2024-05-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fine-tuning-a-small-model-for-one-boring-task-240505/</loc>
    <lastmod>2024-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-240505/</loc>
    <lastmod>2024-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rust-in-production-two-years-of-regrets-and-wins-240505/</loc>
    <lastmod>2024-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-240504/</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-240504/</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240504/</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-240504/</loc>
    <lastmod>2024-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-240503/</loc>
    <lastmod>2024-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-240503/</loc>
    <lastmod>2024-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-240503/</loc>
    <lastmod>2024-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-240427/</loc>
    <lastmod>2024-04-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-240427/</loc>
    <lastmod>2024-04-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-240427/</loc>
    <lastmod>2024-04-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-240423/</loc>
    <lastmod>2024-04-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-240423/</loc>
    <lastmod>2024-04-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-240423/</loc>
    <lastmod>2024-04-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-240423/</loc>
    <lastmod>2024-04-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-240420/</loc>
    <lastmod>2024-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-240420/</loc>
    <lastmod>2024-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-240420/</loc>
    <lastmod>2024-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-240419/</loc>
    <lastmod>2024-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-240419/</loc>
    <lastmod>2024-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-240419/</loc>
    <lastmod>2024-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-240419/</loc>
    <lastmod>2024-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-240414/</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-240414/</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-240414/</loc>
    <lastmod>2024-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-240411/</loc>
    <lastmod>2024-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-240411/</loc>
    <lastmod>2024-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-240411/</loc>
    <lastmod>2024-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-240411/</loc>
    <lastmod>2024-04-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-240408/</loc>
    <lastmod>2024-04-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-240408/</loc>
    <lastmod>2024-04-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-240408/</loc>
    <lastmod>2024-04-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-240406/</loc>
    <lastmod>2024-04-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-240406/</loc>
    <lastmod>2024-04-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-240406/</loc>
    <lastmod>2024-04-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-240401/</loc>
    <lastmod>2024-04-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-240401/</loc>
    <lastmod>2024-04-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-240401/</loc>
    <lastmod>2024-04-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-240328/</loc>
    <lastmod>2024-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-240328/</loc>
    <lastmod>2024-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-240328/</loc>
    <lastmod>2024-03-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-240316/</loc>
    <lastmod>2024-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-240316/</loc>
    <lastmod>2024-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-240316/</loc>
    <lastmod>2024-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-240316/</loc>
    <lastmod>2024-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-240313/</loc>
    <lastmod>2024-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-240313/</loc>
    <lastmod>2024-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-240313/</loc>
    <lastmod>2024-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-240305/</loc>
    <lastmod>2024-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-240305/</loc>
    <lastmod>2024-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-240305/</loc>
    <lastmod>2024-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-240301/</loc>
    <lastmod>2024-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-240301/</loc>
    <lastmod>2024-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-240301/</loc>
    <lastmod>2024-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-240224/</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-240224/</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-240224/</loc>
    <lastmod>2024-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-240223/</loc>
    <lastmod>2024-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-240223/</loc>
    <lastmod>2024-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-240223/</loc>
    <lastmod>2024-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-240220/</loc>
    <lastmod>2024-02-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-240220/</loc>
    <lastmod>2024-02-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-240220/</loc>
    <lastmod>2024-02-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-240217/</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-240217/</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rust-in-production-two-years-of-regrets-and-wins-240217/</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-240217/</loc>
    <lastmod>2024-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-240211/</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-240211/</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-240211/</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-240211/</loc>
    <lastmod>2024-02-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-llm-in-my-shell-and-the-times-it-bit-me-240209/</loc>
    <lastmod>2024-02-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-240209/</loc>
    <lastmod>2024-02-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-240209/</loc>
    <lastmod>2024-02-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-240209/</loc>
    <lastmod>2024-02-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-240206/</loc>
    <lastmod>2024-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-240206/</loc>
    <lastmod>2024-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-announcement-my-whole-timeline-is-arguing-about-240206/</loc>
    <lastmod>2024-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-240201/</loc>
    <lastmod>2024-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-240201/</loc>
    <lastmod>2024-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-240201/</loc>
    <lastmod>2024-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-240131/</loc>
    <lastmod>2024-01-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-240131/</loc>
    <lastmod>2024-01-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-240131/</loc>
    <lastmod>2024-01-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-240131/</loc>
    <lastmod>2024-01-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-240128/</loc>
    <lastmod>2024-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-240128/</loc>
    <lastmod>2024-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-240128/</loc>
    <lastmod>2024-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-240128/</loc>
    <lastmod>2024-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-240126/</loc>
    <lastmod>2024-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-240126/</loc>
    <lastmod>2024-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-240126/</loc>
    <lastmod>2024-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-240126/</loc>
    <lastmod>2024-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-240121/</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-240121/</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-240121/</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-240121/</loc>
    <lastmod>2024-01-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-240112/</loc>
    <lastmod>2024-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-240112/</loc>
    <lastmod>2024-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-240112/</loc>
    <lastmod>2024-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-240107/</loc>
    <lastmod>2024-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-240107/</loc>
    <lastmod>2024-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-240107/</loc>
    <lastmod>2024-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-240106/</loc>
    <lastmod>2024-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rag-and-why-my-first-attempt-was-useless-240106/</loc>
    <lastmod>2024-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-240106/</loc>
    <lastmod>2024-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-240102/</loc>
    <lastmod>2024-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-240102/</loc>
    <lastmod>2024-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-240102/</loc>
    <lastmod>2024-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-240102/</loc>
    <lastmod>2024-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-231231/</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-231231/</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-231231/</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-231231/</loc>
    <lastmod>2023-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-231220/</loc>
    <lastmod>2023-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-231220/</loc>
    <lastmod>2023-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-231220/</loc>
    <lastmod>2023-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-231220/</loc>
    <lastmod>2023-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-231215/</loc>
    <lastmod>2023-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-231215/</loc>
    <lastmod>2023-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-231215/</loc>
    <lastmod>2023-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-231213/</loc>
    <lastmod>2023-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/local-models-for-code-a-fair-comparison-231213/</loc>
    <lastmod>2023-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-231213/</loc>
    <lastmod>2023-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-231210/</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-231210/</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rust-in-production-two-years-of-regrets-and-wins-231210/</loc>
    <lastmod>2023-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-231202/</loc>
    <lastmod>2023-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-231202/</loc>
    <lastmod>2023-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-231202/</loc>
    <lastmod>2023-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-231121/</loc>
    <lastmod>2023-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-231121/</loc>
    <lastmod>2023-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-231121/</loc>
    <lastmod>2023-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-231109/</loc>
    <lastmod>2023-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-231109/</loc>
    <lastmod>2023-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-231109/</loc>
    <lastmod>2023-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-231109/</loc>
    <lastmod>2023-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-231107/</loc>
    <lastmod>2023-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embeddings-for-search-on-device-231107/</loc>
    <lastmod>2023-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-231107/</loc>
    <lastmod>2023-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-231107/</loc>
    <lastmod>2023-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-231103/</loc>
    <lastmod>2023-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-231103/</loc>
    <lastmod>2023-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-231103/</loc>
    <lastmod>2023-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-231026/</loc>
    <lastmod>2023-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-231026/</loc>
    <lastmod>2023-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-231026/</loc>
    <lastmod>2023-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-231024/</loc>
    <lastmod>2023-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-231024/</loc>
    <lastmod>2023-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-231024/</loc>
    <lastmod>2023-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-231019/</loc>
    <lastmod>2023-10-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-231019/</loc>
    <lastmod>2023-10-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-231019/</loc>
    <lastmod>2023-10-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-231016/</loc>
    <lastmod>2023-10-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-231016/</loc>
    <lastmod>2023-10-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-231016/</loc>
    <lastmod>2023-10-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-231015/</loc>
    <lastmod>2023-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-231015/</loc>
    <lastmod>2023-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-231015/</loc>
    <lastmod>2023-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-231008/</loc>
    <lastmod>2023-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-231008/</loc>
    <lastmod>2023-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-231008/</loc>
    <lastmod>2023-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-231008/</loc>
    <lastmod>2023-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-231007/</loc>
    <lastmod>2023-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-231007/</loc>
    <lastmod>2023-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-231007/</loc>
    <lastmod>2023-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-230927/</loc>
    <lastmod>2023-09-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-230927/</loc>
    <lastmod>2023-09-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-230927/</loc>
    <lastmod>2023-09-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-230911/</loc>
    <lastmod>2023-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-230911/</loc>
    <lastmod>2023-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-230911/</loc>
    <lastmod>2023-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-230911/</loc>
    <lastmod>2023-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-230905/</loc>
    <lastmod>2023-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-230905/</loc>
    <lastmod>2023-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-230905/</loc>
    <lastmod>2023-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-230902/</loc>
    <lastmod>2023-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/llama-cpp-on-a-machine-that-has-no-business-doing-this-230902/</loc>
    <lastmod>2023-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/local-models-for-code-a-fair-comparison-230902/</loc>
    <lastmod>2023-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-230902/</loc>
    <lastmod>2023-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-230822/</loc>
    <lastmod>2023-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-230822/</loc>
    <lastmod>2023-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-230822/</loc>
    <lastmod>2023-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-230822/</loc>
    <lastmod>2023-08-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-230817/</loc>
    <lastmod>2023-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-230817/</loc>
    <lastmod>2023-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-gameplay-framework-demystified-slowly-230817/</loc>
    <lastmod>2023-08-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-230813/</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-230813/</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-230813/</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-230813/</loc>
    <lastmod>2023-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-230812/</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-230812/</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-230812/</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-230812/</loc>
    <lastmod>2023-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-230806/</loc>
    <lastmod>2023-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embeddings-for-search-on-device-230806/</loc>
    <lastmod>2023-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-230806/</loc>
    <lastmod>2023-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-230806/</loc>
    <lastmod>2023-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-230805/</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-230805/</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-230805/</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-230805/</loc>
    <lastmod>2023-08-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-230722/</loc>
    <lastmod>2023-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-230722/</loc>
    <lastmod>2023-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-230722/</loc>
    <lastmod>2023-07-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-230720/</loc>
    <lastmod>2023-07-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-230720/</loc>
    <lastmod>2023-07-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-230720/</loc>
    <lastmod>2023-07-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-230706/</loc>
    <lastmod>2023-07-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-230706/</loc>
    <lastmod>2023-07-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-230706/</loc>
    <lastmod>2023-07-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-230706/</loc>
    <lastmod>2023-07-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-230620/</loc>
    <lastmod>2023-06-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-230620/</loc>
    <lastmod>2023-06-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-230620/</loc>
    <lastmod>2023-06-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-230620/</loc>
    <lastmod>2023-06-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-230612/</loc>
    <lastmod>2023-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-230612/</loc>
    <lastmod>2023-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-230612/</loc>
    <lastmod>2023-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-230606/</loc>
    <lastmod>2023-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-230606/</loc>
    <lastmod>2023-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-230606/</loc>
    <lastmod>2023-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-230603/</loc>
    <lastmod>2023-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-230603/</loc>
    <lastmod>2023-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-230603/</loc>
    <lastmod>2023-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-230531/</loc>
    <lastmod>2023-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-230531/</loc>
    <lastmod>2023-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-230531/</loc>
    <lastmod>2023-05-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-230528/</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-230528/</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-230528/</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-230528/</loc>
    <lastmod>2023-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-230519/</loc>
    <lastmod>2023-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-230519/</loc>
    <lastmod>2023-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-230519/</loc>
    <lastmod>2023-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-230519/</loc>
    <lastmod>2023-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embeddings-for-search-on-device-230506/</loc>
    <lastmod>2023-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-230506/</loc>
    <lastmod>2023-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-230506/</loc>
    <lastmod>2023-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-230503/</loc>
    <lastmod>2023-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-230503/</loc>
    <lastmod>2023-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-230503/</loc>
    <lastmod>2023-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-230503/</loc>
    <lastmod>2023-05-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-230419/</loc>
    <lastmod>2023-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-230419/</loc>
    <lastmod>2023-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-230419/</loc>
    <lastmod>2023-04-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-230418/</loc>
    <lastmod>2023-04-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-230418/</loc>
    <lastmod>2023-04-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/local-models-for-code-a-fair-comparison-230418/</loc>
    <lastmod>2023-04-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-230418/</loc>
    <lastmod>2023-04-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-230417/</loc>
    <lastmod>2023-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-230417/</loc>
    <lastmod>2023-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-230417/</loc>
    <lastmod>2023-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-230417/</loc>
    <lastmod>2023-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-230409/</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/building-a-little-agent-that-actually-does-things-230409/</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-230409/</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-230409/</loc>
    <lastmod>2023-04-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-230327/</loc>
    <lastmod>2023-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-230327/</loc>
    <lastmod>2023-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-230327/</loc>
    <lastmod>2023-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-230327/</loc>
    <lastmod>2023-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-230312/</loc>
    <lastmod>2023-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-230312/</loc>
    <lastmod>2023-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-230312/</loc>
    <lastmod>2023-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-230311/</loc>
    <lastmod>2023-03-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-230311/</loc>
    <lastmod>2023-03-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-230311/</loc>
    <lastmod>2023-03-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-230310/</loc>
    <lastmod>2023-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-230310/</loc>
    <lastmod>2023-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-230310/</loc>
    <lastmod>2023-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-230310/</loc>
    <lastmod>2023-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-230303/</loc>
    <lastmod>2023-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-230303/</loc>
    <lastmod>2023-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-230303/</loc>
    <lastmod>2023-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-230228/</loc>
    <lastmod>2023-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-230228/</loc>
    <lastmod>2023-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-230228/</loc>
    <lastmod>2023-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-230210/</loc>
    <lastmod>2023-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-230210/</loc>
    <lastmod>2023-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-230210/</loc>
    <lastmod>2023-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-230124/</loc>
    <lastmod>2023-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-230124/</loc>
    <lastmod>2023-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-230124/</loc>
    <lastmod>2023-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-230116/</loc>
    <lastmod>2023-01-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-230116/</loc>
    <lastmod>2023-01-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-230116/</loc>
    <lastmod>2023-01-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-230115/</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-outage-i-watched-unfold-in-real-time-230115/</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-230115/</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-230115/</loc>
    <lastmod>2023-01-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-230111/</loc>
    <lastmod>2023-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-230111/</loc>
    <lastmod>2023-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-230111/</loc>
    <lastmod>2023-01-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-230107/</loc>
    <lastmod>2023-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-230107/</loc>
    <lastmod>2023-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-230107/</loc>
    <lastmod>2023-01-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-230101/</loc>
    <lastmod>2023-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-230101/</loc>
    <lastmod>2023-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-230101/</loc>
    <lastmod>2023-01-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-221230/</loc>
    <lastmod>2022-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-221230/</loc>
    <lastmod>2022-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-221230/</loc>
    <lastmod>2022-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-221226/</loc>
    <lastmod>2022-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-221226/</loc>
    <lastmod>2022-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221226/</loc>
    <lastmod>2022-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-221220/</loc>
    <lastmod>2022-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-221220/</loc>
    <lastmod>2022-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221220/</loc>
    <lastmod>2022-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-221219/</loc>
    <lastmod>2022-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-221219/</loc>
    <lastmod>2022-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-221219/</loc>
    <lastmod>2022-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-221219/</loc>
    <lastmod>2022-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-221123/</loc>
    <lastmod>2022-11-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221123/</loc>
    <lastmod>2022-11-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-221123/</loc>
    <lastmod>2022-11-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-221121/</loc>
    <lastmod>2022-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-221121/</loc>
    <lastmod>2022-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221121/</loc>
    <lastmod>2022-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-221121/</loc>
    <lastmod>2022-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-221115/</loc>
    <lastmod>2022-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-221115/</loc>
    <lastmod>2022-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-221115/</loc>
    <lastmod>2022-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-221031/</loc>
    <lastmod>2022-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-221031/</loc>
    <lastmod>2022-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embedded-rust-on-an-stm32-221031/</loc>
    <lastmod>2022-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-221031/</loc>
    <lastmod>2022-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-221026/</loc>
    <lastmod>2022-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-221026/</loc>
    <lastmod>2022-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-221026/</loc>
    <lastmod>2022-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-licence-change-that-broke-the-internet-s-trust-221025/</loc>
    <lastmod>2022-10-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-221025/</loc>
    <lastmod>2022-10-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221025/</loc>
    <lastmod>2022-10-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-221025/</loc>
    <lastmod>2022-10-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-221024/</loc>
    <lastmod>2022-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-221024/</loc>
    <lastmod>2022-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-221024/</loc>
    <lastmod>2022-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-221021/</loc>
    <lastmod>2022-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-221021/</loc>
    <lastmod>2022-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-221021/</loc>
    <lastmod>2022-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-221020/</loc>
    <lastmod>2022-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-221020/</loc>
    <lastmod>2022-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-221020/</loc>
    <lastmod>2022-10-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-221015/</loc>
    <lastmod>2022-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-221015/</loc>
    <lastmod>2022-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-221015/</loc>
    <lastmod>2022-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-221015/</loc>
    <lastmod>2022-10-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-220919/</loc>
    <lastmod>2022-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-220919/</loc>
    <lastmod>2022-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-220919/</loc>
    <lastmod>2022-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-220913/</loc>
    <lastmod>2022-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-220913/</loc>
    <lastmod>2022-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220913/</loc>
    <lastmod>2022-09-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-220902/</loc>
    <lastmod>2022-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-220902/</loc>
    <lastmod>2022-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-220902/</loc>
    <lastmod>2022-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-220901/</loc>
    <lastmod>2022-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-220901/</loc>
    <lastmod>2022-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-220901/</loc>
    <lastmod>2022-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-220901/</loc>
    <lastmod>2022-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-220831/</loc>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-220831/</loc>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-220831/</loc>
    <lastmod>2022-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-licence-change-that-broke-the-internet-s-trust-220823/</loc>
    <lastmod>2022-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-220823/</loc>
    <lastmod>2022-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-220823/</loc>
    <lastmod>2022-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-220823/</loc>
    <lastmod>2022-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-220821/</loc>
    <lastmod>2022-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-220821/</loc>
    <lastmod>2022-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rust-in-production-two-years-of-regrets-and-wins-220821/</loc>
    <lastmod>2022-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-220821/</loc>
    <lastmod>2022-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-220816/</loc>
    <lastmod>2022-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-220816/</loc>
    <lastmod>2022-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-220816/</loc>
    <lastmod>2022-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-220816/</loc>
    <lastmod>2022-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-220812/</loc>
    <lastmod>2022-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-220812/</loc>
    <lastmod>2022-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-220812/</loc>
    <lastmod>2022-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-220810/</loc>
    <lastmod>2022-08-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-220810/</loc>
    <lastmod>2022-08-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-220810/</loc>
    <lastmod>2022-08-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-220806/</loc>
    <lastmod>2022-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-220806/</loc>
    <lastmod>2022-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-220806/</loc>
    <lastmod>2022-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-220806/</loc>
    <lastmod>2022-08-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-220804/</loc>
    <lastmod>2022-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/generics-in-go-do-i-even-need-them-220804/</loc>
    <lastmod>2022-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-220804/</loc>
    <lastmod>2022-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-220804/</loc>
    <lastmod>2022-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-220803/</loc>
    <lastmod>2022-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-220803/</loc>
    <lastmod>2022-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-220803/</loc>
    <lastmod>2022-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-220802/</loc>
    <lastmod>2022-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-220802/</loc>
    <lastmod>2022-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-220802/</loc>
    <lastmod>2022-08-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-220801/</loc>
    <lastmod>2022-08-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-220801/</loc>
    <lastmod>2022-08-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-220801/</loc>
    <lastmod>2022-08-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-220729/</loc>
    <lastmod>2022-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-220729/</loc>
    <lastmod>2022-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-220729/</loc>
    <lastmod>2022-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-gameplay-framework-demystified-slowly-220729/</loc>
    <lastmod>2022-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-220727/</loc>
    <lastmod>2022-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-220727/</loc>
    <lastmod>2022-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220727/</loc>
    <lastmod>2022-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-220714/</loc>
    <lastmod>2022-07-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-220714/</loc>
    <lastmod>2022-07-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-launch-that-s-dominating-tech-this-week-220714/</loc>
    <lastmod>2022-07-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-220714/</loc>
    <lastmod>2022-07-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-220705/</loc>
    <lastmod>2022-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-220705/</loc>
    <lastmod>2022-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-220705/</loc>
    <lastmod>2022-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-220704/</loc>
    <lastmod>2022-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-220704/</loc>
    <lastmod>2022-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-220704/</loc>
    <lastmod>2022-07-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-220702/</loc>
    <lastmod>2022-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-220702/</loc>
    <lastmod>2022-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-220702/</loc>
    <lastmod>2022-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-220626/</loc>
    <lastmod>2022-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-220626/</loc>
    <lastmod>2022-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-220626/</loc>
    <lastmod>2022-06-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-220625/</loc>
    <lastmod>2022-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-220625/</loc>
    <lastmod>2022-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-220625/</loc>
    <lastmod>2022-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-220625/</loc>
    <lastmod>2022-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-220622/</loc>
    <lastmod>2022-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220622/</loc>
    <lastmod>2022-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-220622/</loc>
    <lastmod>2022-06-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-220613/</loc>
    <lastmod>2022-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-220613/</loc>
    <lastmod>2022-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-220613/</loc>
    <lastmod>2022-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-220609/</loc>
    <lastmod>2022-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-220609/</loc>
    <lastmod>2022-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-220609/</loc>
    <lastmod>2022-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-220602/</loc>
    <lastmod>2022-06-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-220602/</loc>
    <lastmod>2022-06-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-220602/</loc>
    <lastmod>2022-06-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-220602/</loc>
    <lastmod>2022-06-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-220524/</loc>
    <lastmod>2022-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-220524/</loc>
    <lastmod>2022-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-220524/</loc>
    <lastmod>2022-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-220524/</loc>
    <lastmod>2022-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-220522/</loc>
    <lastmod>2022-05-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-220522/</loc>
    <lastmod>2022-05-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-220522/</loc>
    <lastmod>2022-05-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-220520/</loc>
    <lastmod>2022-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-220520/</loc>
    <lastmod>2022-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-220520/</loc>
    <lastmod>2022-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-licence-change-that-broke-the-internet-s-trust-220519/</loc>
    <lastmod>2022-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-220519/</loc>
    <lastmod>2022-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-220519/</loc>
    <lastmod>2022-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-220519/</loc>
    <lastmod>2022-05-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-220516/</loc>
    <lastmod>2022-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220516/</loc>
    <lastmod>2022-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-220516/</loc>
    <lastmod>2022-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-220516/</loc>
    <lastmod>2022-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-220425/</loc>
    <lastmod>2022-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-220425/</loc>
    <lastmod>2022-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-220425/</loc>
    <lastmod>2022-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-220415/</loc>
    <lastmod>2022-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-220415/</loc>
    <lastmod>2022-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-220415/</loc>
    <lastmod>2022-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-220415/</loc>
    <lastmod>2022-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-220413/</loc>
    <lastmod>2022-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-220413/</loc>
    <lastmod>2022-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-220413/</loc>
    <lastmod>2022-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-220413/</loc>
    <lastmod>2022-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-220412/</loc>
    <lastmod>2022-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-220412/</loc>
    <lastmod>2022-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220412/</loc>
    <lastmod>2022-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-220412/</loc>
    <lastmod>2022-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-220407/</loc>
    <lastmod>2022-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-220407/</loc>
    <lastmod>2022-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-220407/</loc>
    <lastmod>2022-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-220407/</loc>
    <lastmod>2022-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-220405/</loc>
    <lastmod>2022-04-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-220405/</loc>
    <lastmod>2022-04-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-220405/</loc>
    <lastmod>2022-04-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-220405/</loc>
    <lastmod>2022-04-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-220327/</loc>
    <lastmod>2022-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-220327/</loc>
    <lastmod>2022-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-220327/</loc>
    <lastmod>2022-03-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-220318/</loc>
    <lastmod>2022-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-220318/</loc>
    <lastmod>2022-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-220318/</loc>
    <lastmod>2022-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-220318/</loc>
    <lastmod>2022-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-220306/</loc>
    <lastmod>2022-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-220306/</loc>
    <lastmod>2022-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-220306/</loc>
    <lastmod>2022-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-220306/</loc>
    <lastmod>2022-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-220302/</loc>
    <lastmod>2022-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-220302/</loc>
    <lastmod>2022-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-220302/</loc>
    <lastmod>2022-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-220302/</loc>
    <lastmod>2022-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-220228/</loc>
    <lastmod>2022-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-220228/</loc>
    <lastmod>2022-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-220228/</loc>
    <lastmod>2022-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-220228/</loc>
    <lastmod>2022-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-220213/</loc>
    <lastmod>2022-02-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-220213-2/</loc>
    <lastmod>2022-02-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-220213/</loc>
    <lastmod>2022-02-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-220208/</loc>
    <lastmod>2022-02-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220208/</loc>
    <lastmod>2022-02-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-220208/</loc>
    <lastmod>2022-02-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-220208/</loc>
    <lastmod>2022-02-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-220203/</loc>
    <lastmod>2022-02-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-220203/</loc>
    <lastmod>2022-02-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-220203/</loc>
    <lastmod>2022-02-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-220125/</loc>
    <lastmod>2022-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-220125/</loc>
    <lastmod>2022-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-220125/</loc>
    <lastmod>2022-01-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-220124/</loc>
    <lastmod>2022-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-220124/</loc>
    <lastmod>2022-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-220124/</loc>
    <lastmod>2022-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-220124/</loc>
    <lastmod>2022-01-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-220109/</loc>
    <lastmod>2022-01-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-220109/</loc>
    <lastmod>2022-01-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-220109/</loc>
    <lastmod>2022-01-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-220109/</loc>
    <lastmod>2022-01-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-220103/</loc>
    <lastmod>2022-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-220103/</loc>
    <lastmod>2022-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-a-local-llm-on-a-spare-gpu-220103/</loc>
    <lastmod>2022-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-220103/</loc>
    <lastmod>2022-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-211226/</loc>
    <lastmod>2021-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-211226/</loc>
    <lastmod>2021-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-211226/</loc>
    <lastmod>2021-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-211215/</loc>
    <lastmod>2021-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-211215/</loc>
    <lastmod>2021-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-211215/</loc>
    <lastmod>2021-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-211214/</loc>
    <lastmod>2021-12-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-211214/</loc>
    <lastmod>2021-12-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-211214/</loc>
    <lastmod>2021-12-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-211214/</loc>
    <lastmod>2021-12-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-211202/</loc>
    <lastmod>2021-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-211202/</loc>
    <lastmod>2021-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-211202/</loc>
    <lastmod>2021-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-211202/</loc>
    <lastmod>2021-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-211127/</loc>
    <lastmod>2021-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-211127/</loc>
    <lastmod>2021-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-211127/</loc>
    <lastmod>2021-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-211110/</loc>
    <lastmod>2021-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-211110/</loc>
    <lastmod>2021-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-211110/</loc>
    <lastmod>2021-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-211027/</loc>
    <lastmod>2021-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-211027/</loc>
    <lastmod>2021-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-211027/</loc>
    <lastmod>2021-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-211027/</loc>
    <lastmod>2021-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-211008/</loc>
    <lastmod>2021-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-211008/</loc>
    <lastmod>2021-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-211008/</loc>
    <lastmod>2021-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-211008/</loc>
    <lastmod>2021-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-210917/</loc>
    <lastmod>2021-09-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-210917/</loc>
    <lastmod>2021-09-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-210917/</loc>
    <lastmod>2021-09-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-210917/</loc>
    <lastmod>2021-09-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-210915/</loc>
    <lastmod>2021-09-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-210915/</loc>
    <lastmod>2021-09-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-210915/</loc>
    <lastmod>2021-09-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-210915/</loc>
    <lastmod>2021-09-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-210912/</loc>
    <lastmod>2021-09-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-210912/</loc>
    <lastmod>2021-09-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-210912/</loc>
    <lastmod>2021-09-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-210902/</loc>
    <lastmod>2021-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-210902/</loc>
    <lastmod>2021-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-210902/</loc>
    <lastmod>2021-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-210902/</loc>
    <lastmod>2021-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-210831/</loc>
    <lastmod>2021-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-210831/</loc>
    <lastmod>2021-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-210831/</loc>
    <lastmod>2021-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-210826/</loc>
    <lastmod>2021-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-210826/</loc>
    <lastmod>2021-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-210826/</loc>
    <lastmod>2021-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-210826/</loc>
    <lastmod>2021-08-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-210816/</loc>
    <lastmod>2021-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-210816/</loc>
    <lastmod>2021-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-210816/</loc>
    <lastmod>2021-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-210816/</loc>
    <lastmod>2021-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-210814/</loc>
    <lastmod>2021-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-210814/</loc>
    <lastmod>2021-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-210814/</loc>
    <lastmod>2021-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-210812/</loc>
    <lastmod>2021-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-210812/</loc>
    <lastmod>2021-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-210812/</loc>
    <lastmod>2021-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-210812/</loc>
    <lastmod>2021-08-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-210729-2/</loc>
    <lastmod>2021-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-210729/</loc>
    <lastmod>2021-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-210729/</loc>
    <lastmod>2021-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-210729/</loc>
    <lastmod>2021-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-210727/</loc>
    <lastmod>2021-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-210727/</loc>
    <lastmod>2021-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-210727/</loc>
    <lastmod>2021-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-210727/</loc>
    <lastmod>2021-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-210721/</loc>
    <lastmod>2021-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-210721/</loc>
    <lastmod>2021-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-210721/</loc>
    <lastmod>2021-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-210716/</loc>
    <lastmod>2021-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-210716/</loc>
    <lastmod>2021-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-210716/</loc>
    <lastmod>2021-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-210712/</loc>
    <lastmod>2021-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-210712/</loc>
    <lastmod>2021-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-210712/</loc>
    <lastmod>2021-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-210707/</loc>
    <lastmod>2021-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-210707/</loc>
    <lastmod>2021-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-210707/</loc>
    <lastmod>2021-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-210630/</loc>
    <lastmod>2021-06-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-210630/</loc>
    <lastmod>2021-06-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-210630/</loc>
    <lastmod>2021-06-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-210616/</loc>
    <lastmod>2021-06-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-210616/</loc>
    <lastmod>2021-06-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-210616/</loc>
    <lastmod>2021-06-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-210616/</loc>
    <lastmod>2021-06-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-210603/</loc>
    <lastmod>2021-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-210603/</loc>
    <lastmod>2021-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-210603/</loc>
    <lastmod>2021-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-210603/</loc>
    <lastmod>2021-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-210521/</loc>
    <lastmod>2021-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embedded-rust-on-an-stm32-210521/</loc>
    <lastmod>2021-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-210521/</loc>
    <lastmod>2021-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-210521/</loc>
    <lastmod>2021-05-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-210518/</loc>
    <lastmod>2021-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-210518/</loc>
    <lastmod>2021-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-210518/</loc>
    <lastmod>2021-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-210518/</loc>
    <lastmod>2021-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-210517/</loc>
    <lastmod>2021-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-210517/</loc>
    <lastmod>2021-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-210517/</loc>
    <lastmod>2021-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-210517/</loc>
    <lastmod>2021-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-210515/</loc>
    <lastmod>2021-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-210515/</loc>
    <lastmod>2021-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-210515/</loc>
    <lastmod>2021-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-210512/</loc>
    <lastmod>2021-05-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-210512/</loc>
    <lastmod>2021-05-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-210512/</loc>
    <lastmod>2021-05-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-210510/</loc>
    <lastmod>2021-05-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-210510/</loc>
    <lastmod>2021-05-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-210510/</loc>
    <lastmod>2021-05-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-210510/</loc>
    <lastmod>2021-05-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-210501/</loc>
    <lastmod>2021-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-210501/</loc>
    <lastmod>2021-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-210501/</loc>
    <lastmod>2021-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-210501/</loc>
    <lastmod>2021-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-210426/</loc>
    <lastmod>2021-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-210426-2/</loc>
    <lastmod>2021-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-210426/</loc>
    <lastmod>2021-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-210426/</loc>
    <lastmod>2021-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-210420/</loc>
    <lastmod>2021-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-210420/</loc>
    <lastmod>2021-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-210420/</loc>
    <lastmod>2021-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-210420/</loc>
    <lastmod>2021-04-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-210410/</loc>
    <lastmod>2021-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-210410/</loc>
    <lastmod>2021-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-210410/</loc>
    <lastmod>2021-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-210331/</loc>
    <lastmod>2021-03-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-210331/</loc>
    <lastmod>2021-03-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-210331/</loc>
    <lastmod>2021-03-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-210330/</loc>
    <lastmod>2021-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-210330/</loc>
    <lastmod>2021-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-210330/</loc>
    <lastmod>2021-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-210323/</loc>
    <lastmod>2021-03-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-210323/</loc>
    <lastmod>2021-03-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-210323/</loc>
    <lastmod>2021-03-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-210322/</loc>
    <lastmod>2021-03-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-210322/</loc>
    <lastmod>2021-03-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-210322/</loc>
    <lastmod>2021-03-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-210320/</loc>
    <lastmod>2021-03-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-210320/</loc>
    <lastmod>2021-03-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-210320/</loc>
    <lastmod>2021-03-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-210318/</loc>
    <lastmod>2021-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-210318/</loc>
    <lastmod>2021-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-210318/</loc>
    <lastmod>2021-03-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cache-misses-and-why-the-fast-version-was-slow-210316/</loc>
    <lastmod>2021-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-210316/</loc>
    <lastmod>2021-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-210316/</loc>
    <lastmod>2021-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-210316/</loc>
    <lastmod>2021-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-210306/</loc>
    <lastmod>2021-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-210306/</loc>
    <lastmod>2021-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-210306/</loc>
    <lastmod>2021-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-210228/</loc>
    <lastmod>2021-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-210228/</loc>
    <lastmod>2021-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-210228/</loc>
    <lastmod>2021-02-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kvm-over-ip-built-from-a-pi-210223/</loc>
    <lastmod>2021-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-210223/</loc>
    <lastmod>2021-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-210223/</loc>
    <lastmod>2021-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-210206/</loc>
    <lastmod>2021-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-210206/</loc>
    <lastmod>2021-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nextcloud-again-properly-this-time-210206/</loc>
    <lastmod>2021-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-210206/</loc>
    <lastmod>2021-02-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-210128/</loc>
    <lastmod>2021-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-210128/</loc>
    <lastmod>2021-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-210128/</loc>
    <lastmod>2021-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-210126/</loc>
    <lastmod>2021-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-210126/</loc>
    <lastmod>2021-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-210126/</loc>
    <lastmod>2021-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-210120/</loc>
    <lastmod>2021-01-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-210120/</loc>
    <lastmod>2021-01-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-210120/</loc>
    <lastmod>2021-01-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-gameplay-framework-demystified-slowly-210120/</loc>
    <lastmod>2021-01-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-210112/</loc>
    <lastmod>2021-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-210112/</loc>
    <lastmod>2021-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/trait-objects-vs-generics-a-real-benchmark-210112/</loc>
    <lastmod>2021-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-210110/</loc>
    <lastmod>2021-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-210110/</loc>
    <lastmod>2021-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-210110/</loc>
    <lastmod>2021-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-210110/</loc>
    <lastmod>2021-01-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-210103/</loc>
    <lastmod>2021-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-210103/</loc>
    <lastmod>2021-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-bug-was-in-my-assumptions-not-the-code-210103/</loc>
    <lastmod>2021-01-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-201230/</loc>
    <lastmod>2020-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-201230/</loc>
    <lastmod>2020-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-201230/</loc>
    <lastmod>2020-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-201223/</loc>
    <lastmod>2020-12-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-201223/</loc>
    <lastmod>2020-12-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-201223/</loc>
    <lastmod>2020-12-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-201223/</loc>
    <lastmod>2020-12-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-201215/</loc>
    <lastmod>2020-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-201215/</loc>
    <lastmod>2020-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-201215/</loc>
    <lastmod>2020-12-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-201213/</loc>
    <lastmod>2020-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-201213/</loc>
    <lastmod>2020-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-201213/</loc>
    <lastmod>2020-12-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-201202/</loc>
    <lastmod>2020-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-201202/</loc>
    <lastmod>2020-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-201202/</loc>
    <lastmod>2020-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-201202/</loc>
    <lastmod>2020-12-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-201125/</loc>
    <lastmod>2020-11-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-201125/</loc>
    <lastmod>2020-11-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-201125/</loc>
    <lastmod>2020-11-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-201115/</loc>
    <lastmod>2020-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-201115/</loc>
    <lastmod>2020-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rootless-containers-without-losing-my-mind-201115/</loc>
    <lastmod>2020-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-201103/</loc>
    <lastmod>2020-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-201103/</loc>
    <lastmod>2020-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-201103/</loc>
    <lastmod>2020-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-201103/</loc>
    <lastmod>2020-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-201028/</loc>
    <lastmod>2020-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-wan-failover-that-actually-fails-over-201028/</loc>
    <lastmod>2020-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-201028/</loc>
    <lastmod>2020-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-201028/</loc>
    <lastmod>2020-10-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-201021/</loc>
    <lastmod>2020-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-201021/</loc>
    <lastmod>2020-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-201021/</loc>
    <lastmod>2020-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-201021/</loc>
    <lastmod>2020-10-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-201018/</loc>
    <lastmod>2020-10-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-201018/</loc>
    <lastmod>2020-10-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-201018/</loc>
    <lastmod>2020-10-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-201012/</loc>
    <lastmod>2020-10-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-201012/</loc>
    <lastmod>2020-10-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-201012/</loc>
    <lastmod>2020-10-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-201012/</loc>
    <lastmod>2020-10-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-201008/</loc>
    <lastmod>2020-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-201008/</loc>
    <lastmod>2020-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-201008/</loc>
    <lastmod>2020-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-201008/</loc>
    <lastmod>2020-10-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-200928/</loc>
    <lastmod>2020-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-200928/</loc>
    <lastmod>2020-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-200928/</loc>
    <lastmod>2020-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-200907/</loc>
    <lastmod>2020-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-200907/</loc>
    <lastmod>2020-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-200907/</loc>
    <lastmod>2020-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-200907/</loc>
    <lastmod>2020-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-200903/</loc>
    <lastmod>2020-09-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-200903/</loc>
    <lastmod>2020-09-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-200903/</loc>
    <lastmod>2020-09-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-200831/</loc>
    <lastmod>2020-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-200831/</loc>
    <lastmod>2020-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-200831/</loc>
    <lastmod>2020-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-200827/</loc>
    <lastmod>2020-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-200827/</loc>
    <lastmod>2020-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-200827/</loc>
    <lastmod>2020-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-200814/</loc>
    <lastmod>2020-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-200814/</loc>
    <lastmod>2020-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-200814/</loc>
    <lastmod>2020-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-200814/</loc>
    <lastmod>2020-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-200813/</loc>
    <lastmod>2020-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-200813/</loc>
    <lastmod>2020-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-200813/</loc>
    <lastmod>2020-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-200813/</loc>
    <lastmod>2020-08-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-200717/</loc>
    <lastmod>2020-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-200717/</loc>
    <lastmod>2020-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-200717/</loc>
    <lastmod>2020-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-200712/</loc>
    <lastmod>2020-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-200712/</loc>
    <lastmod>2020-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-200712/</loc>
    <lastmod>2020-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-200710/</loc>
    <lastmod>2020-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-200710/</loc>
    <lastmod>2020-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-200710/</loc>
    <lastmod>2020-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-200708/</loc>
    <lastmod>2020-07-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-200708/</loc>
    <lastmod>2020-07-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-200708/</loc>
    <lastmod>2020-07-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-200708/</loc>
    <lastmod>2020-07-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-200705/</loc>
    <lastmod>2020-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-200705/</loc>
    <lastmod>2020-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-200705/</loc>
    <lastmod>2020-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-200628/</loc>
    <lastmod>2020-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-200628/</loc>
    <lastmod>2020-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-200628/</loc>
    <lastmod>2020-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-200628/</loc>
    <lastmod>2020-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-200627/</loc>
    <lastmod>2020-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-200627/</loc>
    <lastmod>2020-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-keynote-that-everyone-has-an-opinion-on-200627/</loc>
    <lastmod>2020-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-200621/</loc>
    <lastmod>2020-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-200621/</loc>
    <lastmod>2020-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-200621/</loc>
    <lastmod>2020-06-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-200620/</loc>
    <lastmod>2020-06-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-200617/</loc>
    <lastmod>2020-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-200617/</loc>
    <lastmod>2020-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-200617/</loc>
    <lastmod>2020-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-200612/</loc>
    <lastmod>2020-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-200612/</loc>
    <lastmod>2020-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-200612/</loc>
    <lastmod>2020-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-200612/</loc>
    <lastmod>2020-06-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-200608/</loc>
    <lastmod>2020-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-200608/</loc>
    <lastmod>2020-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-200608/</loc>
    <lastmod>2020-06-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-200604/</loc>
    <lastmod>2020-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-200604/</loc>
    <lastmod>2020-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-200604/</loc>
    <lastmod>2020-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-200604/</loc>
    <lastmod>2020-06-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-200601/</loc>
    <lastmod>2020-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-200601/</loc>
    <lastmod>2020-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-200601/</loc>
    <lastmod>2020-06-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-200524/</loc>
    <lastmod>2020-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-200524/</loc>
    <lastmod>2020-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/embedded-rust-on-an-stm32-200524/</loc>
    <lastmod>2020-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-200524/</loc>
    <lastmod>2020-05-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-200523/</loc>
    <lastmod>2020-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-200523/</loc>
    <lastmod>2020-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/working-from-home-the-honest-version-200523/</loc>
    <lastmod>2020-05-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-200515/</loc>
    <lastmod>2020-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-200515/</loc>
    <lastmod>2020-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-200515/</loc>
    <lastmod>2020-05-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-200508/</loc>
    <lastmod>2020-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-200508/</loc>
    <lastmod>2020-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-200508/</loc>
    <lastmod>2020-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-200424/</loc>
    <lastmod>2020-04-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-200424/</loc>
    <lastmod>2020-04-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-200424/</loc>
    <lastmod>2020-04-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-200422/</loc>
    <lastmod>2020-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-200422/</loc>
    <lastmod>2020-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-200422/</loc>
    <lastmod>2020-04-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-200417/</loc>
    <lastmod>2020-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-200417/</loc>
    <lastmod>2020-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-200417/</loc>
    <lastmod>2020-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-200417/</loc>
    <lastmod>2020-04-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-200415/</loc>
    <lastmod>2020-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-200415/</loc>
    <lastmod>2020-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/structured-logging-in-go-finally-sane-200415/</loc>
    <lastmod>2020-04-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-200414/</loc>
    <lastmod>2020-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-200414/</loc>
    <lastmod>2020-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-200414/</loc>
    <lastmod>2020-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-200414/</loc>
    <lastmod>2020-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-200412/</loc>
    <lastmod>2020-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-200412/</loc>
    <lastmod>2020-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-services-off-the-cloud-and-back-home-200412/</loc>
    <lastmod>2020-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-200412/</loc>
    <lastmod>2020-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-200403/</loc>
    <lastmod>2020-04-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-200403/</loc>
    <lastmod>2020-04-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-200403/</loc>
    <lastmod>2020-04-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-200403/</loc>
    <lastmod>2020-04-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-200312/</loc>
    <lastmod>2020-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-200312/</loc>
    <lastmod>2020-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-200312/</loc>
    <lastmod>2020-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-200312/</loc>
    <lastmod>2020-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-200309/</loc>
    <lastmod>2020-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-200309/</loc>
    <lastmod>2020-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-200309/</loc>
    <lastmod>2020-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-200308/</loc>
    <lastmod>2020-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-200308/</loc>
    <lastmod>2020-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-200308/</loc>
    <lastmod>2020-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-200219/</loc>
    <lastmod>2020-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-200219/</loc>
    <lastmod>2020-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-200219/</loc>
    <lastmod>2020-02-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-200215/</loc>
    <lastmod>2020-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-200215/</loc>
    <lastmod>2020-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/usb-power-delivery-the-reverse-engineering-200215/</loc>
    <lastmod>2020-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-200215/</loc>
    <lastmod>2020-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-200201/</loc>
    <lastmod>2020-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/multi-material-and-whether-it-s-worth-it-200201/</loc>
    <lastmod>2020-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-200201/</loc>
    <lastmod>2020-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-200126/</loc>
    <lastmod>2020-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-200126/</loc>
    <lastmod>2020-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tcpdump-saved-me-again-200126/</loc>
    <lastmod>2020-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-200126/</loc>
    <lastmod>2020-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-200117/</loc>
    <lastmod>2020-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-200117/</loc>
    <lastmod>2020-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-200117/</loc>
    <lastmod>2020-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-200117/</loc>
    <lastmod>2020-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-200112/</loc>
    <lastmod>2020-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-200112/</loc>
    <lastmod>2020-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tailscale-and-giving-up-on-port-forwarding-200112/</loc>
    <lastmod>2020-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-191231/</loc>
    <lastmod>2019-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/exposing-c-to-blueprints-without-regret-191231/</loc>
    <lastmod>2019-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-191231/</loc>
    <lastmod>2019-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-191231/</loc>
    <lastmod>2019-12-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-191227/</loc>
    <lastmod>2019-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-191227/</loc>
    <lastmod>2019-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-191227/</loc>
    <lastmod>2019-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-191227/</loc>
    <lastmod>2019-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-191225/</loc>
    <lastmod>2019-12-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-191225/</loc>
    <lastmod>2019-12-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-191225/</loc>
    <lastmod>2019-12-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-191219/</loc>
    <lastmod>2019-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-191219/</loc>
    <lastmod>2019-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rediscovering-an-old-hobby-191219/</loc>
    <lastmod>2019-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-191219/</loc>
    <lastmod>2019-12-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-191212/</loc>
    <lastmod>2019-12-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-191212/</loc>
    <lastmod>2019-12-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-191212/</loc>
    <lastmod>2019-12-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-191211/</loc>
    <lastmod>2019-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-191211/</loc>
    <lastmod>2019-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-191211/</loc>
    <lastmod>2019-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-191211/</loc>
    <lastmod>2019-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-191210/</loc>
    <lastmod>2019-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/exposing-c-to-blueprints-without-regret-191210/</loc>
    <lastmod>2019-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-191210/</loc>
    <lastmod>2019-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-191210/</loc>
    <lastmod>2019-12-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-191204/</loc>
    <lastmod>2019-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-191204/</loc>
    <lastmod>2019-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-191204/</loc>
    <lastmod>2019-12-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-191203/</loc>
    <lastmod>2019-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-191203/</loc>
    <lastmod>2019-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-191203/</loc>
    <lastmod>2019-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-191201/</loc>
    <lastmod>2019-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-191201/</loc>
    <lastmod>2019-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-191201/</loc>
    <lastmod>2019-12-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-191121/</loc>
    <lastmod>2019-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-191121/</loc>
    <lastmod>2019-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-191121/</loc>
    <lastmod>2019-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-191120/</loc>
    <lastmod>2019-11-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-191120/</loc>
    <lastmod>2019-11-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/profiling-a-go-service-under-load-191120/</loc>
    <lastmod>2019-11-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-191115/</loc>
    <lastmod>2019-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-191115-2/</loc>
    <lastmod>2019-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-191115/</loc>
    <lastmod>2019-11-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-191108/</loc>
    <lastmod>2019-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-191108/</loc>
    <lastmod>2019-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-191108/</loc>
    <lastmod>2019-11-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-191107/</loc>
    <lastmod>2019-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-191107/</loc>
    <lastmod>2019-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-191107/</loc>
    <lastmod>2019-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-191107/</loc>
    <lastmod>2019-11-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-191103/</loc>
    <lastmod>2019-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/async-await-landed-and-i-rewrote-everything-191103/</loc>
    <lastmod>2019-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-191103/</loc>
    <lastmod>2019-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-191027/</loc>
    <lastmod>2019-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-191027/</loc>
    <lastmod>2019-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-191027/</loc>
    <lastmod>2019-10-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-191022/</loc>
    <lastmod>2019-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-191022/</loc>
    <lastmod>2019-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-191022/</loc>
    <lastmod>2019-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-191014/</loc>
    <lastmod>2019-10-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-191014/</loc>
    <lastmod>2019-10-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-191014/</loc>
    <lastmod>2019-10-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-191010/</loc>
    <lastmod>2019-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-191010/</loc>
    <lastmod>2019-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-191010/</loc>
    <lastmod>2019-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-191010/</loc>
    <lastmod>2019-10-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-190918/</loc>
    <lastmod>2019-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-190918/</loc>
    <lastmod>2019-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-190918/</loc>
    <lastmod>2019-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-190918/</loc>
    <lastmod>2019-09-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-190823/</loc>
    <lastmod>2019-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-190823/</loc>
    <lastmod>2019-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-190823/</loc>
    <lastmod>2019-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-190823/</loc>
    <lastmod>2019-08-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-190814/</loc>
    <lastmod>2019-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-190814/</loc>
    <lastmod>2019-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-190814/</loc>
    <lastmod>2019-08-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190731/</loc>
    <lastmod>2019-07-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-190731/</loc>
    <lastmod>2019-07-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-190731/</loc>
    <lastmod>2019-07-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-190731/</loc>
    <lastmod>2019-07-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-190713/</loc>
    <lastmod>2019-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-190713/</loc>
    <lastmod>2019-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-190713/</loc>
    <lastmod>2019-07-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-190712/</loc>
    <lastmod>2019-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-190712/</loc>
    <lastmod>2019-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-190712/</loc>
    <lastmod>2019-07-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-190710/</loc>
    <lastmod>2019-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-190710/</loc>
    <lastmod>2019-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-190710/</loc>
    <lastmod>2019-07-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-190702/</loc>
    <lastmod>2019-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-190702/</loc>
    <lastmod>2019-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-190702/</loc>
    <lastmod>2019-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-190702/</loc>
    <lastmod>2019-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-190627/</loc>
    <lastmod>2019-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-190627/</loc>
    <lastmod>2019-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-190627/</loc>
    <lastmod>2019-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-190609/</loc>
    <lastmod>2019-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-190609/</loc>
    <lastmod>2019-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-190609/</loc>
    <lastmod>2019-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-190609/</loc>
    <lastmod>2019-06-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-190606/</loc>
    <lastmod>2019-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-190606/</loc>
    <lastmod>2019-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-190606/</loc>
    <lastmod>2019-06-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-190605/</loc>
    <lastmod>2019-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-190605/</loc>
    <lastmod>2019-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-190605/</loc>
    <lastmod>2019-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-190528/</loc>
    <lastmod>2019-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-190528/</loc>
    <lastmod>2019-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-190528/</loc>
    <lastmod>2019-05-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-190526/</loc>
    <lastmod>2019-05-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-190526/</loc>
    <lastmod>2019-05-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-190526/</loc>
    <lastmod>2019-05-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-190526/</loc>
    <lastmod>2019-05-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-190520/</loc>
    <lastmod>2019-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/exposing-c-to-blueprints-without-regret-190520/</loc>
    <lastmod>2019-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-190520/</loc>
    <lastmod>2019-05-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-190508/</loc>
    <lastmod>2019-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-multiplayer-prototype-that-taught-me-humility-190508/</loc>
    <lastmod>2019-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-190508/</loc>
    <lastmod>2019-05-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-190506/</loc>
    <lastmod>2019-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-190506/</loc>
    <lastmod>2019-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-190506/</loc>
    <lastmod>2019-05-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-190505/</loc>
    <lastmod>2019-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-190505/</loc>
    <lastmod>2019-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-190505/</loc>
    <lastmod>2019-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-190505/</loc>
    <lastmod>2019-05-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-190428/</loc>
    <lastmod>2019-04-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-190428/</loc>
    <lastmod>2019-04-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-190428/</loc>
    <lastmod>2019-04-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-190428/</loc>
    <lastmod>2019-04-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-190413/</loc>
    <lastmod>2019-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-190413/</loc>
    <lastmod>2019-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-190413/</loc>
    <lastmod>2019-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-190413/</loc>
    <lastmod>2019-04-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-190410/</loc>
    <lastmod>2019-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-190410/</loc>
    <lastmod>2019-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-190410/</loc>
    <lastmod>2019-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-190410/</loc>
    <lastmod>2019-04-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-190407/</loc>
    <lastmod>2019-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-190407/</loc>
    <lastmod>2019-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-190407/</loc>
    <lastmod>2019-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-190402/</loc>
    <lastmod>2019-04-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190402/</loc>
    <lastmod>2019-04-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-190402/</loc>
    <lastmod>2019-04-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-190402/</loc>
    <lastmod>2019-04-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-190330/</loc>
    <lastmod>2019-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-190330/</loc>
    <lastmod>2019-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-190330/</loc>
    <lastmod>2019-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190321/</loc>
    <lastmod>2019-03-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-acquisition-that-changes-a-tool-i-rely-on-190321/</loc>
    <lastmod>2019-03-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-190321/</loc>
    <lastmod>2019-03-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-190321/</loc>
    <lastmod>2019-03-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-190319/</loc>
    <lastmod>2019-03-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-190319/</loc>
    <lastmod>2019-03-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-190319/</loc>
    <lastmod>2019-03-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-190319/</loc>
    <lastmod>2019-03-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-190317/</loc>
    <lastmod>2019-03-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-190317/</loc>
    <lastmod>2019-03-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab/</loc>
    <lastmod>2019-03-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-190317/</loc>
    <lastmod>2019-03-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-190306/</loc>
    <lastmod>2019-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-190306/</loc>
    <lastmod>2019-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-190306/</loc>
    <lastmod>2019-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-190306/</loc>
    <lastmod>2019-03-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-190303/</loc>
    <lastmod>2019-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-190303/</loc>
    <lastmod>2019-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-190303/</loc>
    <lastmod>2019-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-190301/</loc>
    <lastmod>2019-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-190301/</loc>
    <lastmod>2019-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-190301/</loc>
    <lastmod>2019-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-190301/</loc>
    <lastmod>2019-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-190227/</loc>
    <lastmod>2019-02-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-190227/</loc>
    <lastmod>2019-02-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-190227/</loc>
    <lastmod>2019-02-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-190221/</loc>
    <lastmod>2019-02-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fzf-rewired-how-i-use-the-terminal-190221/</loc>
    <lastmod>2019-02-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-190221/</loc>
    <lastmod>2019-02-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-190221/</loc>
    <lastmod>2019-02-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190217-2/</loc>
    <lastmod>2019-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190217/</loc>
    <lastmod>2019-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-190217/</loc>
    <lastmod>2019-02-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-190215/</loc>
    <lastmod>2019-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-190215/</loc>
    <lastmod>2019-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/printing-parts-to-fix-the-printer-190215/</loc>
    <lastmod>2019-02-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/io-uring-first-impressions-190212/</loc>
    <lastmod>2019-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-190212/</loc>
    <lastmod>2019-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-2018-edition-changed-how-i-write-rust-190212/</loc>
    <lastmod>2019-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-190205/</loc>
    <lastmod>2019-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/perf-top-on-a-box-that-shouldn-t-be-busy-190205/</loc>
    <lastmod>2019-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-190205/</loc>
    <lastmod>2019-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-190204/</loc>
    <lastmod>2019-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-190204/</loc>
    <lastmod>2019-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-190204/</loc>
    <lastmod>2019-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-190130/</loc>
    <lastmod>2019-01-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-190130/</loc>
    <lastmod>2019-01-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-190130/</loc>
    <lastmod>2019-01-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-190130/</loc>
    <lastmod>2019-01-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-190126/</loc>
    <lastmod>2019-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-190126/</loc>
    <lastmod>2019-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-190126/</loc>
    <lastmod>2019-01-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-190122/</loc>
    <lastmod>2019-01-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-190122/</loc>
    <lastmod>2019-01-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-190122/</loc>
    <lastmod>2019-01-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-190122/</loc>
    <lastmod>2019-01-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-190102/</loc>
    <lastmod>2019-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-190102/</loc>
    <lastmod>2019-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-off-by-one-that-survived-code-review-190102/</loc>
    <lastmod>2019-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/backups-i-actually-test-now-190102/</loc>
    <lastmod>2019-01-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-181230/</loc>
    <lastmod>2018-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-181230/</loc>
    <lastmod>2018-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-181230/</loc>
    <lastmod>2018-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-181230/</loc>
    <lastmod>2018-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-181226/</loc>
    <lastmod>2018-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-181226/</loc>
    <lastmod>2018-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-181226/</loc>
    <lastmod>2018-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-181226/</loc>
    <lastmod>2018-12-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-181220/</loc>
    <lastmod>2018-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-181220/</loc>
    <lastmod>2018-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-181220/</loc>
    <lastmod>2018-12-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-181218/</loc>
    <lastmod>2018-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-181218/</loc>
    <lastmod>2018-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-181218/</loc>
    <lastmod>2018-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-181211/</loc>
    <lastmod>2018-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-181211/</loc>
    <lastmod>2018-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-181211/</loc>
    <lastmod>2018-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-181211/</loc>
    <lastmod>2018-12-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-181208/</loc>
    <lastmod>2018-12-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-181208/</loc>
    <lastmod>2018-12-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-181208/</loc>
    <lastmod>2018-12-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-181208/</loc>
    <lastmod>2018-12-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-181128/</loc>
    <lastmod>2018-11-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-181128/</loc>
    <lastmod>2018-11-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-181128/</loc>
    <lastmod>2018-11-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-181128/</loc>
    <lastmod>2018-11-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-181127/</loc>
    <lastmod>2018-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-181127/</loc>
    <lastmod>2018-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-181127/</loc>
    <lastmod>2018-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-181114/</loc>
    <lastmod>2018-11-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-181114/</loc>
    <lastmod>2018-11-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-181114/</loc>
    <lastmod>2018-11-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-181114/</loc>
    <lastmod>2018-11-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-181109/</loc>
    <lastmod>2018-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-181109/</loc>
    <lastmod>2018-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-181109/</loc>
    <lastmod>2018-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-181109/</loc>
    <lastmod>2018-11-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-181106/</loc>
    <lastmod>2018-11-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-181106/</loc>
    <lastmod>2018-11-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-181106/</loc>
    <lastmod>2018-11-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-181104/</loc>
    <lastmod>2018-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-181104/</loc>
    <lastmod>2018-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/rpcs-in-unreal-and-the-reliability-footgun-181104/</loc>
    <lastmod>2018-11-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-181029/</loc>
    <lastmod>2018-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-181029/</loc>
    <lastmod>2018-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-181029/</loc>
    <lastmod>2018-10-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-181023/</loc>
    <lastmod>2018-10-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-181023/</loc>
    <lastmod>2018-10-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-181023/</loc>
    <lastmod>2018-10-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-181023/</loc>
    <lastmod>2018-10-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-181009/</loc>
    <lastmod>2018-10-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-181009/</loc>
    <lastmod>2018-10-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-181009/</loc>
    <lastmod>2018-10-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heisenbug-that-vanished-under-strace-181003/</loc>
    <lastmod>2018-10-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-181003/</loc>
    <lastmod>2018-10-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-181003/</loc>
    <lastmod>2018-10-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-heated-chamber-for-abs-eventually-180928/</loc>
    <lastmod>2018-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180928/</loc>
    <lastmod>2018-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-180928/</loc>
    <lastmod>2018-09-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-180920/</loc>
    <lastmod>2018-09-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-180920/</loc>
    <lastmod>2018-09-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-empty-interface-and-my-regrets-180920/</loc>
    <lastmod>2018-09-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-180920/</loc>
    <lastmod>2018-09-20</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-180919/</loc>
    <lastmod>2018-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180919/</loc>
    <lastmod>2018-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-180919/</loc>
    <lastmod>2018-09-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-180907/</loc>
    <lastmod>2018-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-180907/</loc>
    <lastmod>2018-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-180907/</loc>
    <lastmod>2018-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-180907/</loc>
    <lastmod>2018-09-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-180906/</loc>
    <lastmod>2018-09-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180906-2/</loc>
    <lastmod>2018-09-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180906/</loc>
    <lastmod>2018-09-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180906/</loc>
    <lastmod>2018-09-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-180902/</loc>
    <lastmod>2018-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-180902/</loc>
    <lastmod>2018-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-180902/</loc>
    <lastmod>2018-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-180902/</loc>
    <lastmod>2018-09-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180824-2/</loc>
    <lastmod>2018-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180824/</loc>
    <lastmod>2018-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-180824/</loc>
    <lastmod>2018-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-180824/</loc>
    <lastmod>2018-08-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-180821/</loc>
    <lastmod>2018-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-180821/</loc>
    <lastmod>2018-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180821/</loc>
    <lastmod>2018-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-180821/</loc>
    <lastmod>2018-08-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-180819/</loc>
    <lastmod>2018-08-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-180819/</loc>
    <lastmod>2018-08-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-180819/</loc>
    <lastmod>2018-08-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-180816/</loc>
    <lastmod>2018-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-180816/</loc>
    <lastmod>2018-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180816/</loc>
    <lastmod>2018-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-180804/</loc>
    <lastmod>2018-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-180804/</loc>
    <lastmod>2018-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-180804/</loc>
    <lastmod>2018-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-180804/</loc>
    <lastmod>2018-08-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180803/</loc>
    <lastmod>2018-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-180803/</loc>
    <lastmod>2018-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-180803/</loc>
    <lastmod>2018-08-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-180727/</loc>
    <lastmod>2018-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-180727/</loc>
    <lastmod>2018-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-180727/</loc>
    <lastmod>2018-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-180723/</loc>
    <lastmod>2018-07-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-180723/</loc>
    <lastmod>2018-07-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180723/</loc>
    <lastmod>2018-07-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-180717/</loc>
    <lastmod>2018-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-180717/</loc>
    <lastmod>2018-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-180717/</loc>
    <lastmod>2018-07-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-180716/</loc>
    <lastmod>2018-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-180716/</loc>
    <lastmod>2018-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-180716/</loc>
    <lastmod>2018-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-180716/</loc>
    <lastmod>2018-07-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-180707/</loc>
    <lastmod>2018-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-180707/</loc>
    <lastmod>2018-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-180707/</loc>
    <lastmod>2018-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-180705/</loc>
    <lastmod>2018-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-180705/</loc>
    <lastmod>2018-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-180705/</loc>
    <lastmod>2018-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-180703/</loc>
    <lastmod>2018-07-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-180703/</loc>
    <lastmod>2018-07-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-180703/</loc>
    <lastmod>2018-07-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-180701/</loc>
    <lastmod>2018-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-180701/</loc>
    <lastmod>2018-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-180701/</loc>
    <lastmod>2018-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ripgrep-fd-and-giving-up-on-the-old-tools-180701/</loc>
    <lastmod>2018-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-pi-cluster-that-taught-me-nothing-useful-but-was-fun-180625/</loc>
    <lastmod>2018-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-180625/</loc>
    <lastmod>2018-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-180625/</loc>
    <lastmod>2018-06-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-180618/</loc>
    <lastmod>2018-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-180618/</loc>
    <lastmod>2018-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-180618/</loc>
    <lastmod>2018-06-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-180617/</loc>
    <lastmod>2018-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cgroups-v2-and-a-runaway-process-180617/</loc>
    <lastmod>2018-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-180617/</loc>
    <lastmod>2018-06-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-180615/</loc>
    <lastmod>2018-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-180615/</loc>
    <lastmod>2018-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-180615/</loc>
    <lastmod>2018-06-15</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180613/</loc>
    <lastmod>2018-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-180613/</loc>
    <lastmod>2018-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-180613/</loc>
    <lastmod>2018-06-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-kernel-panic-i-could-actually-reproduce-180605/</loc>
    <lastmod>2018-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-180605/</loc>
    <lastmod>2018-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-180605/</loc>
    <lastmod>2018-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180605/</loc>
    <lastmod>2018-06-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-180516/</loc>
    <lastmod>2018-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180516/</loc>
    <lastmod>2018-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/monitoring-everything-with-too-many-dashboards-180516/</loc>
    <lastmod>2018-05-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-180504/</loc>
    <lastmod>2018-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-180504-2/</loc>
    <lastmod>2018-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/running-my-own-recursive-resolver-180504/</loc>
    <lastmod>2018-05-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-180501/</loc>
    <lastmod>2018-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-180501/</loc>
    <lastmod>2018-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-180501/</loc>
    <lastmod>2018-05-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-180430/</loc>
    <lastmod>2018-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-180430/</loc>
    <lastmod>2018-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-180430/</loc>
    <lastmod>2018-04-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-film-i-didn-t-expect-to-like-180426/</loc>
    <lastmod>2018-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-180426/</loc>
    <lastmod>2018-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-180426/</loc>
    <lastmod>2018-04-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180425/</loc>
    <lastmod>2018-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-180425/</loc>
    <lastmod>2018-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-180425/</loc>
    <lastmod>2018-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-180425/</loc>
    <lastmod>2018-04-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-180414/</loc>
    <lastmod>2018-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-180414/</loc>
    <lastmod>2018-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-180414/</loc>
    <lastmod>2018-04-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-180326/</loc>
    <lastmod>2018-03-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-180326/</loc>
    <lastmod>2018-03-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-180326/</loc>
    <lastmod>2018-03-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-180324/</loc>
    <lastmod>2018-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-180324/</loc>
    <lastmod>2018-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-180324/</loc>
    <lastmod>2018-03-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-180313/</loc>
    <lastmod>2018-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-180313/</loc>
    <lastmod>2018-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-180313/</loc>
    <lastmod>2018-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-180313/</loc>
    <lastmod>2018-03-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-180310/</loc>
    <lastmod>2018-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-180310/</loc>
    <lastmod>2018-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-180310/</loc>
    <lastmod>2018-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tuning-dirty-ratio-for-a-busy-box-180310/</loc>
    <lastmod>2018-03-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-180309/</loc>
    <lastmod>2018-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-180309/</loc>
    <lastmod>2018-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/writing-a-parser-with-nom-180309/</loc>
    <lastmod>2018-03-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-180301/</loc>
    <lastmod>2018-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-180301/</loc>
    <lastmod>2018-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-180301/</loc>
    <lastmod>2018-03-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-180225/</loc>
    <lastmod>2018-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-180225/</loc>
    <lastmod>2018-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-180225/</loc>
    <lastmod>2018-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/home-assistant-ate-my-evenings-180225/</loc>
    <lastmod>2018-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-180224/</loc>
    <lastmod>2018-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180224/</loc>
    <lastmod>2018-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-180224/</loc>
    <lastmod>2018-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-180216/</loc>
    <lastmod>2018-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-180216/</loc>
    <lastmod>2018-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-180216/</loc>
    <lastmod>2018-02-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-180205/</loc>
    <lastmod>2018-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-180205/</loc>
    <lastmod>2018-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-180205/</loc>
    <lastmod>2018-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-180205/</loc>
    <lastmod>2018-02-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-180204/</loc>
    <lastmod>2018-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-180204/</loc>
    <lastmod>2018-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home/</loc>
    <lastmod>2018-02-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-180202/</loc>
    <lastmod>2018-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/go-modules-finally-and-dropping-dep-180202/</loc>
    <lastmod>2018-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/qos-for-a-household-that-streams-everything-180202/</loc>
    <lastmod>2018-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-180202/</loc>
    <lastmod>2018-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-vulnerability-with-a-logo-and-a-website-180201/</loc>
    <lastmod>2018-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-180201/</loc>
    <lastmod>2018-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-180201/</loc>
    <lastmod>2018-02-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ebpf-and-seeing-what-the-kernel-sees-180117/</loc>
    <lastmod>2018-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-180117/</loc>
    <lastmod>2018-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/my-dotfiles-finally-in-order-180117/</loc>
    <lastmod>2018-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-180112/</loc>
    <lastmod>2018-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-180112-2/</loc>
    <lastmod>2018-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-house-with-a-homelab-in-tow-180112/</loc>
    <lastmod>2018-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-180112/</loc>
    <lastmod>2018-01-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-171227/</loc>
    <lastmod>2017-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-171227/</loc>
    <lastmod>2017-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-171227/</loc>
    <lastmod>2017-12-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-171203/</loc>
    <lastmod>2017-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-171203/</loc>
    <lastmod>2017-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-171203/</loc>
    <lastmod>2017-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-171203/</loc>
    <lastmod>2017-12-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/exposing-c-to-blueprints-without-regret-171129/</loc>
    <lastmod>2017-11-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-171129/</loc>
    <lastmod>2017-11-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-171129/</loc>
    <lastmod>2017-11-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-171121/</loc>
    <lastmod>2017-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-171121/</loc>
    <lastmod>2017-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-171121/</loc>
    <lastmod>2017-11-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-171116/</loc>
    <lastmod>2017-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-171116/</loc>
    <lastmod>2017-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-171116/</loc>
    <lastmod>2017-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-171116/</loc>
    <lastmod>2017-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-171111/</loc>
    <lastmod>2017-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-171111/</loc>
    <lastmod>2017-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-171111/</loc>
    <lastmod>2017-11-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-171103/</loc>
    <lastmod>2017-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-171103/</loc>
    <lastmod>2017-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-171103/</loc>
    <lastmod>2017-11-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-171102/</loc>
    <lastmod>2017-11-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-171102/</loc>
    <lastmod>2017-11-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-171102/</loc>
    <lastmod>2017-11-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-171102/</loc>
    <lastmod>2017-11-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-171022/</loc>
    <lastmod>2017-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-171022/</loc>
    <lastmod>2017-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-171022/</loc>
    <lastmod>2017-10-22</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-171007/</loc>
    <lastmod>2017-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-171007/</loc>
    <lastmod>2017-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-171007/</loc>
    <lastmod>2017-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-171007/</loc>
    <lastmod>2017-10-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-170911/</loc>
    <lastmod>2017-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-170911/</loc>
    <lastmod>2017-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-170911/</loc>
    <lastmod>2017-09-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-170905/</loc>
    <lastmod>2017-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-170905/</loc>
    <lastmod>2017-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-170905/</loc>
    <lastmod>2017-09-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/exposing-c-to-blueprints-without-regret-170901/</loc>
    <lastmod>2017-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-170901/</loc>
    <lastmod>2017-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-170901/</loc>
    <lastmod>2017-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-170816/</loc>
    <lastmod>2017-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-170816/</loc>
    <lastmod>2017-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-170816/</loc>
    <lastmod>2017-08-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-170809/</loc>
    <lastmod>2017-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-170809/</loc>
    <lastmod>2017-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-170809/</loc>
    <lastmod>2017-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reflashing-a-router-i-should-have-left-alone-170809/</loc>
    <lastmod>2017-08-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-170727/</loc>
    <lastmod>2017-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/it-was-the-mtu-it-s-always-the-mtu-170727/</loc>
    <lastmod>2017-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-170727/</loc>
    <lastmod>2017-07-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-170711/</loc>
    <lastmod>2017-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-170711/</loc>
    <lastmod>2017-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-170711/</loc>
    <lastmod>2017-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-170711/</loc>
    <lastmod>2017-07-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-170707/</loc>
    <lastmod>2017-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-170707/</loc>
    <lastmod>2017-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-170707/</loc>
    <lastmod>2017-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-170707/</loc>
    <lastmod>2017-07-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-170627/</loc>
    <lastmod>2017-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-170627/</loc>
    <lastmod>2017-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-170627/</loc>
    <lastmod>2017-06-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/chasing-a-race-condition-for-three-days-170623/</loc>
    <lastmod>2017-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-170623/</loc>
    <lastmod>2017-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-170623/</loc>
    <lastmod>2017-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-170619-2/</loc>
    <lastmod>2017-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-170619/</loc>
    <lastmod>2017-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-170619/</loc>
    <lastmod>2017-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-170619/</loc>
    <lastmod>2017-06-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-170603/</loc>
    <lastmod>2017-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-170603/</loc>
    <lastmod>2017-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/wireguard-replaced-my-openvpn-mess-170603/</loc>
    <lastmod>2017-06-03</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-170518/</loc>
    <lastmod>2017-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-170518/</loc>
    <lastmod>2017-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-170518/</loc>
    <lastmod>2017-05-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-170513/</loc>
    <lastmod>2017-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-170513/</loc>
    <lastmod>2017-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-170513/</loc>
    <lastmod>2017-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-170421/</loc>
    <lastmod>2017-04-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-170421/</loc>
    <lastmod>2017-04-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-170421/</loc>
    <lastmod>2017-04-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/truenas-and-the-great-disk-shuffle-170421/</loc>
    <lastmod>2017-04-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-170412/</loc>
    <lastmod>2017-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-release-that-s-all-over-my-feeds-today-170412/</loc>
    <lastmod>2017-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-170412/</loc>
    <lastmod>2017-04-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-170316/</loc>
    <lastmod>2017-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-170316/</loc>
    <lastmod>2017-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-170316/</loc>
    <lastmod>2017-03-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-170308/</loc>
    <lastmod>2017-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-170308/</loc>
    <lastmod>2017-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-170308/</loc>
    <lastmod>2017-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-170308/</loc>
    <lastmod>2017-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-170304/</loc>
    <lastmod>2017-03-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logic-analyser-and-finally-seeing-the-bus-170304/</loc>
    <lastmod>2017-03-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-170304/</loc>
    <lastmod>2017-03-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bgp-in-the-homelab-because-why-not-170225/</loc>
    <lastmod>2017-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/klipper-and-a-printer-that-suddenly-flew-170225/</loc>
    <lastmod>2017-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-170225/</loc>
    <lastmod>2017-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-170225/</loc>
    <lastmod>2017-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-170218/</loc>
    <lastmod>2017-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-170218/</loc>
    <lastmod>2017-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-170218/</loc>
    <lastmod>2017-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-170218/</loc>
    <lastmod>2017-02-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-170212/</loc>
    <lastmod>2017-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/designing-a-bracket-instead-of-buying-one-170212/</loc>
    <lastmod>2017-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-170212/</loc>
    <lastmod>2017-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-170212/</loc>
    <lastmod>2017-02-12</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-170210/</loc>
    <lastmod>2017-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-engineering-a-cheap-ble-gadget-170210/</loc>
    <lastmod>2017-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-170210/</loc>
    <lastmod>2017-02-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-170207/</loc>
    <lastmod>2017-02-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/context-context-and-learning-to-thread-it-through-170207/</loc>
    <lastmod>2017-02-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-170207/</loc>
    <lastmod>2017-02-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-show-that-got-working-in-it-uncomfortably-right-170202/</loc>
    <lastmod>2017-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-170202/</loc>
    <lastmod>2017-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/latency-p99-and-lying-averages-170202/</loc>
    <lastmod>2017-02-02</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/error-handling-before-anyhow-existed-170119/</loc>
    <lastmod>2017-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-170119/</loc>
    <lastmod>2017-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-170119/</loc>
    <lastmod>2017-01-19</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-170117/</loc>
    <lastmod>2017-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-170117/</loc>
    <lastmod>2017-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-170117/</loc>
    <lastmod>2017-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-170117/</loc>
    <lastmod>2017-01-17</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-book-that-changed-how-i-think-about-systems-170114/</loc>
    <lastmod>2017-01-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-systemd-unit-that-refused-to-stay-dead-170114/</loc>
    <lastmod>2017-01-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-170114/</loc>
    <lastmod>2017-01-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-170114/</loc>
    <lastmod>2017-01-14</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-long-drive-and-a-good-podcast-170113/</loc>
    <lastmod>2017-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/coffee-and-the-rabbit-hole-of-grinders-170113/</loc>
    <lastmod>2017-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-170113/</loc>
    <lastmod>2017-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-swap-debate-settled-for-my-homelab-170113/</loc>
    <lastmod>2017-01-13</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-161230/</loc>
    <lastmod>2016-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cycling-to-clear-a-stuck-bug-161230/</loc>
    <lastmod>2016-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-161230/</loc>
    <lastmod>2016-12-30</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-161228/</loc>
    <lastmod>2016-12-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-161228/</loc>
    <lastmod>2016-12-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-161228/</loc>
    <lastmod>2016-12-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-161228/</loc>
    <lastmod>2016-12-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-161218/</loc>
    <lastmod>2016-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-161218/</loc>
    <lastmod>2016-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-161218/</loc>
    <lastmod>2016-12-18</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-161127/</loc>
    <lastmod>2016-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-161127/</loc>
    <lastmod>2016-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-161127/</loc>
    <lastmod>2016-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mtu-the-silent-killer-161127/</loc>
    <lastmod>2016-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-rack-in-the-garage-regrets-and-all-161126/</loc>
    <lastmod>2016-11-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-161126/</loc>
    <lastmod>2016-11-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-161126/</loc>
    <lastmod>2016-11-26</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-161124-2/</loc>
    <lastmod>2016-11-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-161124/</loc>
    <lastmod>2016-11-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-161124/</loc>
    <lastmod>2016-11-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-161116/</loc>
    <lastmod>2016-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fighting-the-borrow-checker-and-losing-gracefully-161116/</loc>
    <lastmod>2016-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/nftables-instead-of-iptables-finally-161116/</loc>
    <lastmod>2016-11-16</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-database-query-that-was-quietly-killing-us-161110/</loc>
    <lastmod>2016-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/proxmox-over-bare-esxi-the-switch-161110/</loc>
    <lastmod>2016-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-161110/</loc>
    <lastmod>2016-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-outage-caused-by-a-full-var-161110/</loc>
    <lastmod>2016-11-10</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-161031/</loc>
    <lastmod>2016-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-161031/</loc>
    <lastmod>2016-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-161031/</loc>
    <lastmod>2016-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-cost-of-a-syscall-measured-161031/</loc>
    <lastmod>2016-10-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-161024/</loc>
    <lastmod>2016-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/mikrotik-vs-pfsense-a-year-later-161024/</loc>
    <lastmod>2016-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-161024/</loc>
    <lastmod>2016-10-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-161011/</loc>
    <lastmod>2016-10-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/first-prints-first-failures-161011/</loc>
    <lastmod>2016-10-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-161011/</loc>
    <lastmod>2016-10-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-day-dns-took-down-everything-161011/</loc>
    <lastmod>2016-10-11</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-cron-job-that-ran-twice-silently-161006/</loc>
    <lastmod>2016-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/kubernetes-at-home-was-a-mistake-mostly-161006/</loc>
    <lastmod>2016-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-161006/</loc>
    <lastmod>2016-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/taming-journald-disk-usage-161006/</loc>
    <lastmod>2016-10-06</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-dns-outage-that-was-my-own-fault-161004/</loc>
    <lastmod>2016-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-161004/</loc>
    <lastmod>2016-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-161004/</loc>
    <lastmod>2016-10-04</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-160831/</loc>
    <lastmod>2016-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/git-aliases-that-earn-their-keep-160831/</loc>
    <lastmod>2016-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/tmux-and-never-losing-a-session-again-160831/</loc>
    <lastmod>2016-08-31</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-160827/</loc>
    <lastmod>2016-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/fixing-a-psu-instead-of-binning-it-160827/</loc>
    <lastmod>2016-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-160827/</loc>
    <lastmod>2016-08-27</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-160729/</loc>
    <lastmod>2016-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/ipv6-at-home-eventually-160729/</loc>
    <lastmod>2016-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/reverse-proxy-certs-and-let-s-encrypt-at-home-160729/</loc>
    <lastmod>2016-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/vlans-on-a-flat-network-the-painful-migration-160729/</loc>
    <lastmod>2016-07-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-160728/</loc>
    <lastmod>2016-07-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-160728/</loc>
    <lastmod>2016-07-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-160728/</loc>
    <lastmod>2016-07-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/the-joy-of-a-quiet-weekend-with-no-oncall-160728/</loc>
    <lastmod>2016-07-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-160724/</loc>
    <lastmod>2016-07-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/bed-levelling-the-eternal-war-160724/</loc>
    <lastmod>2016-07-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-160724/</loc>
    <lastmod>2016-07-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-160721/</loc>
    <lastmod>2016-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-160721/</loc>
    <lastmod>2016-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/moving-to-neovim-slowly-160721/</loc>
    <lastmod>2016-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/soldering-a-board-back-to-life-160721/</loc>
    <lastmod>2016-07-21</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/another-cloud-outage-and-what-we-should-learn-160705/</loc>
    <lastmod>2016-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/docker-compose-for-the-whole-house-160705/</loc>
    <lastmod>2016-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/logrotate-vs-an-app-that-ignores-sighup-160705/</loc>
    <lastmod>2016-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/makefiles-for-things-that-aren-t-c-160705/</loc>
    <lastmod>2016-07-05</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-mechanical-keyboard-build-and-the-firmware-160629/</loc>
    <lastmod>2016-06-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/goroutines-and-the-leak-i-didn-t-see-160629/</loc>
    <lastmod>2016-06-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/unreal-s-replication-a-first-encounter-160629/</loc>
    <lastmod>2016-06-29</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-shell-prompt-that-tells-me-what-i-need-160628/</loc>
    <lastmod>2016-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-tiny-daemon-in-go-shipped-160628/</loc>
    <lastmod>2016-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-160628/</loc>
    <lastmod>2016-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/flamegraphs-and-a-hot-path-i-never-suspected-160628/</loc>
    <lastmod>2016-06-28</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-memory-leak-that-was-a-map-i-never-cleared-160624/</loc>
    <lastmod>2016-06-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-security-disclosure-everyone-s-talking-about-this-week-160624/</loc>
    <lastmod>2016-06-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/an-esp32-weather-station-that-mostly-works-160624/</loc>
    <lastmod>2016-06-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/cross-compiling-go-for-an-arm-box-160624/</loc>
    <lastmod>2016-06-24</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/a-little-cli-in-rust-was-it-worth-it-160623/</loc>
    <lastmod>2016-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/btrfs-snapshots-saved-my-weekend-160623/</loc>
    <lastmod>2016-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/switching-root-onto-zfs-160623/</loc>
    <lastmod>2016-06-23</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/silicon-valley-season-3/</loc>
    <lastmod>2016-04-09</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/igmpqd/</loc>
    <lastmod>2016-04-07</lastmod>
  </url>
  <url>
    <loc>https://blog.i0.pm/posts/back-on-the-grid/</loc>
    <lastmod>2016-04-02</lastmod>
  </url>
</urlset>
