Browse Source

Deploying to gh-pages from @ garritfra/garrit.xyz@7f0c80c9b779a2d02a619643c833e758d44f0f58 🚀

gh-pages
garritfra 3 weeks ago
parent
commit
59351eeb62
  1. 2
      404.html
  2. 1
      _next/data/NRlraLO72gUw9pI0w2ru1/posts/2024-04-15-beware-of-base64-encoded-strings.json
  3. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/beats.json
  4. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/blogroll.json
  5. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/contact.json
  6. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/ctf.json
  7. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/cv.json
  8. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/guestbook.json
  9. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/impossible.json
  10. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/index.json
  11. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/index/index.json
  12. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/journal.json
  13. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/links.json
  14. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts.json
  15. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-11-06-current-doings.json
  16. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-11-17-booleans-are-wasted-memory.json
  17. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-12-18-update-december.json
  18. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-07-delete-facebook.json
  19. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-11-100daystooffload.json
  20. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-11-are-humans-still-evolving.json
  21. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-13-512kb-club.json
  22. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-15-compiling-your-own-kernel.json
  23. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-18-reasons-the-fediverse-is-better.json
  24. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-23-signal-to-noise.json
  25. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-26-vim-macros.json
  26. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-29-sudo-to-doas.json
  27. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-02-bem-methodology.json
  28. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-07-storage-setup.json
  29. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-11-10-percent-100daystooffload.json
  30. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-17-notes-on-flutter-web.json
  31. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-20-changelogs.json
  32. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-24-vim-terminal-strategies.json
  33. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-03-13-git-builtin-lifesaver.json
  34. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-04-07-pgp-guide.json
  35. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-05-15-healthchecks-io-with-docker.json
  36. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-08-08-fun-with-pen-and-paper-race-cars.json
  37. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-09-13-fixing-an-annoying-cron-gotcha.json
  38. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-10-04-server-side-caching-with-apollo-graphql.json
  39. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-21-usetoggle-react-hook.json
  40. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-24-notes-on-pruning-chinese-elms.json
  41. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-31-btrfs-on-alpine.json
  42. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-01-28-til-how-to-get-the-selected-language-of-a-browser.json
  43. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-03-18-fix-traefik-proxy-issues.json
  44. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-03-24-swapping-numbers-without-temp.json
  45. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-25-weeknote-16-2022.json
  46. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-28-hello-to-all-the-new-mastodon-users.json
  47. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-29-weeknote-17-2022.json
  48. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-06-weeknote-18-2022.json
  49. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-24-cloning-windows-to-a-new-drive.json
  50. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-31-database-server-migration-cheat-sheet.json
  51. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-02-tar-commands.json
  52. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-10-a-list-of-bugs-in-macos.json
  53. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-29-the-only-true-answer-to-tabs-vs-spaces.json
  54. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-08-31-whats-on-my-feed.json
  55. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-22-kubernetes-is-a-domain-specific-database.json
  56. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-26-self-hosted-software-im-thankful-for.json
  57. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-30-debugging-docker-images.json
  58. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-10-05-simple-guestbook.json
  59. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-03-reselling-managed-kubernetes.json
  60. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-11-cursed-user-agents.json
  61. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-24-smart-move-google.json
  62. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-12-05-contributing-to-open-source-knowledge.json
  63. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-01-02-welcome-2023.json
  64. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-14-openssf-best-practices.json
  65. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-19-til-about-css-insets.json
  66. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-20-what-problem-does-kubernetes-solve.json
  67. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-21-what's-next-for-modern-infrastructure.json
  68. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-22-dockerignore-troubles.json
  69. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-24-visual-distractions.json
  70. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-03-notes-on-containerizing-php-applications.json
  71. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-04-pods-vs.-containers.json
  72. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-08-terraform-and-kubernetes-are-fundamentally-different.json
  73. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-10-debugging-ecs-tasks.json
  74. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-11-a-software-requirements-checklist.json
  75. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-16-terraform-project-learnings.json
  76. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-21-i-wont-buy-a-yubikey.json
  77. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-23-fullscreen-terminals-in-vscode.json
  78. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-26-software-is-not-defined-by-the-language-it's-written-in.json
  79. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-30-designing-resilient-cloud-infrastructure.json
  80. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-01-quality-vs.-quantity.json
  81. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-07-older-is-often-better.json
  82. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-12-instant-dark-theme.json
  83. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-22-the-role-of-a-devops-engineer.json
  84. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-27-migrating-homeassistant-from-sd-to-ssd.json
  85. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-28-serverless-framework-retrospective.json
  86. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-05-19-work-batch-sizing.json
  87. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-06-01-single-page-applications-on-github-pages.json
  88. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-06-25-make-a-list.json
  89. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-06-rss-changes.json
  90. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-11-principles-of-devops-introduction.json
  91. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-12-principles-of-devops--flow.json
  92. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-08-23-so,-you-want-to-win-the-lottery.json
  93. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-09-everyday-carry-notebooks.json
  94. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-10-short-story-haunted-memories.json
  95. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-11-linkdump-software-development.json
  96. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-29-undo-on-mobile-phones.json
  97. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-01-the-mind-rope-experiment.json
  98. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-03-project-hail-mary.json
  99. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-09-field-notes-2.json
  100. 0
      _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-10-did-you-try-turning-it-off.json
  101. Some files were not shown because too many files have changed in this diff Show More

