{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Drafts",
  "home_page_url": "https://waylonwalker.com/draft/",
  "feed_url": "https://waylonwalker.com/draft/feed.json",
  "description": "Draft and unpublished posts",
  "authors": [
    {
      "name": "Waylon Walker"
    }
  ],
  "items": [
    {
      "id": "https://waylonwalker.com/components/sidebar/",
      "url": "https://waylonwalker.com/components/sidebar/",
      "title": "Sidebar",
      "content_html": "\u003ch2 id=\"slash-pages\"\u003eSlash Pages \u003ca href=\"#slash-pages\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"home-slashes\"\u003e\u003ca href=\"/verify/\" class=\"home-slash-link\"\u003e/verify/\u003c/a\u003e\u003ca href=\"/top4/\" class=\"home-slash-link\"\u003e/top4/\u003c/a\u003e\u003ca href=\"/yep/\" class=\"home-slash-link\"\u003e/yep/\u003c/a\u003e\u003ca href=\"/nope/\" class=\"home-slash-link\"\u003e/nope/\u003c/a\u003e\u003ca href=\"/ai/\" class=\"home-slash-link\"\u003e/ai/\u003c/a\u003e\u003ca href=\"/analytics/\" class=\"home-slash-link\"\u003e/analytics/\u003c/a\u003e\u003ca href=\"/now/\" class=\"home-slash-link\"\u003e/now/\u003c/a\u003e\u003ca href=\"/start/\" class=\"home-slash-link\"\u003e/start/\u003c/a\u003e\u003ca href=\"/colophon/\" class=\"home-slash-link\"\u003e/colophon/\u003c/a\u003e\u003ca href=\"/feeds/\" class=\"home-slash-link\"\u003e/feeds/\u003c/a\u003e\u003ca href=\"/about/\" class=\"home-slash-link\"\u003e/about/\u003c/a\u003e\u003c/div\u003e\n\u003ch2 id=\"latest-thoughtsthoughts\"\u003eLatest \u003ca href=\"/thoughts/\"\u003eThoughts\u003c/a\u003e \u003ca href=\"#latest-thoughtsthoughts\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"feed h-feed\"\u003e\n\u003cdiv class=\"posts posts-list\"\u003e\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-103/\" class=\"card-title p-name u-url\"\u003e💭 \u0026lt;/\u0026gt; htmx ~ Examples ~ Updating Other Content\u003c/a\u003e\n\u003cp\u003e\u003ca href=\"https://htmx.org/examples/update-other-content/\" class=\"card-domain\" rel=\"noopener noreferrer\" target=\"_blank\"\u003ehtmx.org\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://htmx.org/examples/update-other-content/\" hidden=\"\"\u003e\u003c/data\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eThree ways to support updating other content. Fantastic article walking through the different ways to update other parts of the screen using htmx.\u003c/p\u003e\n\u003cp\u003eIn htmx there is no 2 way data binding, the dom is your state, and if you have elements derived from the same data on the screen in different places you need to think about how to keep them in sync.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2023-08-26T01:03:10Z\"\u003eAugust 26, 2023\u003c/time\u003e\u003c/p\u003e\n\u003cdiv class=\"card-tags\"\u003e\n\u003cp\u003e\u003ca href=\"/tags/webdev/\" class=\"tag p-category\"\u003ewebdev\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/tags/htmx/\" class=\"tag p-category\"\u003ehtmx\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-102/\" class=\"card-title p-name u-url\"\u003e💭 Bigger Applications - Multiple Files - FastAPI\u003c/a\u003e\n\u003cp\u003e\u003ca href=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" class=\"card-domain  has-avatar has-avatar-before\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/fastapi.tiangolo.com.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/fastapi.tiangolo.com.png\"\u003efastapi.tiangolo.com\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" hidden=\"\"\u003e\u003c/data\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eFastapi lets you tag your \u003ccode\u003eAPIRouter\u003c/code\u003e’s so that the swagger docs are grouped according to the router.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003erouter = APIRouter(tags=[\u0026#39;router\u0026#39;]) \u003c/code\u003e\u003c/p\u003e\u003cp\u003eNow all routes in \u003ccode\u003erouter\u003c/code\u003e will appear in the router group in the swagger docs.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2023-08-24T14:51:23Z\"\u003eAugust 24, 2023\u003c/time\u003e\u003c/p\u003e\n\u003cdiv class=\"card-tags\"\u003e\n\u003cp\u003e\u003ca href=\"/tags/python/\" class=\"tag p-category\"\u003epython\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/tags/api/\" class=\"tag p-category\"\u003eapi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/tags/fastapi/\" class=\"tag p-category\"\u003efastapi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-100/\" class=\"card-title p-name u-url\"\u003e💭 Custom pages and templates - Datasette documentation\u003c/a\u003e\n\u003cp\u003e\u003ca href=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" class=\"card-domain  has-avatar has-avatar-before\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/docs.datasette.io.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/docs.datasette.io.ico\"\u003edocs.datasette.io\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" hidden=\"\"\u003e\u003c/data\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eDatasette has its own static server that can host assets such as style sheets.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2023-08-23T14:37:27Z\"\u003eAugust 23, 2023\u003c/time\u003e\u003c/p\u003e\n\u003cdiv class=\"card-tags\"\u003e\n\u003cp\u003e\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003e\u003ca href=\"/thoughts/\" class=\"home-see-more\"\u003eSee all thoughts →\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"recent-pingspings\"\u003eRecent \u003ca href=\"/pings/\"\u003ePings\u003c/a\u003e \u003ca href=\"#recent-pingspings\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cdiv class=\"feed h-feed\"\u003e\n\u003cdiv class=\"posts posts-list\"\u003e\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003ch3 id=\"fast-changing-dev-server-today\" class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/fast-changing-dev-server-today/\"\u003efast changing dev server today\u003c/a\u003e \u003ca href=\"#fast-changing-dev-server-today\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\u003cdiv class=\"card-text p-content\"\u003eThe dev server is cooking today, I\u0026#39;ve dropped markata builds from 2m40s (hot cache) in prod\nto 15s (hot cache) in dev. Currently building 2745 posts and 274 feeds.\n\u003cp\u003e\u003ca href=\"https://dropper.waylonwalker.com/file/c3e8b9de-d4be-4c7c-ab9b-a13a25c7673c.webp\" class=\"glightbox-link\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/c3e8b9de-d4be-4c7c-ab9b-a13a25c7673c.webp\" alt=\"screenshot of the dev builds from k9s\"/ data-glightbox=\"description: screenshot of the dev builds from k9s\"\u003e\u003c/a\u003e\u003c/p\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2025-12-10T13:45:49Z\"\u003eDecember 10, 2025\u003c/time\u003e\u003c/p\u003e\n\u003cspan class=\"webmention-counts\"\u003e\n\u003c/span\u003e\n\u003cp\u003e\u003ca href=\"/fast-changing-dev-server-today/\" class=\"card-link\"\u003eView\u003c/a\u003e\u003c/p\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003ch3 id=\"git-worktrees-are-needed\" class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/git-worktrees-are-needed/\"\u003egit worktrees are needed\u003c/a\u003e \u003ca href=\"#git-worktrees-are-needed\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\u003cdiv class=\"card-text p-content\"\u003egit worktrees are goated, and must be leaned on moving forward.\u003c/div\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2025-12-06T09:58:06Z\"\u003eDecember 6, 2025\u003c/time\u003e\u003c/p\u003e\n\u003cspan class=\"webmention-counts\"\u003e\n\u003cp\u003e\u003cspan class=\"wm-count wm-likes\" title=\"1 like\"\u003e❤ 1\u003c/span\u003e\u003c/p\u003e\n\u003c/span\u003e\n\u003cp\u003e\u003ca href=\"/git-worktrees-are-needed/\" class=\"card-link\"\u003eView\u003c/a\u003e\u003c/p\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003ch3 id=\"gpus-are-awesome\" class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/gpus-are-awesome/\"\u003egpus are awesome\u003c/a\u003e \u003ca href=\"#gpus-are-awesome\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003c/header\u003e\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\u003cdiv class=\"card-text p-content\"\u003eGPU\u0026#39;s are awesome. I just added gpu support to my bambu-studio distrobox and\nits flying! On my wayland based system the native package has never worked,\n(arch or bazzite), but running in a distrobox does. Outside of distrobox the 3d\nrendering canvas is black, no output. It used to work fine without gpu\nsupport, was snappy enough, complex models were a bit sluggish, but fine.\nLately something happened and simple models bring it to its knees. It got\nunusable!\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/a06bbf8b-abea-472e-8d96-4255d522444d.webp\" class=\"glightbox-link\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/a06bbf8b-abea-472e-8d96-4255d522444d.webp\" alt=\"\"/ data-glightbox=\"description: \"\u003e\u003c/a\u003e\n\u003c/figure\u003e\n\u003cp\u003e\u0026gt; The print I happen to be working on is some custom designed gumdrops for a\n\u0026gt; theater set. The ui is working and not lagging 30s between clicks causing\n\u0026gt; clicks to happen on the wrong ui element.\u003c/p\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cfooter class=\"card-meta\"\u003e\n\u003cp\u003e\u003ctime class=\"dt-published\" datetime=\"2025-12-03T20:21:14Z\"\u003eDecember 3, 2025\u003c/time\u003e\u003c/p\u003e\n\u003cspan class=\"webmention-counts\"\u003e\n\u003c/span\u003e\n\u003cp\u003e\u003ca href=\"/gpus-are-awesome/\" class=\"card-link\"\u003eView\u003c/a\u003e\u003c/p\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003e\u003ca href=\"/pings/\" class=\"home-see-more\"\u003eSee all pings →\u003c/a\u003e\u003c/p\u003e\n",
      "content_text": "\n## Slash Pages\n\n\u003cdiv class=\"home-slashes\"\u003e\u003ca href=\"/verify/\" class=\"home-slash-link\"\u003e/verify/\u003c/a\u003e\u003ca href=\"/top4/\" class=\"home-slash-link\"\u003e/top4/\u003c/a\u003e\u003ca href=\"/yep/\" class=\"home-slash-link\"\u003e/yep/\u003c/a\u003e\u003ca href=\"/nope/\" class=\"home-slash-link\"\u003e/nope/\u003c/a\u003e\u003ca href=\"/ai/\" class=\"home-slash-link\"\u003e/ai/\u003c/a\u003e\u003ca href=\"/analytics/\" class=\"home-slash-link\"\u003e/analytics/\u003c/a\u003e\u003ca href=\"/now/\" class=\"home-slash-link\"\u003e/now/\u003c/a\u003e\u003ca href=\"/start/\" class=\"home-slash-link\"\u003e/start/\u003c/a\u003e\u003ca href=\"/colophon/\" class=\"home-slash-link\"\u003e/colophon/\u003c/a\u003e\u003ca href=\"/feeds/\" class=\"home-slash-link\"\u003e/feeds/\u003c/a\u003e\u003ca href=\"/about/\" class=\"home-slash-link\"\u003e/about/\u003c/a\u003e\u003c/div\u003e\n\n## Latest [Thoughts](/thoughts/)\n\n\u003cdiv class=\"feed h-feed\"\u003e\n\u003cdiv class=\"posts posts-list\"\u003e\n\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-103/\" class=\"card-title p-name u-url\"\u003e💭 \u0026lt;/\u0026gt; htmx ~ Examples ~ Updating Other Content\u003c/a\u003e\n\n\u003ca href=\"https://htmx.org/examples/update-other-content/\" class=\"card-domain\" rel=\"noopener noreferrer\" target=\"_blank\"\u003ehtmx.org\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://htmx.org/examples/update-other-content/\" hidden\u003e\u003c/data\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eThree ways to support updating other content. Fantastic article walking through the different ways to update other parts of the screen using htmx.\u003c/p\u003e\n\u003cp\u003eIn htmx there is no 2 way data binding, the dom is your state, and if you have elements derived from the same data on the screen in different places you need to think about how to keep them in sync.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2023-08-26T01:03:10Z\"\u003eAugust 26, 2023\u003c/time\u003e\n\n\u003cdiv class=\"card-tags\"\u003e\n\n\u003ca href=\"/tags/webdev/\" class=\"tag p-category\"\u003ewebdev\u003c/a\u003e\n\n\u003ca href=\"/tags/htmx/\" class=\"tag p-category\"\u003ehtmx\u003c/a\u003e\n\n\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-102/\" class=\"card-title p-name u-url\"\u003e💭 Bigger Applications - Multiple Files - FastAPI\u003c/a\u003e\n\n\u003ca href=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" class=\"card-domain\" rel=\"noopener noreferrer\" target=\"_blank\"\u003efastapi.tiangolo.com\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" hidden\u003e\u003c/data\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eFastapi lets you tag your \u003ccode\u003eAPIRouter\u003c/code\u003e\u0026rsquo;s so that the swagger docs are grouped according to the router.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003erouter = APIRouter(tags=[\u0026#39;router\u0026#39;]) \u003c/code\u003e\u003c/pre\u003e\u003cp\u003eNow all routes in \u003ccode\u003erouter\u003c/code\u003e will appear in the router group in the swagger docs.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2023-08-24T14:51:23Z\"\u003eAugust 24, 2023\u003c/time\u003e\n\n\u003cdiv class=\"card-tags\"\u003e\n\n\u003ca href=\"/tags/python/\" class=\"tag p-category\"\u003epython\u003c/a\u003e\n\n\u003ca href=\"/tags/api/\" class=\"tag p-category\"\u003eapi\u003c/a\u003e\n\n\u003ca href=\"/tags/fastapi/\" class=\"tag p-category\"\u003efastapi\u003c/a\u003e\n\n\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003carticle class=\"card card-link h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\u003cdiv class=\"card-link-wrapper\"\u003e\n\n\u003cdiv class=\"card-link-content\"\u003e\n\u003ca href=\"/thought-100/\" class=\"card-title p-name u-url\"\u003e💭 Custom pages and templates - Datasette documentation\u003c/a\u003e\n\n\u003ca href=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" class=\"card-domain\" rel=\"noopener noreferrer\" target=\"_blank\"\u003edocs.datasette.io\u003c/a\u003e\n\u003cdata class=\"u-bookmark-of\" value=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" hidden\u003e\u003c/data\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-excerpt p-summary\"\u003e\u003cp\u003eDatasette has its own static server that can host assets such as style sheets.\u003c/p\u003e\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2023-08-23T14:37:27Z\"\u003eAugust 23, 2023\u003c/time\u003e\n\n\u003cdiv class=\"card-tags\"\u003e\n\n\u003ca href=\"/tags/thought/\" class=\"tag p-category\"\u003ethought\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n[See all thoughts \u0026rarr;](/thoughts/){.home-see-more}\n\n## Recent [Pings](/pings/)\n\n\u003cdiv class=\"feed h-feed\"\u003e\n\u003cdiv class=\"posts posts-list\"\u003e\n\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\n\u003ch3 class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/fast-changing-dev-server-today/\"\u003efast changing dev server today\u003c/a\u003e\u003c/h3\u003e\n\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\n\u003cdiv class=\"card-text p-content\"\u003eThe dev server is cooking today, I\u0026#39;ve dropped markata builds from 2m40s (hot cache) in prod\nto 15s (hot cache) in dev. Currently building 2745 posts and 274 feeds.\n\n![screenshot of the dev builds from k9s](https://dropper.waylonwalker.com/file/c3e8b9de-d4be-4c7c-ab9b-a13a25c7673c.webp)\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2025-12-10T13:45:49Z\"\u003eDecember 10, 2025\u003c/time\u003e\n\n\u003cspan class=\"webmention-counts\"\u003e\n\n\u003c/span\u003e\n\n\u003ca href=\"/fast-changing-dev-server-today/\" class=\"card-link\"\u003eView\u003c/a\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\n\u003ch3 class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/git-worktrees-are-needed/\"\u003egit worktrees are needed\u003c/a\u003e\u003c/h3\u003e\n\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\n\u003cdiv class=\"card-text p-content\"\u003egit worktrees are goated, and must be leaned on moving forward.\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2025-12-06T09:58:06Z\"\u003eDecember 6, 2025\u003c/time\u003e\n\n\u003cspan class=\"webmention-counts\"\u003e\n\n\u003cspan class=\"wm-count wm-likes\" title=\"1 like\"\u003e\u0026#10084; 1\u003c/span\u003e\n\n\u003c/span\u003e\n\n\u003ca href=\"/git-worktrees-are-needed/\" class=\"card-link\"\u003eView\u003c/a\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003carticle class=\"card card-note h-entry\"\u003e\n\u003cheader class=\"card-header\"\u003e\n\n\u003ch3 class=\"card-title p-name\"\u003e\u003ca class=\"u-url\" href=\"/gpus-are-awesome/\"\u003egpus are awesome\u003c/a\u003e\u003c/h3\u003e\n\n\u003c/header\u003e\n\n\u003cdiv class=\"card-body\"\u003e\n\u003cdiv class=\"card-content\"\u003e\n\n\u003cdiv class=\"card-text p-content\"\u003eGPU\u0026#39;s are awesome. I just added gpu support to my bambu-studio distrobox and\nits flying! On my wayland based system the native package has never worked,\n(arch or bazzite), but running in a distrobox does. Outside of distrobox the 3d\nrendering canvas is black, no output. It used to work fine without gpu\nsupport, was snappy enough, complex models were a bit sluggish, but fine.\nLately something happened and simple models bring it to its knees. It got\nunusable!\n\n![](https://dropper.waylonwalker.com/file/a06bbf8b-abea-472e-8d96-4255d522444d.webp)\n\n\u0026gt; The print I happen to be working on is some custom designed gumdrops for a\n\u0026gt; theater set. The ui is working and not lagging 30s between clicks causing\n\u0026gt; clicks to happen on the wrong ui element.\u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n\u003cfooter class=\"card-meta\"\u003e\n\n\u003ctime class=\"dt-published\" datetime=\"2025-12-03T20:21:14Z\"\u003eDecember 3, 2025\u003c/time\u003e\n\n\u003cspan class=\"webmention-counts\"\u003e\n\n\u003c/span\u003e\n\n\u003ca href=\"/gpus-are-awesome/\" class=\"card-link\"\u003eView\u003c/a\u003e\n\u003c/footer\u003e\n\u003c/article\u003e\n\n\u003c/div\u003e\n\u003c/div\u003e\n\n[See all pings \u0026rarr;](/pings/){.home-see-more}\n",
      "summary": "Homepage sidebar content -- included by home.html via include_post.",
      "date_modified": "1970-01-01T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/components/now-intro/",
      "url": "https://waylonwalker.com/components/now-intro/",
      "title": "Now Intro",
      "content_html": "\u003cul\u003e\n\u003cli\u003eSilksong has my attention\u003c/li\u003e\n\u003cli\u003eWorking on new features for dropper\u003c/li\u003e\n\u003cli\u003eAdding more than software to the blog – design and 3D printing\u003c/li\u003e\n\u003cli\u003eBuilding markata-go, the engine behind this site\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp class=\"home-updated\"\u003eLast updated Oct 2025\u003c/p\u003e\n",
      "content_text": "\n- Silksong has my attention\n- Working on new features for dropper\n- Adding more than software to the blog -- design and 3D printing\n- Building markata-go, the engine behind this site\n\n\u003cp class=\"home-updated\"\u003eLast updated Oct 2025\u003c/p\u003e\n",
      "summary": "Homepage now card -- included by home.html via include_post.",
      "date_modified": "1970-01-01T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/components/nav-content/",
      "url": "https://waylonwalker.com/components/nav-content/",
      "title": "Nav Content",
      "content_html": "\u003cp\u003e\u003ca href=\"/\"\u003eHome\u003c/a\u003e \u003ca href=\"/start/\"\u003eStart Here\u003c/a\u003e \u003ca href=\"/archive/\"\u003eArchive\u003c/a\u003e \u003ca href=\"/about/\"\u003eAbout\u003c/a\u003e \u003ca href=\"/feeds/\"\u003eRSS\u003c/a\u003e\u003c/p\u003e\n",
      "content_text": "\n[Home](/) [Start Here](/start/) [Archive](/archive/) [About](/about/) [RSS](/feeds/)\n",
      "summary": "Markdown-driven navigation -- replaces the config-driven nav via the nav_content slot.",
      "date_modified": "1970-01-01T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/components/footer-content/",
      "url": "https://waylonwalker.com/components/footer-content/",
      "title": "Footer Content",
      "content_html": "\u003cp\u003e\u003ca href=\"/about/\"\u003e/about\u003c/a\u003e \u003ca href=\"/now/\"\u003e/now\u003c/a\u003e \u003ca href=\"/colophon/\"\u003e/colophon\u003c/a\u003e \u003ca href=\"/blogroll/\"\u003e/blogroll\u003c/a\u003e \u003ca href=\"/reader/\"\u003e/reader\u003c/a\u003e \u003ca href=\"/ai/\"\u003e/ai\u003c/a\u003e \u003ca href=\"https://twitter.com/waylonwalker\"\u003eTwitter\u003c/a\u003e \u003ca href=\"https://github.com/waylonwalker\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/github.com.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/github.com.ico\" class=\"has-avatar  has-avatar-before\"\u003eGitHub\u003c/a\u003e \u003ca href=\"https://linkedin.com/in/waylonwalker\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/linkedin.com.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/linkedin.com.ico\" class=\"has-avatar  has-avatar-before\"\u003eLinkedIn\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e© 2026 Waylon Walker. Content licensed under \u003ca href=\"https://creativecommons.org/licenses/by/4.0/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/creativecommons.org.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/creativecommons.org.png\" class=\"has-avatar  has-avatar-before\"\u003eCC BY 4.0\u003c/a\u003e. Built with \u003ca href=\"https://github.com/WaylonWalker/markata-go\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/github.com.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/github.com.ico\" class=\"has-avatar  has-avatar-before\"\u003emarkata-go\u003c/a\u003e.\u003c/p\u003e\n",
      "content_text": "\n[/about](/about/) [/now](/now/) [/colophon](/colophon/) [/blogroll](/blogroll/) [/reader](/reader/) [/ai](/ai/) [Twitter](https://twitter.com/waylonwalker) [GitHub](https://github.com/waylonwalker) [LinkedIn](https://linkedin.com/in/waylonwalker)\n\n\u0026copy; 2026 Waylon Walker. Content licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Built with [markata-go](https://github.com/WaylonWalker/markata-go).\n",
      "summary": "Markdown-driven footer -- replaces the config-driven footer via the footer_content slot.",
      "date_modified": "1970-01-01T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/components/about-intro/",
      "url": "https://waylonwalker.com/components/about-intro/",
      "title": "About Intro",
      "content_html": "\u003cp\u003eHusband, father of two, creator of things on the web. I build data pipelines and web platforms with Python. I believe in a decentralized web where everyone has their own space to share.\u003c/p\u003e\n\u003cp\u003eI built my own blogging engine from scratch because I was frustrated with long build times, bloated pages, and black holes of node modules.\u003c/p\u003e\n",
      "content_text": "\nHusband, father of two, creator of things on the web. I build data pipelines and web platforms with Python. I believe in a decentralized web where everyone has their own space to share.\n\nI built my own blogging engine from scratch because I was frustrated with long build times, bloated pages, and black holes of node modules.\n",
      "summary": "Homepage about intro card -- included by home.html via include_post.",
      "date_modified": "1970-01-01T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    }
  ]
}