<?xml version='1.0' encoding='utf-8'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://406.ch/writing/llms-for-open-source-maintenance-a-cautious-case/</loc></url><url><loc>https://406.ch/writing/weeknotes-2026-week-11/</loc></url><url><loc>https://406.ch/writing/podcasts-i-like-listening-to-2026-edition/</loc></url><url><loc>https://406.ch/writing/my-2025-in-review/</loc></url><url><loc>https://406.ch/writing/rich-text-editors-how-restrictive-can-we-be/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-49/</loc></url><url><loc>https://406.ch/writing/thoughts-about-django-based-content-management-systems/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-45/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-43/</loc></url><url><loc>https://406.ch/writing/my-favorite-django-packages/</loc></url><url><loc>https://406.ch/writing/llms-are-making-me-a-better-programmer/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-37/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-35/</loc></url><url><loc>https://406.ch/writing/django-content-editor-cloning/</loc></url><url><loc>https://406.ch/writing/menu-improvements-in-django-prose-editor/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-27/</loc></url><url><loc>https://406.ch/writing/preserving-referential-integrity-with-json-fields-and-django/</loc></url><url><loc>https://406.ch/writing/how-i-m-bundling-frontend-assets-using-django-and-rspack-these-days/</loc></url><url><loc>https://406.ch/writing/django-javascript-modules-and-importmaps/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-21/</loc></url><url><loc>https://406.ch/writing/customizing-django-admin-fieldsets-without-fearing-forgotten-fields/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-15/</loc></url><url><loc>https://406.ch/writing/ungoogling-my-life/</loc></url><url><loc>https://406.ch/writing/til-tools-exist-which-do-not-lowercase-domain-names-when-requesting-websites-over-http-s/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-05/</loc></url><url><loc>https://406.ch/writing/django-admin-tip-adding-links-to-related-objects-in-change-forms/</loc></url><url><loc>https://406.ch/writing/weeknotes-2025-week-03/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-51/</loc></url><url><loc>https://406.ch/writing/object-based-assets-for-django-s-forms-media/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-49/</loc></url><url><loc>https://406.ch/writing/rebuilding-django-prose-editor-from-the-ground-up/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-47/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-43/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-39/</loc></url><url><loc>https://406.ch/writing/django-content-editor-now-supports-nested-sections/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-37/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-35/</loc></url><url><loc>https://406.ch/writing/how-i-handle-versioning/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-33/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-31/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-23/</loc></url><url><loc>https://406.ch/writing/workbench-coffee-time/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-21/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-18/</loc></url><url><loc>https://406.ch/writing/workbench-the-django-based-agency-software/</loc></url><url><loc>https://406.ch/writing/building-forms-with-the-django-admin/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-14/</loc></url><url><loc>https://406.ch/writing/the-django-admin-is-a-cms/</loc></url><url><loc>https://406.ch/writing/blacknoise-asgi-app-for-static-file-serving/</loc></url><url><loc>https://406.ch/writing/podcasts-i-like-listening-to/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-11/</loc></url><url><loc>https://406.ch/writing/eleven-months-of-static-site-generation/</loc></url><url><loc>https://406.ch/writing/django-prose-editor-prose-editing-component-for-the-django-admin/</loc></url><url><loc>https://406.ch/writing/my-2024-development-setup/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-07/</loc></url><url><loc>https://406.ch/writing/django-ckeditor/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-03/</loc></url><url><loc>https://406.ch/writing/weeknotes-2024-week-01/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-50/</loc></url><url><loc>https://406.ch/writing/django-json-schema-editor/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-48/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-44/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-43/</loc></url><url><loc>https://406.ch/writing/customize-the-django-admin-to-differentiate-environments/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-42/</loc></url><url><loc>https://406.ch/writing/why-we-switched-from-slack-to-discord-at-work/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-40/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-39/</loc></url><url><loc>https://406.ch/writing/keep-content-managers-admin-access-up-to-date-with-role-based-permissions/</loc></url><url><loc>https://406.ch/writing/my-reaction-to-the-block-driven-cms-blog-post/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-33/</loc></url><url><loc>https://406.ch/writing/composition-over-inheritance-the-case-for-function-based-views/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-30/</loc></url><url><loc>https://406.ch/writing/how-ruff-changed-my-python-programming-habits/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-29/</loc></url><url><loc>https://406.ch/writing/serving-zip-files-using-django/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-28/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-26/</loc></url><url><loc>https://406.ch/writing/feincms-is-a-dead-end-but-feincms3-is-not/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-24/</loc></url><url><loc>https://406.ch/writing/css-variables-and-immutability/</loc></url><url><loc>https://406.ch/writing/unlearning-scss-to-use-css-variables-effectively/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-18-and-19/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-17/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-16/</loc></url><url><loc>https://406.ch/writing/the-insides-of-my-static-site-generator/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-15/</loc></url><url><loc>https://406.ch/writing/static-site-generation/</loc></url><url><loc>https://406.ch/writing/run-less-code-in-production-or-youll-end-up-paying-the-price-later/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-13-and-14/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-11-and-12/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-10/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-8-and-9/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-7/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-6/</loc></url><url><loc>https://406.ch/writing/weeknotes-2023-week-5/</loc></url><url><loc>https://406.ch/writing/moving-data-including-deletions-between-the-same-django-app-running-in-different-environments/</loc></url><url><loc>https://406.ch/writing/leaving-twitter/</loc></url><url><loc>https://406.ch/writing/reusable-cookie-consent-app-for-django/</loc></url><url><loc>https://406.ch/writing/managing-complexity-and-technical-debt-by-releasing-open-source-software/</loc></url><url><loc>https://406.ch/writing/configuring-django-backends-using-speckenvs-12factor-support/</loc></url><url><loc>https://406.ch/writing/generating-xlsx-or-csv-from-the-django-admin-or-elsewhere/</loc></url><url><loc>https://406.ch/writing/recent-objects-using-several-django-models/</loc></url><url><loc>https://406.ch/writing/weeknotes-2021-week-13-and-14/</loc></url><url><loc>https://406.ch/writing/weeknotes-2021-week-12/</loc></url><url><loc>https://406.ch/writing/weeknotes-2021-week-11/</loc></url><url><loc>https://406.ch/writing/weeknotes-2021-week-10/</loc></url><url><loc>https://406.ch/writing/gettext-jsx-and-es6-template-literals/</loc></url><url><loc>https://406.ch/writing/embedding-videos-in-feincms3/</loc></url><url><loc>https://406.ch/writing/from-php-and-swisdk2-to-python-and-django-12-years-later/</loc></url><url><loc>https://406.ch/writing/django-debug-toolbar-3-0/</loc></url><url><loc>https://406.ch/writing/feincms-may-still-be-relevant/</loc></url><url><loc>https://406.ch/writing/django-tree-queries/</loc></url><url><loc>https://406.ch/writing/using-environment-variables-to-configure-django/</loc></url><url><loc>https://406.ch/writing/image-processing-and-server-crashes-with-django/</loc></url><url><loc>https://406.ch/writing/django-debug-toolbar-2-0a1/</loc></url><url><loc>https://406.ch/writing/i-just-learned-about-wagtail-s-streamfield/</loc></url><url><loc>https://406.ch/writing/bringing-feincms-and-django-content-editorfeincms3-closer-together/</loc></url><url><loc>https://406.ch/writing/writing-documentation/</loc></url><url><loc>https://406.ch/writing/what-did-feincms-get-right/</loc></url><url><loc>https://406.ch/writing/the-state-of-things-in-feincms-1x-land/</loc></url><url><loc>https://406.ch/writing/the-other-future-of-feincms-django-content-editor-and-feincms3/</loc></url><url><loc>https://406.ch/writing/the-future-of-feincms/</loc></url><url><loc>https://406.ch/writing/django-translated-fields-localized-model-fields-without-magic/</loc></url><url><loc>https://406.ch/writing/using-bliss-with-webpack/</loc></url><url><loc>https://406.ch/writing/the-final-internal_ips-fix-for-development-hosts/</loc></url><url><loc>https://406.ch/writing/offline-messages-for-django/</loc></url><url><loc>https://406.ch/writing/django-sitemaps-and-alternates/</loc></url><url><loc>https://406.ch/writing/our-approach-to-configuring-django-webpack-and-manifeststaticfilesstorage/</loc></url><url><loc>https://406.ch/writing/open-source-activity-april-2018-edition/</loc></url><url><loc>https://406.ch/writing/my-rules-for-releasing-open-source-software/</loc></url><url><loc>https://406.ch/writing/django-cabinet-a-media-library-for-django/</loc></url><url><loc>https://406.ch/writing/django-admin-apps-and-content-security-policy-compliance/</loc></url><url><loc>https://406.ch/writing/low-maintenance-software/</loc></url><url><loc>https://406.ch/writing/prototyping-writing-products-and-attention-span/</loc></url><url><loc>https://406.ch/writing/python-3-is-ready/</loc></url><url><loc>https://406.ch/writing/flake8-and-value-standards/</loc></url><url><loc>https://406.ch/writing/user-registration-age-social-media-platforms/</loc></url><url><loc>https://406.ch/writing/continuous-integration/</loc></url><url><loc>https://406.ch/writing/rede-nachtzuschlag/</loc></url><url><loc>https://406.ch/writing/nein-zum-verbot-des-sterbetourismus/</loc></url><url><loc>https://406.ch/writing/nein-zum-verbot-der-sterbehilfe/</loc></url><url><loc>https://406.ch/writing/die-cvp-lernt-von-den-usa/</loc></url><url><loc>https://406.ch/writing/atomunfalle-es-wird-langweilig/</loc></url><url><loc>https://406.ch/writing/1-august-feier-verbieten/</loc></url><url><loc>https://406.ch/writing/lacherliche-forderung-nach-senkung-des-spritpreises/</loc></url><url><loc>https://406.ch/writing/weniger-hurrikane-dank-klimaveranderung/</loc></url><url><loc>https://406.ch/writing/jugendgewalt-ist-hausgemacht/</loc></url><url><loc>https://406.ch/writing/klimaveranderung-in-den-70er-jahren-eiszeit-oder-erwarmung/</loc></url><url><loc>https://406.ch/writing/zur-angebotsorientierten-wirtschaftstheorie/</loc></url><url><loc>https://406.ch/writing/schweizer-waffenhandel/</loc></url><url><loc>https://406.ch/writing/die-haufigsten-argumente-der-klimaskeptiker/</loc></url><url><loc>https://406.ch/writing/nzz-couchepin-oder-blocherliberalismus/</loc></url><url><loc>https://406.ch/writing/linke-sind-unzufriedener-als-rechte/</loc></url><url><loc>https://406.ch/writing/fast-ohne-eigene-worte/</loc></url><url><loc>https://406.ch/writing/methadonabgabe/</loc></url><url><loc>https://406.ch/writing/unethischer-schweizer-waffenhandel/</loc></url><url><loc>https://406.ch/writing/kein-helmobligatorium-fur-radfahrer/</loc></url><url><loc>https://406.ch/writing/verzichten-sie-auf-sport/</loc></url><url><loc>https://406.ch/writing/wie-funktioniert-der-golfstrom-genau/</loc></url><url><loc>https://406.ch/writing/mit-abwasser-heizen/</loc></url><url><loc>https://406.ch/writing/swiss-re-erwartet-2006-weltweit-steigende-versicherungspramien/</loc></url><url><loc>https://406.ch/writing/98-weniger-verkehrsunfalle-dank-radarfallen/</loc></url><url><loc>https://406.ch/writing/global-climate-change-die-etwas-andere-losung/</loc></url><url><loc>https://406.ch/writing/der-golfstrom-ist-langsamer-geworden/</loc></url><url><loc>https://406.ch/writing/der-armee-ist-langweilig/</loc></url><url><loc>https://406.ch/writing/leserbrief-uber-offroad-fahrzeuge/</loc></url><url><loc>https://406.ch/writing/klimaerwarmung-auf-dem-mars/</loc></url><url><loc>https://406.ch/writing/proclim-widerspruche-zwischen-satellitendaten-und-bodennahen-temperaturmessungen-sind-weitgehend-ausgeraumt/</loc></url><url><loc>https://406.ch/writing/der-sommer-war-auch-schon-warmer/</loc></url><url><loc>https://406.ch/writing/category-climate/</loc></url><url><loc>https://406.ch/writing/category-django/</loc></url><url><loc>https://406.ch/writing/category-feincms/</loc></url><url><loc>https://406.ch/writing/category-politik/</loc></url><url><loc>https://406.ch/writing/category-programming/</loc></url><url><loc>https://406.ch/writing/category-python/</loc></url><url><loc>https://406.ch/writing/category-til/</loc></url><url><loc>https://406.ch/writing/category-weeknotes/</loc></url><url><loc>https://406.ch/writing/category-year-in-review/</loc></url></urlset>