2
404.html

@ -1 +1 @@
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1"/><meta charSet="utf-8"/><title></title><meta name="Description" content="Generalist software developer writing about scalable infrastructure, fullstack development and DevOps practices."/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="manifest" href="/site.webmanifest"/><link rel="webmention" href="https://webmention.io/garrit.xyz/webmention"/><link rel="pingback" href="https://webmention.io/garrit.xyz/xmlrpc"/><meta name="next-head-count" content="8"/><link rel="preload" href="/_next/static/css/386ff04d0e85da2f.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/386ff04d0e85da2f.css" crossorigin="" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-ee7e63bc15b31913.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-5429a50ba5373c56.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-d2ba44903cd47711.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-79c931a4d8897bd8.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/404-08cd16f8c995e693.js" defer="" crossorigin=""></script><script src="/_next/static/NRlraLO72gUw9pI0w2ru1/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/NRlraLO72gUw9pI0w2ru1/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><section class="layout"><header class="header"><nav class="nav" role="navigation" aria-label="main navigation"><div class="header__container"><a href="/" class="header__container__logo"></a></div><ul class="header__links"><li><a href="/posts">Blog</a></li><li><a href="/contact">Contact</a></li><li><a href="/links">More ...</a></li></ul></nav></header><div class="content"><article class="page h-entry"><div class="page__body e-content"><h1>404 - Page Not Found</h1><a href="/">Go back home</a></div></article></div><footer class="footer"><div class="notice"><p>I invite you to read my new book<!-- --> <a target="_blank" href="https://www.buymeacoffee.com/garrit/e/233695">Five Years of Blogging: Ideas, Opinions and Guides written 2019 to 2024</a>. Becoming a member on<!-- --> <a target="_blank" href="https://www.buymeacoffee.com/garrit">Buy Me a Coffee</a> <!-- -->will grant you free access to the book!</p><a href="https://www.buymeacoffee.com/garrit/extras"><img src="/assets/five-years-of-blogging-cover-3d.png" alt="Cover of Five Years of Blogging" loading="lazy"/></a></div><div class="footer__content"><h3>Links of Interest</h3><a href="/rss.xml">RSS Feed</a><br/><a href="/todo">Todo List</a><br/><a href="https://keys.openpgp.org/vks/v1/by-fingerprint/2218337E54AA1DBE207B404DBB54AF7EB0939F3D">PGP Key</a><br/><a href="/guestbook">Guestbook</a><br/><a href="/blogroll">Blogroll</a><br/><a href="/ctf">Capture the Flag</a><h3>Elsewhere</h3><a href="https://github.com/garritfra" rel="me">Github</a><br/><a href="https://www.linkedin.com/in/garritfranke/">LinkedIn</a><br/><a href="https://fosstodon.org/@garritfra">Mastodon (ActivityPub)</a><br/><a href="/contact">Contact</a></div><a href="https://www.buymeacoffee.com/garrit" target="_blank"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a tea&amp;emoji=&amp;slug=garrit&amp;button_colour=FFB300&amp;font_colour=000000&amp;font_family=Cookie&amp;outline_colour=000000&amp;coffee_colour=ffffff"/></a><p>👻 Proud member of<!-- --> <a target="_blank" href="https://darktheme.club/">darktheme.club</a> <!-- -->👻</p><p>© 2018-<!-- -->2024<!-- --> Garrit Franke<br/><a href="/privacy">Privacy</a> |<!-- --> <a target="_blank" href="https://github.com/garritfra/garrit.xyz">Source Code</a></p></footer></section></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"NRlraLO72gUw9pI0w2ru1","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1"/><meta charSet="utf-8"/><title></title><meta name="Description" content="Generalist software developer writing about scalable infrastructure, fullstack development and DevOps practices."/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="manifest" href="/site.webmanifest"/><link rel="webmention" href="https://webmention.io/garrit.xyz/webmention"/><link rel="pingback" href="https://webmention.io/garrit.xyz/xmlrpc"/><meta name="next-head-count" content="8"/><link rel="preload" href="/_next/static/css/386ff04d0e85da2f.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/386ff04d0e85da2f.css" crossorigin="" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-ee7e63bc15b31913.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-5429a50ba5373c56.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-d2ba44903cd47711.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-79c931a4d8897bd8.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/404-08cd16f8c995e693.js" defer="" crossorigin=""></script><script src="/_next/static/P34lTGIjVHF8P2quUJoEx/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/P34lTGIjVHF8P2quUJoEx/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><section class="layout"><header class="header"><nav class="nav" role="navigation" aria-label="main navigation"><div class="header__container"><a href="/" class="header__container__logo"></a></div><ul class="header__links"><li><a href="/posts">Blog</a></li><li><a href="/contact">Contact</a></li><li><a href="/links">More ...</a></li></ul></nav></header><div class="content"><article class="page h-entry"><div class="page__body e-content"><h1>404 - Page Not Found</h1><a href="/">Go back home</a></div></article></div><footer class="footer"><div class="notice"><p>I invite you to read my new book<!-- --> <a target="_blank" href="https://www.buymeacoffee.com/garrit/e/233695">Five Years of Blogging: Ideas, Opinions and Guides written 2019 to 2024</a>. Becoming a member on<!-- --> <a target="_blank" href="https://www.buymeacoffee.com/garrit">Buy Me a Coffee</a> <!-- -->will grant you free access to the book!</p><a href="https://www.buymeacoffee.com/garrit/extras"><img src="/assets/five-years-of-blogging-cover-3d.png" alt="Cover of Five Years of Blogging" loading="lazy"/></a></div><div class="footer__content"><h3>Links of Interest</h3><a href="/rss.xml">RSS Feed</a><br/><a href="/todo">Todo List</a><br/><a href="https://keys.openpgp.org/vks/v1/by-fingerprint/2218337E54AA1DBE207B404DBB54AF7EB0939F3D">PGP Key</a><br/><a href="/guestbook">Guestbook</a><br/><a href="/blogroll">Blogroll</a><br/><a href="/ctf">Capture the Flag</a><h3>Elsewhere</h3><a href="https://github.com/garritfra" rel="me">Github</a><br/><a href="https://www.linkedin.com/in/garritfranke/">LinkedIn</a><br/><a href="https://fosstodon.org/@garritfra">Mastodon (ActivityPub)</a><br/><a href="/contact">Contact</a></div><a href="https://www.buymeacoffee.com/garrit" target="_blank"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a tea&amp;emoji=&amp;slug=garrit&amp;button_colour=FFB300&amp;font_colour=000000&amp;font_family=Cookie&amp;outline_colour=000000&amp;coffee_colour=ffffff"/></a><p>👻 Proud member of<!-- --> <a target="_blank" href="https://darktheme.club/">darktheme.club</a> <!-- -->👻</p><p>© 2018-<!-- -->2024<!-- --> Garrit Franke<br/><a href="/privacy">Privacy</a> |<!-- --> <a target="_blank" href="https://github.com/garritfra/garrit.xyz">Source Code</a></p></footer></section></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"P34lTGIjVHF8P2quUJoEx","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>

1
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2024-04-15-beware-of-base64-encoded-strings.json

@ -1 +0,0 @@
{"pageProps":{"post":{"slug":"2024-04-15-beware-of-base64-encoded-strings","markdownBody":"\nI just encountered a fun little bug that I thought is worth sharing.\r\n\r\n**TL;DR**: Here's the commit that fixes the issue:\r\n\r\n<img width=\"1588\" alt=\"image (3)\" src=\"https://github.com/garritfra/garrit.xyz/assets/32395585/dba76692-c89f-44da-b70a-f6732a406d75\">\r\n\r\n\r\nIt started when we noticed that a cronjob that used wget to regularly call an endpoint failed on one specific environment. The endpoint uses [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), which is essentially a header with a [Base64](https://en.wikipedia.org/wiki/Base64) encoded representation of a username and password. [Curl](https://curl.se/) has this functionality [built in](https://curl.se/docs/manpage.html#-u), but to keep the attack surface as small as possible, we decided to stick to [wget](https://www.gnu.org/software/wget/), which is part of busybox, to keep the container image size under 1 MB (!). After all, all we want to do is ping an endpoint.\r\n\r\nThis is the command we used up to this point:\r\n\r\n```\r\nwget --post-data=\"\" -O - --header=\"Authorization: Basic $(echo -n $BASIC_AUTH_USERNAME:$BASIC_AUTH_PASSWORD | base64)\" http://endpoint:8080/v1/cache\r\n```\r\n\r\nWe noticed that the request worked fine on non-prod environments, but it failed on production with the following error:\r\n\r\n```\r\nThe HTTP header line [b2verlk1rwjsnutbcapkjh==] does not conform to RFC 7230. The request has been rejected.\r\n```\r\n\r\nAfter digging around for a while and separating out the individual pieces of the commands, I noticed that the subcommand to build the header value (`echo -n $BASIC_AUTH_USERNAME:$BASIC_AUTH_PASSWORD | base64`) behaved differently on prod vs. non-prod. The password on prod is way longer compared to the other environments. Let's run this command with a short input:\r\n\r\n```sh\r\n/ $ echo -n someuser:somepassword | base64\r\nc29tZXVzZXI6c29tZXBhc3N3b3Jk\r\n/ $\r\n```\r\n\r\nAnd again with a long input:\r\n\r\n```sh\r\n/ $ echo -n someuser:somepasswordthatswaylongerthanthefirstonebutalsoverysecureandsafe | base64\r\nc29tZXVzZXI6c29tZXBhc3N3b3JkdGhhdHN3YXlsb25nZXJ0aGFudGhlZmlyc3RvbmVidXRhbHNv\r\ndmVyeXNlY3VyZWFuZHNhZmU=\r\n/ $\r\n```\r\n\r\nBingo! There's a rogue newline character in the output of `base64`. The fix is very straight-forward. Using the `-w0` [flag for base64](https://www.man7.org/linux/man-pages/man1/base64.1.html), we can force the output to be on the same line:\r\n\r\n```\r\n/ $ echo -n someuser:somepasswordthatswaylongerthanthefirstonebutalsoverysecureandsafe | base64 -w0\r\nc29tZXVzZXI6c29tZXBhc3N3b3JkdGhhdHN3YXlsb25nZXJ0aGFudGhlZmlyc3RvbmVidXRhbHNvdmVyeXNlY3VyZWFuZHNhZmU=\r\n```\r\n\r\nThis eventually fixed the issue. Not something I would've ever thought of!\n","frontmatter":{"title":"Beware of base64 encoded strings","date":"2024-04-15","tags":"guide, note, learnings, web, til, tech, programming"},"tags":["guide","note","learnings","web","til","tech","programming"]},"recommendedPosts":[{"slug":"2024-04-11-a-simple-search-bar","frontmatter":{"title":"A simple search bar","date":"2024-04-11","tags":"guide, note, meta, web, tech, programming"},"tags":["guide","note","meta","web","tech","programming"]},{"slug":"2024-04-10-beating-elden-ring","frontmatter":{"title":"Beating Elden Ring","date":"2024-04-10","tags":"note, learnings, life, review, gaming"},"tags":["note","learnings","life","review","gaming"]},{"slug":"2024-04-04-pandoc-convert-links-to-footnotes-the-easy-way","frontmatter":{"title":"Pandoc: Convert links to footnotes (the easy way)","date":"2024-04-04","tags":"guide, note, writing, til, tech, programming, pandoc"},"tags":["guide","note","writing","til","tech","programming","pandoc"]},{"slug":"2024-04-02-fuck-trees-use-tags","frontmatter":{"title":"Fuck trees, use tags","date":"2024-04-02","tags":"note, opinion, tech"},"tags":["note","opinion","tech"]},{"slug":"2024-01-30-to-prove-something-is-true-try-disproving-it-first","frontmatter":{"title":"To prove something is true, try disproving it first","date":"2024-01-30","tags":"note, quote, practices, til, science"},"tags":["note","quote","practices","til","science"]}]},"__N_SSG":true}

0
_next/data/NRlraLO72gUw9pI0w2ru1/beats.json → _next/data/P34lTGIjVHF8P2quUJoEx/beats.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/blogroll.json → _next/data/P34lTGIjVHF8P2quUJoEx/blogroll.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/contact.json → _next/data/P34lTGIjVHF8P2quUJoEx/contact.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/ctf.json → _next/data/P34lTGIjVHF8P2quUJoEx/ctf.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/cv.json → _next/data/P34lTGIjVHF8P2quUJoEx/cv.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/guestbook.json → _next/data/P34lTGIjVHF8P2quUJoEx/guestbook.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/impossible.json → _next/data/P34lTGIjVHF8P2quUJoEx/impossible.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/index.json → _next/data/P34lTGIjVHF8P2quUJoEx/index.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/index/index.json → _next/data/P34lTGIjVHF8P2quUJoEx/index/index.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/journal.json → _next/data/P34lTGIjVHF8P2quUJoEx/journal.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/links.json → _next/data/P34lTGIjVHF8P2quUJoEx/links.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2020-11-06-current-doings.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-11-06-current-doings.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2020-11-17-booleans-are-wasted-memory.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-11-17-booleans-are-wasted-memory.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2020-12-18-update-december.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2020-12-18-update-december.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-07-delete-facebook.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-07-delete-facebook.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-11-100daystooffload.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-11-100daystooffload.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-11-are-humans-still-evolving.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-11-are-humans-still-evolving.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-13-512kb-club.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-13-512kb-club.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-15-compiling-your-own-kernel.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-15-compiling-your-own-kernel.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-18-reasons-the-fediverse-is-better.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-18-reasons-the-fediverse-is-better.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-23-signal-to-noise.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-23-signal-to-noise.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-26-vim-macros.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-26-vim-macros.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-01-29-sudo-to-doas.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-01-29-sudo-to-doas.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-02-bem-methodology.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-02-bem-methodology.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-07-storage-setup.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-07-storage-setup.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-11-10-percent-100daystooffload.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-11-10-percent-100daystooffload.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-17-notes-on-flutter-web.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-17-notes-on-flutter-web.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-20-changelogs.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-20-changelogs.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-02-24-vim-terminal-strategies.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-02-24-vim-terminal-strategies.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-03-13-git-builtin-lifesaver.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-03-13-git-builtin-lifesaver.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-04-07-pgp-guide.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-04-07-pgp-guide.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-05-15-healthchecks-io-with-docker.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-05-15-healthchecks-io-with-docker.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-08-08-fun-with-pen-and-paper-race-cars.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-08-08-fun-with-pen-and-paper-race-cars.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-09-13-fixing-an-annoying-cron-gotcha.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-09-13-fixing-an-annoying-cron-gotcha.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-10-04-server-side-caching-with-apollo-graphql.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-10-04-server-side-caching-with-apollo-graphql.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-12-21-usetoggle-react-hook.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-21-usetoggle-react-hook.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-12-24-notes-on-pruning-chinese-elms.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-24-notes-on-pruning-chinese-elms.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2021-12-31-btrfs-on-alpine.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2021-12-31-btrfs-on-alpine.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-01-28-til-how-to-get-the-selected-language-of-a-browser.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-01-28-til-how-to-get-the-selected-language-of-a-browser.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-03-18-fix-traefik-proxy-issues.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-03-18-fix-traefik-proxy-issues.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-03-24-swapping-numbers-without-temp.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-03-24-swapping-numbers-without-temp.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-04-25-weeknote-16-2022.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-25-weeknote-16-2022.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-04-28-hello-to-all-the-new-mastodon-users.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-28-hello-to-all-the-new-mastodon-users.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-04-29-weeknote-17-2022.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-04-29-weeknote-17-2022.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-05-06-weeknote-18-2022.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-06-weeknote-18-2022.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-05-24-cloning-windows-to-a-new-drive.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-24-cloning-windows-to-a-new-drive.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-05-31-database-server-migration-cheat-sheet.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-05-31-database-server-migration-cheat-sheet.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-06-02-tar-commands.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-02-tar-commands.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-06-10-a-list-of-bugs-in-macos.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-10-a-list-of-bugs-in-macos.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-06-29-the-only-true-answer-to-tabs-vs-spaces.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-06-29-the-only-true-answer-to-tabs-vs-spaces.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-08-31-whats-on-my-feed.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-08-31-whats-on-my-feed.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-09-22-kubernetes-is-a-domain-specific-database.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-22-kubernetes-is-a-domain-specific-database.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-09-26-self-hosted-software-im-thankful-for.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-26-self-hosted-software-im-thankful-for.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-09-30-debugging-docker-images.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-09-30-debugging-docker-images.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-10-05-simple-guestbook.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-10-05-simple-guestbook.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-11-03-reselling-managed-kubernetes.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-03-reselling-managed-kubernetes.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-11-11-cursed-user-agents.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-11-cursed-user-agents.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-11-24-smart-move-google.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-11-24-smart-move-google.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2022-12-05-contributing-to-open-source-knowledge.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2022-12-05-contributing-to-open-source-knowledge.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-01-02-welcome-2023.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-01-02-welcome-2023.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-14-openssf-best-practices.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-14-openssf-best-practices.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-19-til-about-css-insets.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-19-til-about-css-insets.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-20-what-problem-does-kubernetes-solve.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-20-what-problem-does-kubernetes-solve.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-21-what's-next-for-modern-infrastructure.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-21-what's-next-for-modern-infrastructure.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-22-dockerignore-troubles.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-22-dockerignore-troubles.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-02-24-visual-distractions.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-02-24-visual-distractions.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-03-notes-on-containerizing-php-applications.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-03-notes-on-containerizing-php-applications.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-04-pods-vs.-containers.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-04-pods-vs.-containers.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-08-terraform-and-kubernetes-are-fundamentally-different.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-08-terraform-and-kubernetes-are-fundamentally-different.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-10-debugging-ecs-tasks.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-10-debugging-ecs-tasks.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-11-a-software-requirements-checklist.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-11-a-software-requirements-checklist.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-16-terraform-project-learnings.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-16-terraform-project-learnings.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-21-i-wont-buy-a-yubikey.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-21-i-wont-buy-a-yubikey.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-23-fullscreen-terminals-in-vscode.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-23-fullscreen-terminals-in-vscode.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-26-software-is-not-defined-by-the-language-it's-written-in.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-26-software-is-not-defined-by-the-language-it's-written-in.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-03-30-designing-resilient-cloud-infrastructure.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-03-30-designing-resilient-cloud-infrastructure.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-01-quality-vs.-quantity.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-01-quality-vs.-quantity.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-07-older-is-often-better.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-07-older-is-often-better.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-12-instant-dark-theme.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-12-instant-dark-theme.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-22-the-role-of-a-devops-engineer.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-22-the-role-of-a-devops-engineer.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-27-migrating-homeassistant-from-sd-to-ssd.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-27-migrating-homeassistant-from-sd-to-ssd.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-04-28-serverless-framework-retrospective.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-04-28-serverless-framework-retrospective.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-05-19-work-batch-sizing.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-05-19-work-batch-sizing.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-06-01-single-page-applications-on-github-pages.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-06-01-single-page-applications-on-github-pages.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-06-25-make-a-list.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-06-25-make-a-list.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-07-06-rss-changes.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-06-rss-changes.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-07-11-principles-of-devops-introduction.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-11-principles-of-devops-introduction.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-07-12-principles-of-devops--flow.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-07-12-principles-of-devops--flow.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-08-23-so,-you-want-to-win-the-lottery.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-08-23-so,-you-want-to-win-the-lottery.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-09-09-everyday-carry-notebooks.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-09-everyday-carry-notebooks.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-09-10-short-story-haunted-memories.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-10-short-story-haunted-memories.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-09-11-linkdump-software-development.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-11-linkdump-software-development.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-09-29-undo-on-mobile-phones.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-09-29-undo-on-mobile-phones.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-10-01-the-mind-rope-experiment.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-01-the-mind-rope-experiment.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-10-03-project-hail-mary.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-03-project-hail-mary.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-10-09-field-notes-2.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-09-field-notes-2.json

0
_next/data/NRlraLO72gUw9pI0w2ru1/posts/2023-10-10-did-you-try-turning-it-off.json → _next/data/P34lTGIjVHF8P2quUJoEx/posts/2023-10-10-did-you-try-turning-it-off.json

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save