{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Daily Notes",
  "home_page_url": "https://waylonwalker.com/daily/",
  "feed_url": "https://waylonwalker.com/daily/feed.json",
  "description": "Daily notes posts",
  "authors": [
    {
      "name": "Waylon Walker"
    }
  ],
  "items": [
    {
      "id": "https://waylonwalker.com/2026-08-27-notes/",
      "url": "https://waylonwalker.com/2026-08-27-notes/",
      "title": "2026-08-27 Notes",
      "content_html": "\u003ch2 id=\"plaindown\"\u003eplaindown \u003ca href=\"#plaindown\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eworking on plaindown performance, and things are actually feeling much better as I type, it actually does feel like a huge difference until we hit a huge lag spike.  Lag spikes are getting fewer and fewer in between.\u003c/p\u003e\n\u003cp\u003ecurrent input delay is 65ms longest is 995ms, which is about what I’m feeling. The one spike was about a second, my p50 is 9ms and p95 at 19ms feels very snappy.\u003c/p\u003e\n\u003cp\u003eThe thing we are missing next is templates being ready immediately.\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/897743a6-a8d4-4d68-9d87-33e2f4459527.webp\" class=\"glightbox-link\" aria-label=\"897743a6-a8d4-4d68-9d87-33e2f4459527.webp\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/897743a6-a8d4-4d68-9d87-33e2f4459527.webp\" alt=\"897743a6-a8d4-4d68-9d87-33e2f4459527.webp\"/ data-glightbox=\"description: 897743a6-a8d4-4d68-9d87-33e2f4459527.webp\"\u003e\u003c/a\u003e\u003c/figure\u003e\n",
      "content_text": "\n## plaindown\n\nworking on plaindown performance, and things are actually feeling much better as I type, it actually does feel like a huge difference until we hit a huge lag spike.  Lag spikes are getting fewer and fewer in between.\n\ncurrent input delay is 65ms longest is 995ms, which is about what I'm feeling. The one spike was about a second, my p50 is 9ms and p95 at 19ms feels very snappy.\n\nThe thing we are missing next is templates being ready immediately.\n\n![897743a6-a8d4-4d68-9d87-33e2f4459527.webp](https://dropper.waylonwalker.com/file/897743a6-a8d4-4d68-9d87-33e2f4459527.webp)",
      "summary": "notes for 2026-08-27",
      "date_published": "2026-08-27T00:00:00Z",
      "date_modified": "2026-08-27T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "daily-note"
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-08-25-notes/",
      "url": "https://waylonwalker.com/2026-08-25-notes/",
      "title": "2026-08-25 Notes",
      "content_html": "\u003ch2 id=\"mdwaylonwalkercom\"\u003emd.waylonwalker.com \u003ca href=\"#mdwaylonwalkercom\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eGetting some great improvements on the lag spikes this morning.\u003c/p\u003e\n\u003ch2 id=\"another-theo-banger\"\u003eAnother @theo banger \u003ca href=\"#another-theo-banger\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAutomatic memory sucks, it chooses the wrong thing to keep, rarely references what it does keep, then when it does choose to reference something its not the right thing anyways.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=Jf54k7tFeEc\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/www.youtube.com.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/www.youtube.com.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://www.youtube.com/watch?v=Jf54k7tFeEc\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=Jf54k7tFeEc\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/www.youtube.com.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/www.youtube.com.png\" class=\"has-avatar  has-avatar-before\"\u003eTurn off Claude Code’s Memory\u003c/a\u003e\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/0b388888-b003-4c42-adfa-c88d2117cc74.webp\" class=\"glightbox-link\" aria-label=\"0b388888-b003-4c42-adfa-c88d2117cc74.webp\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/0b388888-b003-4c42-adfa-c88d2117cc74.webp\" alt=\"0b388888-b003-4c42-adfa-c88d2117cc74.webp\"/ data-glightbox=\"description: 0b388888-b003-4c42-adfa-c88d2117cc74.webp\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003e@poteto tweet\u003c/p\u003e\u003c/figcaption\u003e\n\u003c/figure\u003e\n",
      "content_text": "\n\n## md.waylonwalker.com\n\nGetting some great improvements on the lag spikes this morning.\n\n## Another @theo banger\n\nAutomatic memory sucks, it chooses the wrong thing to keep, rarely references what it does keep, then when it does choose to reference something its not the right thing anyways.\n\nhttps://www.youtube.com/watch?v=Jf54k7tFeEc\n\n[Turn off Claude Code's Memory](https://www.youtube.com/watch?v=Jf54k7tFeEc)\n\n![0b388888-b003-4c42-adfa-c88d2117cc74.webp](https://dropper.waylonwalker.com/file/0b388888-b003-4c42-adfa-c88d2117cc74.webp)\n@poteto tweet\n",
      "summary": "notes for 2026-08-25",
      "date_published": "2026-08-25T00:00:00Z",
      "date_modified": "2026-08-25T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "daily-note"
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-08-13-notes/",
      "url": "https://waylonwalker.com/2026-08-13-notes/",
      "title": "2026-08-13 Notes",
      "content_html": "\u003ch2 id=\"notable-listens\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cmark\u003eNota\u003c/mark\u003e\u003c/span\u003e\u003c/span\u003eble \u003csup\u003elistens\u003c/sup\u003e \u003ca href=\"#notable-listens\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://youtu.be/HC8T1OlgYi0\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtu.be.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtu.be.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtu.be/HC8T1OlgYi0\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"embed-card\"\u003e\n  \u003ca class=\"embed-card-link\" href=\"/stop-being-skeptical-about-ai-for-development-with-charity-majors/\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eStop being skeptical about AI for development with Charity Majors\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003eAs always with Charity Majors this was a pretty great interview. Lots of repeat ideas with some good nuggets.\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003eAug 13, 2026\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cp\u003e\u003ca href=\"https://youtu.be/Gf0pR4_bv-o\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtu.be.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtu.be.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtu.be/Gf0pR4_bv-o\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThere was a particularly good section about influence vs. manipulation.  The line can be very thin and hard to ride between the two.  Both can drive people to do work.\u003c/p\u003e\n\u003ch2 id=\"pmf\"\u003epmf \u003ca href=\"#pmf\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003epoor mans fiberglass\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efirst layer right on foam 50:50 water to glue\u003c/li\u003e\n\u003cli\u003eiron on canvas\u003c/li\u003e\n\u003cli\u003efinal layer 25:75 water to glue\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"plaindown\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cmark\u003ePlain\u003c/mark\u003e\u003c/span\u003e\u003c/span\u003eDown \u003ca href=\"#plaindown\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eReally happy with the progress I’m making on plaindown, today I really have the\nflow of pulling in changes between desktop and phone greased up. A dritical\nkeybinding to get commits in with \u003cspan class=\"keys\"\u003e\u003ckbd class=\"kbd key-ctrl\"\u003ectrl\u003c/kbd\u003e\u003c/span\u003e + \u003cspan class=\"keys\"\u003e\u003ckbd class=\"kbd key-enter\"\u003eenter\u003c/kbd\u003e\u003c/span\u003e landed and it feels\nreally good to get it all keyboard centric.\u003c/p\u003e\n",
      "content_text": "\n## ==Nota==ble ^listens^\n\nhttps://youtu.be/HC8T1OlgYi0\n\n\u003cdiv class=\"embed-card\"\u003e\n  \u003ca href=\"/stop-being-skeptical-about-ai-for-development-with-charity-majors/\" class=\"embed-card-link\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eStop being skeptical about AI for development with Charity Majors\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003eAs always with Charity Majors this was a pretty great interview. Lots of repeat ideas with some good nuggets.\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003eAug 13, 2026\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n \n\nhttps://youtu.be/Gf0pR4_bv-o\n\nThere was a particularly good section about influence vs. manipulation.  The line can be very thin and hard to ride between the two.  Both can drive people to do work.\n\n## pmf\n\npoor mans fiberglass\n\n* first layer right on foam 50:50 water to glue\n* iron on canvas\n* final layer 25:75 water to glue\n\n## ==Plain==Down\n\nReally happy with the progress I'm making on plaindown, today I really have the\nflow of pulling in changes between desktop and phone greased up. A dritical\nkeybinding to get commits in with ++ctrl++ + ++enter++ landed and it feels\nreally good to get it all keyboard centric.",
      "summary": "notes for 2026-08-13",
      "date_published": "2026-08-13T00:00:00Z",
      "date_modified": "2026-08-13T00:00:00Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "daily"
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-08-11/",
      "url": "https://waylonwalker.com/2026-08-11/",
      "title": "Untitled 2026-08-11",
      "content_html": "\u003cp\u003e\u003ca href=\"https://youtu.be/e1snsuY4lTI\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtu.be.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtu.be.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtu.be/e1snsuY4lTI\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003egreat video on setting up skills and agents.md need to take some notes on it.\u003c/p\u003e\n\u003ch3 id=\"many-small-skills\"\u003eMany Small Skills \u003ca href=\"#many-small-skills\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eSomething I noticed here was that theo has many small skills.  Prime example he talked about his pr skill, he split out \u003ccode\u003efile-pr\u003c/code\u003e and \u003ccode\u003ebabysit-pr\u003c/code\u003e into separate skills.\u003c/p\u003e\n\u003ch3 id=\"\u003ca href=\"/html/\" class=\"glossary-term\" title=\"HTML (HyperText Markup Language) is the standard markup language used to create and design documents on the World Wide Web. It structures web content by...\"\u003ehtml\u003c/a\u003e\"\u003eHTML \u003ca href=\"#html\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eI like how he set up his html reporting skill so that  he can one line \u003ccode\u003eHTML\u003c/code\u003e at the end and get the agent to start responding in html.\u003c/p\u003e\n\u003ch2 id=\"waylonwalkercom-on-new-builder\"\u003ewaylonwalker.com on new builder \u003ca href=\"#waylonwalkercom-on-new-builder\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp\" class=\"glightbox-link\" aria-label=\"4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp\" alt=\"4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp\"/ data-glightbox=\"description: 4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003enew builder watcher, kicks off immediately on commit through websocket connection back to the repo.\u003c/p\u003e\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003ch2 id=\"plaindown-performance\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cmark\u003eplain\u003c/mark\u003e\u003c/span\u003e\u003c/span\u003edown↓ performance \u003ca href=\"#plaindown-performance\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eWorking on md.waylonwalker.com performance, and I think we are seeing really\ngood reponses. Things are moving much quicker with less noticable lag spikes than before, they are not completely gone, but we are really getting there. 󱨛.\u003c/p\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003e@clanker\u003c/p\u003e\n\u003ch2 id=\"performance\"\u003ePerformance \u003ca href=\"#performance\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved Markdown parsing to a Web Worker.\u003c/li\u003e\n\u003cli\u003eDelayed preview updates until the editor is idle.\u003c/li\u003e\n\u003cli\u003eReduced work during typing.\u003c/li\u003e\n\u003cli\u003eTyping now stays responsive while the preview updates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"baseline-numbers\"\u003ebaseline numbers \u003ca href=\"#baseline-numbers\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreview render: 289 ms average\u003c/li\u003e\n\u003cli\u003ePreview render P95: 671 ms\u003c/li\u003e\n\u003cli\u003ePreview render maximum: 769 ms\u003c/li\u003e\n\u003cli\u003eTyping latency P95: 22.6 ms\u003c/li\u003e\n\u003cli\u003eWorst recorded character input: 52 ms\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003ePreview performance\u003c/p\u003e\n\u003cpre class=\"mermaid\"\u003e\nxychart-beta\n    title \"Preview render time — lower is better\"\n    x-axis [\"Average\", \"P95\"]\n    y-axis \"Milliseconds\" 0 --\u003e 700\n    bar [289, 671]\n    bar [122, 184]\n\u003c/pre\u003e\n\u003ch3 id=\"typing-performance\"\u003eTyping performance \u003ca href=\"#typing-performance\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cpre class=\"mermaid\"\u003e\nxychart-beta\n    title \"Typing latency\"\n    x-axis [\"P50\", \"P95\"]\n    y-axis \"Milliseconds\" 0 --\u003e 25\n    bar [8.2, 22.6]\n    bar [6.7, 20.4]\n\u003c/pre\u003e\n\u003cp\u003erendering in the latest version is quite slow, it really waits until I am done\nbefore it renders a preview.  I think we are going to have to change this.\u003c/p\u003e\n\n\u003cscript type=\"module\"\u003e\n  import mermaid from '/assets/vendor/mermaid/mermaid.esm.min.mjs';\n  const rootStyle = getComputedStyle(document.documentElement);\n  const css = (name, fallback) =\u003e (rootStyle.getPropertyValue(name) || fallback).trim();\n  const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches ||\n    document.documentElement.dataset.theme === 'dark';\n  const accent = css('--color-primary', '#ffcd11');\n  const flowchart = {\n    nodeSpacing: 60,\n    rankSpacing: 90,\n    padding: 12,\n  };\n  const themeCSS = `\n    .label foreignObject \u003e div { padding: 14px 14px 10px; line-height: 1.2; }\n    .nodeLabel { padding: 14px 14px 10px; line-height: 1.2; }\n    * { cursor: pointer; }\n  `;\n  const themeVariables = {\n    background: css('--color-background', '#ffffff'),\n    primaryColor: css('--color-code-bg', '#0a0a0a'),\n    primaryTextColor: css('--color-text', '#1f2937'),\n    primaryBorderColor: accent,\n    lineColor: accent,\n    textColor: css('--color-text', '#1f2937'),\n    nodeBkg: css('--color-code-bg', '#0a0a0a'),\n    nodeBorder: accent,\n    nodeTextColor: css('--color-text', '#1f2937'),\n    fontSize: '16px',\n    nodePadding: 20,\n    nodeTextMargin: 14,\n    clusterBkg: isDark ? css('--color-background', '#0f0f0f') : css('--color-surface', '#f9fafb'),\n    clusterBorder: accent,\n    clusterTextColor: css('--color-text', '#1f2937'),\n    titleColor: css('--color-text', '#1f2937'),\n    edgeLabelBackground: css('--color-code-bg', '#0a0a0a'),\n  };\n\n  const SVG_PAN_ZOOM_CDN = 'https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.2/dist/svg-pan-zoom.min.js';\n  let mermaidLightbox = null;\n  let activePanZoom = null;\n\n  // Inject lightbox styles once\n  const injectLightboxStyles = () =\u003e {\n    if (document.getElementById('mermaid-lightbox-css')) return;\n    const style = document.createElement('style');\n    style.id = 'mermaid-lightbox-css';\n    style.textContent = `\n      /* Container fills the GLightbox slide */\n      .mermaid-lightbox-wrap {\n        width: 100%;\n        height: 100%;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: transparent;\n        position: relative;\n      }\n      .mermaid-lightbox-wrap svg {\n        width: 100% !important;\n        height: 100% !important;\n        max-width: 100%;\n        max-height: 100%;\n      }\n      /* Hide GLightbox prev/next arrows (single-slide lightbox) */\n      .glightbox-container .gprev,\n      .glightbox-container .gnext {\n        display: none !important;\n      }\n      /* Hide description area that renders as a white box */\n      .glightbox-container .gslide-description,\n      .glightbox-container .gslide-title,\n      .glightbox-container .gdesc-inner,\n      .glightbox-container .gslide-desc {\n        display: none !important;\n      }\n      /* Remove white background from inline slide content */\n      .glightbox-container .gslide-inline {\n        background: transparent !important;\n      }\n      /* Make the inline content area fill the slide */\n      .glightbox-container .ginlined-content {\n        max-width: none !important;\n        max-height: none !important;\n        width: 100%;\n        height: 100%;\n        padding: 0 !important;\n      }\n      /* Remove box-shadow from the media container */\n      .glightbox-container .gslide-media {\n        box-shadow: none !important;\n      }\n      /* Toolbar styling */\n      .mermaid-lightbox-toolbar {\n        position: absolute;\n        top: 8px;\n        right: 8px;\n        z-index: 10;\n        display: flex;\n        gap: 4px;\n      }\n      .mermaid-pz-btn {\n        background: rgba(0,0,0,0.6);\n        color: #fff;\n        border: 1px solid rgba(255,255,255,0.3);\n        border-radius: 4px;\n        padding: 4px 10px;\n        cursor: pointer;\n        font-size: 14px;\n        line-height: 1;\n      }\n      .mermaid-pz-btn:hover {\n        background: rgba(0,0,0,0.8);\n        border-color: rgba(255,255,255,0.6);\n      }\n    `;\n    document.head.appendChild(style);\n  };\n\n  // Lazy-load svg-pan-zoom from CDN, returns a promise\n  const loadSvgPanZoom = () =\u003e {\n    if (typeof svgPanZoom !== 'undefined') return Promise.resolve();\n    return new Promise((resolve, reject) =\u003e {\n      const s = document.createElement('script');\n      s.src = SVG_PAN_ZOOM_CDN;\n      s.onload = resolve;\n      s.onerror = reject;\n      document.head.appendChild(s);\n    });\n  };\n\n  // Initialize svg-pan-zoom on the SVG inside the lightbox.\n  // Retries until the lightbox container has settled dimensions.\n  let _pzRetries = 0;\n  const initPanZoom = () =\u003e {\n    if (activePanZoom) return;\n    const container = document.querySelector('.glightbox-container .gslide.current .mermaid-lightbox-wrap');\n    if (!container) return;\n    const svgEl = container.querySelector('svg');\n    if (!svgEl) return;\n\n    // Ensure the container has layout dimensions before initializing.\n    const cRect = container.getBoundingClientRect();\n    if (cRect.width \u003c 10 || cRect.height \u003c 10) {\n      if (_pzRetries \u003c 20) { _pzRetries++; setTimeout(initPanZoom, 50); }\n      return;\n    }\n\n    // svg-pan-zoom needs a viewBox. Pre-rendered SVGs from mermaid\n    // usually have one; browser-rendered ones may not.\n    if (!svgEl.getAttribute('viewBox')) {\n      let w = parseFloat(svgEl.getAttribute('width'));\n      let h = parseFloat(svgEl.getAttribute('height'));\n      if (!w \u0026\u0026 svgEl.style.maxWidth) w = parseFloat(svgEl.style.maxWidth);\n      if (!w || !h) {\n        const r = svgEl.getBoundingClientRect();\n        if (!w) w = r.width;\n        if (!h) h = r.height;\n      }\n      if (w \u003e 0 \u0026\u0026 h \u003e 0) {\n        svgEl.setAttribute('viewBox', '0 0 ' + w + ' ' + h);\n      } else if (_pzRetries \u003c 20) {\n        _pzRetries++; setTimeout(initPanZoom, 50); return;\n      }\n    }\n    _pzRetries = 0;\n\n    // Clear inline dimensions so SVG can be sized by the container\n    // and svg-pan-zoom can manage transforms.\n    svgEl.removeAttribute('width');\n    svgEl.removeAttribute('height');\n    svgEl.style.cssText = 'width:100%;height:100%;';\n\n    try {\n      activePanZoom = svgPanZoom(svgEl, {\n        zoomEnabled: true,\n        panEnabled: true,\n        controlIconsEnabled: false,\n        fit: true,\n        center: true,\n        contain: false,\n        minZoom: 0.3,\n        maxZoom: 10,\n        zoomScaleSensitivity: 0.3,\n        mouseWheelZoomEnabled: true,\n        preventMouseEventsDefault: true,\n      });\n      // Double-check fit after a frame in case dimensions shifted\n      requestAnimationFrame(() =\u003e {\n        if (!activePanZoom) return;\n        activePanZoom.resize();\n        activePanZoom.fit();\n        activePanZoom.center();\n      });\n    } catch (_) {\n      activePanZoom = null;\n    }\n\n    // Add reset/fit buttons\n    let toolbar = container.querySelector('.mermaid-lightbox-toolbar');\n    if (!toolbar) {\n      toolbar = document.createElement('div');\n      toolbar.className = 'mermaid-lightbox-toolbar';\n      toolbar.innerHTML =\n        '\u003cbutton class=\"mermaid-pz-btn\" data-action=\"fit\" title=\"Fit to view\"\u003eFit\u003c/button\u003e' +\n        '\u003cbutton class=\"mermaid-pz-btn\" data-action=\"zoomin\" title=\"Zoom in\"\u003e+\u003c/button\u003e' +\n        '\u003cbutton class=\"mermaid-pz-btn\" data-action=\"zoomout\" title=\"Zoom out\"\u003e\u0026minus;\u003c/button\u003e';\n      toolbar.addEventListener('click', (ev) =\u003e {\n        const btn = ev.target.closest('[data-action]');\n        if (!btn || !activePanZoom) return;\n        ev.preventDefault();\n        ev.stopPropagation();\n        const action = btn.dataset.action;\n        if (action === 'fit') { activePanZoom.resize(); activePanZoom.fit(); activePanZoom.center(); }\n        else if (action === 'zoomin') { activePanZoom.zoomIn(); }\n        else if (action === 'zoomout') { activePanZoom.zoomOut(); }\n      });\n      container.prepend(toolbar);\n    }\n  };\n\n  // Destroy pan-zoom on lightbox close\n  const destroyPanZoom = () =\u003e {\n    if (activePanZoom) {\n      try { activePanZoom.destroy(); } catch (_) { /* no-op */ }\n      activePanZoom = null;\n    }\n  };\n\n  let _lbRetries = 0;\n  const ensureMermaidLightbox = () =\u003e {\n    const diagrams = document.querySelectorAll('.mermaid svg');\n    if (!diagrams.length) {\n      // Mermaid ESM may still be rendering -- retry up to 2s\n      if (_lbRetries \u003c 20) { _lbRetries++; setTimeout(ensureMermaidLightbox, 100); }\n      return;\n    }\n    _lbRetries = 0;\n    injectLightboxStyles();\n    diagrams.forEach((svg) =\u003e {\n      if (svg.dataset.lightboxBound) return;\n      svg.dataset.lightboxBound = 'true';\n      svg.style.cursor = 'pointer';\n      svg.addEventListener('click', (e) =\u003e {\n        e.preventDefault();\n        e.stopPropagation();\n        const svgHtml = svg.outerHTML;\n        const openLightbox = () =\u003e {\n          if (!mermaidLightbox) {\n            mermaidLightbox = GLightbox({\n              selector: false,\n              openEffect: 'fade',\n              closeEffect: 'fade',\n              zoomable: false,\n              draggable: false,\n              skin: 'clean',\n            });\n            mermaidLightbox.on('slide_after_load', () =\u003e {\n              destroyPanZoom();\n              _pzRetries = 0;\n              loadSvgPanZoom().then(() =\u003e initPanZoom());\n            });\n            mermaidLightbox.on('close', destroyPanZoom);\n          }\n          mermaidLightbox.setElements([{\n            content: '\u003cdiv class=\"mermaid-lightbox-wrap\"\u003e' + svgHtml + '\u003c/div\u003e',\n            width: '90vw',\n            height: '90vh'\n          }]);\n          mermaidLightbox.open();\n          loadSvgPanZoom();\n        };\n        if (typeof GLightbox !== 'undefined') {\n          openLightbox();\n        } else if (window.initGLightbox) {\n          window.initGLightbox();\n          openLightbox();\n        } else {\n          window.addEventListener('glightbox-ready', () =\u003e { openLightbox(); }, { once: true });\n        }\n      });\n    });\n  };\n\n  mermaid.initialize({ startOnLoad: false, theme: 'base', themeVariables, flowchart, themeCSS });\n  window.initMermaid = async () =\u003e {\n    try {\n      await mermaid.run();\n    } catch (e) {\n      console.error('mermaid.run failed:', e);\n    }\n    ensureMermaidLightbox();\n  };\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', () =\u003e window.initMermaid());\n  } else {\n    window.initMermaid();\n  }\n\u003c/script\u003e",
      "content_text": "\nhttps://youtu.be/e1snsuY4lTI\n\ngreat video on setting up skills and agents.md need to take some notes on it.\n\n### Many Small Skills\n\nSomething I noticed here was that theo has many small skills.  Prime example he talked about his pr skill, he split out `file-pr` and `babysit-pr` into separate skills.\n\n### HTML\n\nI like how he set up his html reporting skill so that  he can one line `HTML` at the end and get the agent to start responding in html.\n\n## waylonwalker.com on new builder\n\n![4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp](https://dropper.waylonwalker.com/file/4ba2f7b7-9893-4128-9a72-2a9bdf9c89fe.webp)\nnew builder watcher, kicks off immediately on commit through websocket connection back to the repo.\n\n## ==plain==down↓ performance\n\nWorking on md.waylonwalker.com performance, and I think we are seeing really\n  good reponses. Things are moving much quicker with less noticable lag spikes than before, they are not completely gone, but we are really getting there. 󱨛.\n\n!!! note @clanker\n\n    ## Performance\n    \n    - Moved Markdown parsing to a Web Worker.\n    - Delayed preview updates until the editor is idle.\n    - Reduced work during typing.\n    - Typing now stays responsive while the preview updates.\n\n    ### baseline numbers\n    \n    - Preview render: 289 ms average\n    - Preview render P95: 671 ms\n    - Preview render maximum: 769 ms\n    - Typing latency P95: 22.6 ms\n    - Worst recorded character input: 52 ms\n    \nPreview performance\n    \n``` mermaid\nxychart-beta\n    title \"Preview render time — lower is better\"\n    x-axis [\"Average\", \"P95\"]\n    y-axis \"Milliseconds\" 0 --\u003e 700\n    bar [289, 671]\n    bar [122, 184]\n```\n\n### Typing performance\n\n``` mermaid\nxychart-beta\n    title \"Typing latency\"\n    x-axis [\"P50\", \"P95\"]\n    y-axis \"Milliseconds\" 0 --\u003e 25\n    bar [8.2, 22.6]\n    bar [6.7, 20.4]\n```\n\nrendering in the latest version is quite slow, it really waits until I am done\nbefore it renders a preview.  I think we are going to have to change this.",
      "summary": "https://youtu.be/e1snsuY4lTI",
      "date_published": "2026-08-11T18:03:22Z",
      "date_modified": "2026-08-11T18:03:22Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "daily"
      ]
    },
    {
      "id": "https://waylonwalker.com/daily/2026-08-10/",
      "url": "https://waylonwalker.com/daily/2026-08-10/",
      "title": "daily 2026-08-10",
      "content_html": "\u003cp\u003eMoving waylonwalker.com to the builder admin so that I get live builds on the main waylonwalker.com site, automated reader updates, updates from \u003ca href=\"/glossary/git/\" class=\"glossary-term\" title=\"Git is a version control system for tracking changes in source code during software development. In the beginning there were many, some were licensed. As...\"\u003egit\u003c/a\u003e push.  This will pair very well with my new editor md.waylonwalker.com.\u003c/p\u003e\n\u003ch2 id=\"working-an-a-fullsize-keyboard-build\"\u003e\u003cstrong\u003ework\u003c/strong\u003eing an a \u003cspan class=\"heading-highlight\"\u003e\u003cspan class=\"heading-highlight\"\u003e\u003cmark\u003efull\u003c/mark\u003e\u003c/span\u003e\u003c/span\u003esize keyboard build \u003ca href=\"#working-an-a-fullsize-keyboard-build\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eWyatt and Rhiannon both have wanted this for awhile.  Maybe more Wyatt, not sure.  Wyatt wants something small, because he likes small cute things, but he also wants dedicated \u003ccode\u003enumbers\u003c/code\u003e, \u003ccode\u003ef-keys\u003c/code\u003e, \u003ccode\u003earrows\u003c/code\u003e, \u003ccode\u003eprint screen\u003c/code\u003e. so it\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp\" class=\"glightbox-link\" aria-label=\"fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp\" alt=\"fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp\"/ data-glightbox=\"description: fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003efull size keyboard build\u003c/p\u003e\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eLooking at this image I realize that I need to open some of the bottom to let fingers in.\u003c/p\u003e\n\u003ch2 id=\"plaindown-features\"\u003eplaindown features \u003ca href=\"#plaindown-features\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003ch3 id=\"mobile\"\u003eMobile \u003ca href=\"#mobile\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003ePlaindown is working fantastic as a note editor from mobile, but has a few things hard to get to when you are raw doggin a phone with no keeb attached.  Pull up push down second footer with some buttons to help authorship.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpload image\u003c/li\u003e\n\u003cli\u003eFavorite templates\u003c/li\u003e\n\u003cli\u003eFuzzy picker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAlternatively remove filename and words from footer in mobile mode.\u003c/p\u003e\n\u003ch3 id=\"desktop-features\"\u003eDesktop features \u003ca href=\"#desktop-features\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eI cannot believe that its becoming something that I use on desktop.  Am I giving up my beloved nvim, no they are different, but there is something hyper specific here that is working.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003equickfix feed\u003c/li\u003e\n\u003cli\u003edrag from sidebar into post to link\u003c/li\u003e\n\u003cli\u003econtrol enter to commit\u003c/li\u003e\n\u003cli\u003ediffs have \u003ccode\u003euse remote\u003c/code\u003e and \u003ccode\u003euse mine\u003c/code\u003e but no \u003ccode\u003emerge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ecommit is a bit slow with no indication to what is being done, some slowdown for the api is expected, but something on the screen showing what’s going on would help.  For sure disable and spin the commit button.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/file/77846d16-920c-4251-aaaf-99675feb7a05.webp\" class=\"glightbox-link\" aria-label=\"77846d16-920c-4251-aaaf-99675feb7a05.webp\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/file/77846d16-920c-4251-aaaf-99675feb7a05.webp\" alt=\"77846d16-920c-4251-aaaf-99675feb7a05.webp\"/ data-glightbox=\"description: 77846d16-920c-4251-aaaf-99675feb7a05.webp\"\u003e\u003c/a\u003e\u003c/figure\u003e\n",
      "content_text": "\nMoving waylonwalker.com to the builder admin so that I get live builds on the main waylonwalker.com site, automated reader updates, updates from git push.  This will pair very well with my new editor md.waylonwalker.com.\n\n## **work**ing an a ==full==size keyboard build\n\nWyatt and Rhiannon both have wanted this for awhile.  Maybe more Wyatt, not sure.  Wyatt wants something small, because he likes small cute things, but he also wants dedicated `numbers`, `f-keys`, `arrows`, `print screen`. so it\n\n![fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp](https://dropper.waylonwalker.com/file/fca04e01-75d7-44b4-a3c1-6efe01e93f80.webp)\nfull size keyboard build\n\nLooking at this image I realize that I need to open some of the bottom to let fingers in.\n\n## plaindown features\n\n### Mobile\n\nPlaindown is working fantastic as a note editor from mobile, but has a few things hard to get to when you are raw doggin a phone with no keeb attached.  Pull up push down second footer with some buttons to help authorship.\n\n* Upload image\n* Favorite templates\n* Fuzzy picker\n\nAlternatively remove filename and words from footer in mobile mode.\n\n### Desktop features\n\nI cannot believe that its becoming something that I use on desktop.  Am I giving up my beloved nvim, no they are different, but there is something hyper specific here that is working.\n\n* quickfix feed\n* drag from sidebar into post to link\n* control enter to commit\n* diffs have `use remote` and `use mine` but no `merge`\n* commit is a bit slow with no indication to what is being done, some slowdown for the api is expected, but something on the screen showing what's going on would help.  For sure disable and spin the commit button.\n\n![77846d16-920c-4251-aaaf-99675feb7a05.webp](https://dropper.waylonwalker.com/file/77846d16-920c-4251-aaaf-99675feb7a05.webp)",
      "summary": "Moving waylonwalker.com to the builder admin so that I get live builds on the main waylonwalker.com site, automated reader updates, updates from git push....",
      "date_published": "2026-08-10T15:31:06Z",
      "date_modified": "2026-08-10T15:31:06Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-08-09/",
      "url": "https://waylonwalker.com/2026-08-09/",
      "title": "Untitled 2026-08-09",
      "content_html": "\u003cp\u003ePlaindown new post of type shot is failing\u003c/p\u003e\n\u003cp\u003eDaily note should be published and not draft by default\u003c/p\u003e\n",
      "content_text": "\nPlaindown new post of type shot is failing\n\nDaily note should be published and not draft by default\n\n",
      "summary": "Plaindown new post of type shot is failing",
      "date_published": "2026-08-09T17:23:28Z",
      "date_modified": "2026-08-09T17:23:28Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-04-06-notes/",
      "url": "https://waylonwalker.com/2026-04-06-notes/",
      "title": "2026-04-06 Notes",
      "content_html": "\u003cp\u003e\u003ca href=\"https://youtu.be/cbgSkrQ3HNg?si=VJ2kqj8XD0P6ukI\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtu.be.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtu.be.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtu.be/cbgSkrQ3HNg?si=VJ2kqj8XD0P6ukI\u003c/a\u003e_\u003c/p\u003e\n\u003cp\u003eSlow down to move fast\nIt feels painful to exercise restraint and see competition move forward\nClarity first\nLong term health\nStop trying to operate in the future\u003c/p\u003e\n",
      "content_text": "https://youtu.be/cbgSkrQ3HNg?si=VJ2kqj8XD0P6ukI_\n\nSlow down to move fast\nIt feels painful to exercise restraint and see competition move forward\nClarity first \nLong term health\nStop trying to operate in the future \n",
      "summary": "https://youtu.be/cbgSkrQ3HNg?si=VJ2kqj8XD0P6ukI_",
      "date_published": "2026-04-06T08:37:37Z",
      "date_modified": "2026-04-06T08:37:37Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-03-03-notes/",
      "url": "https://waylonwalker.com/2026-03-03-notes/",
      "title": "2026-03-03 Notes",
      "content_html": "\u003cp\u003eThe big news today sweeping everywhere is the weekend bombing of Iran,\nAnthropic had an ultimatum to allow AI agents to autonomously pull the trigger\non life or death decisions and monitor every citizen in public spaces.  They\nstood their ground and it looks like many Americans stood with them, while\nspending millions on superbowl ads did almost nothing to them, this shot them\nto the top app downloads as openai subs plummet and anthropic subs soar.\u003c/p\u003e\n\u003cp\u003eI’m old enough to remember 9/11/01, an event that would kick off decade long\nwar.  It felt different then.  Maybe because I was 12, maybe because the\nInternet was not the prominant source of live new information.  The vibe was\nsupport.  Support to right the wrongs, prevent future attacks.  That day had\nlasting effects for decades to come to the people on the ground.\u003c/p\u003e\n\u003cp\u003eThis is not meant to be politicaly in any way, not take any side good, bad,\nright, wrong, purple, or grey, just the vibes I’m feeling and wanted to\ndocument for some reason. Logging this one in unpublished, idk, not really my\nexpertise just wanted to write feelings.\u003c/p\u003e\n",
      "content_text": "\nThe big news today sweeping everywhere is the weekend bombing of Iran,\nAnthropic had an ultimatum to allow AI agents to autonomously pull the trigger\non life or death decisions and monitor every citizen in public spaces.  They\nstood their ground and it looks like many Americans stood with them, while\nspending millions on superbowl ads did almost nothing to them, this shot them\nto the top app downloads as openai subs plummet and anthropic subs soar.\n\nI'm old enough to remember 9/11/01, an event that would kick off decade long\nwar.  It felt different then.  Maybe because I was 12, maybe because the\nInternet was not the prominant source of live new information.  The vibe was\nsupport.  Support to right the wrongs, prevent future attacks.  That day had\nlasting effects for decades to come to the people on the ground.\n\nThis is not meant to be politicaly in any way, not take any side good, bad,\nright, wrong, purple, or grey, just the vibes I'm feeling and wanted to\ndocument for some reason. Logging this one in unpublished, idk, not really my\nexpertise just wanted to write feelings.\n",
      "summary": "The big news today sweeping everywhere is the weekend bombing of Iran, Anthropic had an ultimatum to allow AI agents to autonomously pull the trigger on life...",
      "date_published": "2026-03-03T14:34:59Z",
      "date_modified": "2026-03-03T14:34:59Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2026-01-23-notes/",
      "url": "https://waylonwalker.com/2026-01-23-notes/",
      "title": "2026-01-23 Notes",
      "content_html": "\u003cp\u003eNext for markata go\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmbed post, internal and external\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/og/\" class=\"glossary-term\" title=\"OG is short for open graph, a set of standard meta tags that are used for social media sharing. This is what tells other websites how to describe and display...\"\u003eOg\u003c/a\u003e images\u003c/li\u003e\n\u003cli\u003ePost importer - thoughts\u003c/li\u003e\n\u003cli\u003eReader / blogroll plugin\u003c/li\u003e\n\u003cli\u003eK9s inspired tui\u003c/li\u003e\n\u003cli\u003e:files, :posts, :tags, :feeds,\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr/\u003e\n\u003cp\u003eExtra classes\u003c/p\u003e\n\u003cp\u003eWikilinks\u003c/p\u003e\n\u003cp\u003eLsp\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eComplete wikilinks\u003c/li\u003e\n\u003cli\u003eComplete mentions\u003c/li\u003e\n\u003cli\u003eDocument diagnostic\u003c/li\u003e\n\u003cli\u003eWorkspace diagnostics\u003c/li\u003e\n\u003cli\u003eConfig completions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eJinja_md obsidian like support\u003c/p\u003e\n\u003cp\u003eView as in footer\u003c/p\u003e\n\u003cp\u003eArchive missing grid of pages\u003c/p\u003e\n\u003cp\u003eNav footer different on feeds than post\nSometimes the skip to content peeks into the top left corner of the page by a few pixels, it’s distracting\u003c/p\u003e\n\u003cp\u003eTap to zoom image\u003c/p\u003e\n\u003cp\u003eGoogle font\u003c/p\u003e\n\u003cp\u003eSitemap\u003c/p\u003e\n\u003cp\u003eBackground image support\u003c/p\u003e\n\u003cp\u003eMouse support in tui works, not in tmux\u003c/p\u003e\n\u003cp\u003eAll optional plugins with config from user should raise warning configured not able\u003c/p\u003e\n\u003cp\u003eLines of code should be separate from word count\u003c/p\u003e\n\u003cp\u003eTui press enter, should see full post and scroll/read render markdown\u003c/p\u003e\n\u003cp\u003eUpdate branding from fast to comprehensive\u003c/p\u003e\n\u003cp\u003eDebug pages, show config\u003c/p\u003e\n\u003chr/\u003e\n\u003cul\u003e\n\u003cli\u003eImage gallery\u003c/li\u003e\n\u003cli\u003ecarousel\u003c/li\u003e\n\u003cli\u003ePrev/next\u003c/li\u003e\n\u003cli\u003eEmbedfeed\u003c/li\u003e\n\u003cli\u003eFix aside\u003c/li\u003e\n\u003cli\u003eContrast / flashbang check on admonitions styles on all themes.\u003c/li\u003e\n\u003cli\u003eGlossary\u003c/li\u003e\n\u003cli\u003eBanner post\u003c/li\u003e\n\u003cli\u003eKeys\u003c/li\u003e\n\u003cli\u003eContainers\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr/\u003e\n\u003cul\u003e\n\u003cli\u003ePage 1 link is always highlighted\u003c/li\u003e\n\u003cli\u003ePage 1 link is broken when coming from page 1\u003c/li\u003e\n\u003cli\u003eOn mobile search is too wide\u003c/li\u003e\n\u003cli\u003eShots needs warmed with a head request\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr/\u003e\n\u003cp\u003eTags\u003c/p\u003e\n\u003cp\u003eContacts\u003c/p\u003e\n",
      "content_text": "Next for markata go\n\n* Embed post, internal and external \n* Og images\n* Post importer - thoughts\n* Reader / blogroll plugin \n* K9s inspired tui\n* :files, :posts, :tags, :feeds, \n\n---\n\n\nExtra classes\n\nWikilinks\n\nLsp \n* Complete wikilinks\n* Complete mentions\n* Document diagnostic \n* Workspace diagnostics \n* Config completions\n\n\nJinja_md obsidian like support\n\nView as in footer\n\nArchive missing grid of pages\n\nNav footer different on feeds than post\nSometimes the skip to content peeks into the top left corner of the page by a few pixels, it's distracting \n\nTap to zoom image \n\nGoogle font\n\nSitemap\n\nBackground image support\n\nMouse support in tui works, not in tmux\n\nAll optional plugins with config from user should raise warning configured not able\n\nLines of code should be separate from word count\n\nTui press enter, should see full post and scroll/read render markdown\n\nUpdate branding from fast to comprehensive \n\nDebug pages, show config \n\n---\n\n* Image gallery\n* carousel\n* Prev/next\n* Embedfeed\n* Fix aside\n* Contrast / flashbang check on admonitions styles on all themes.\n* Glossary\n* Banner post\n* Keys\n* Containers\n\n---\n\n* Page 1 link is always highlighted \n* Page 1 link is broken when coming from page 1\n* On mobile search is too wide \n* Shots needs warmed with a head request\n* \n\n---\n\nTags\n\nContacts\n\n",
      "summary": "Next for markata go",
      "date_published": "2026-01-23T22:28:38Z",
      "date_modified": "2026-01-23T22:28:38Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-11-21-notes/",
      "url": "https://waylonwalker.com/2025-11-21-notes/",
      "title": "2025-11-21 Notes",
      "content_html": "\u003cp\u003eLearned about nginx_auth today.  Feels good to unlock a new skill that I did not quite understand before.  I don’t think I grasped that there is a backend server in this flow to handle every request.  I could not fathom how this was secure with nginx alone.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://git.wayl.one/waylon/learn-nginx-auth\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/git.wayl.one.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/git.wayl.one.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://git.wayl.one/waylon/learn-nginx-auth\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI’m excited to give this a try in my \u003ca href=\"/homelab/\" class=\"glossary-term\" title=\"A place to self host applications. For me this is primarily self built web applications, and applications for sharing files with my family. Techno Tim has a...\"\u003ehomelab\u003c/a\u003e with k3s ingress next.\u003c/p\u003e\n",
      "content_text": "Learned about nginx_auth today.  Feels good to unlock a new skill that I did not quite understand before.  I don't think I grasped that there is a backend server in this flow to handle every request.  I could not fathom how this was secure with nginx alone.\n\nhttps://git.wayl.one/waylon/learn-nginx-auth\n\nI'm excited to give this a try in my homelab with k3s ingress next.",
      "summary": "Learned about nginx_auth today. Feels good to unlock a new skill that I did not quite understand before. I don't think I grasped that there is a backend...",
      "date_published": "2025-11-21T14:25:59Z",
      "date_modified": "2025-11-21T14:25:59Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-11-19-notes/",
      "url": "https://waylonwalker.com/2025-11-19-notes/",
      "title": "2025-11-19 Notes",
      "content_html": "\u003cp\u003eMaking progress on dropper this week.\u003c/p\u003e\n\u003cp\u003eIn prod.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eresize for image and video\u003c/li\u003e\n\u003cli\u003eFile feed with paging\u003c/li\u003e\n\u003cli\u003eNew plain filesystem backend\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIn dev\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRobust video conversion that seems to work on all my test videos\u003c/li\u003e\n\u003cli\u003eDuplicate file detection\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThinking about kedro pipelines from my phone in a parking lot here. I’m thinking about big picture what’s next for my pipelines.  I want an effective Dr plan. I want to create telemetry endpoints for catalog.  This will enable the Dr plan to identify  critical data that is not created by a pipeline and communication points to other teams.\u003c/p\u003e\n",
      "content_text": "\nMaking progress on dropper this week.\n\nIn prod.\n\n* resize for image and video\n* File feed with paging\n* New plain filesystem backend\n\nIn dev\n\n* Robust video conversion that seems to work on all my test videos\n* Duplicate file detection\n\nThinking about kedro pipelines from my phone in a parking lot here. I'm thinking about big picture what's next for my pipelines.  I want an effective Dr plan. I want to create telemetry endpoints for catalog.  This will enable the Dr plan to identify  critical data that is not created by a pipeline and communication points to other teams.",
      "summary": "Making progress on dropper this week.",
      "date_published": "2025-11-19T18:55:14Z",
      "date_modified": "2025-11-19T18:55:14Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-11-04-notes/",
      "url": "https://waylonwalker.com/2025-11-04-notes/",
      "title": "2025-11-04 Notes",
      "content_html": "\u003cp\u003eToday I gave mcat a try and it’s so sick.  It can \u003ccode\u003ecat\u003c/code\u003e anything right in the\nterminal, pdf, image, even video.  It even works inside tmux unlike almost\nanything else that I’ve tried.\u003c/p\u003e\n",
      "content_text": "\nToday I gave mcat a try and it's so sick.  It can `cat` anything right in the\nterminal, pdf, image, even video.  It even works inside tmux unlike almost\nanything else that I've tried.\n",
      "summary": "Today I gave mcat a try and it's so sick. It can anything right in the terminal, pdf, image, even video. It even works inside tmux unlike almost anything...",
      "date_published": "2025-11-04T18:43:38Z",
      "date_modified": "2025-11-04T18:43:38Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-25-notes/",
      "url": "https://waylonwalker.com/2025-08-25-notes/",
      "title": "2025-08-25 Notes",
      "content_html": "\u003cp\u003eGave \u003ca class=\"wikilink\" data-date=\"2025-08-25\" data-description=\"Today I gave modd a try, and it seems like a good file watcher executor. I tried using libnotify to send desktop notifications, but all I got was modd, I...\" data-title=\"modd\" href=\"/modd/\" data-preview=\"Today I gave modd a try, and it seems like a good file watcher executor. I tried using libnotify to send desktop notifications, but all I got was modd, I...\"\u003emodd\u003c/a\u003e a try and it seems pretty good, will likely be slotting it in\nnext to my \u003ca href=\"https://just.systems/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/just.systems.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/just.systems.ico\" class=\"has-avatar  has-avatar-before\"\u003ejustfile\u003c/a\u003e usage.\u003c/p\u003e\n\u003cp\u003eGave \u003ca href=\"https://github.com/nkantar/sus\" 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\"\u003esus\u003c/a\u003e a try, but it lacked the\nconfigurability and flexibility I was looking for.  For now I will stick to\n\u003ca href=\"https://markata.dev/markata/plugins/redirects/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/markata.dev.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/markata.dev.ico\" class=\"has-avatar  has-avatar-before\"\u003emarkata-redirects\u003c/a\u003e plugin.\u003c/p\u003e\n",
      "content_text": "\nGave \u003ca href=\"/modd/\" class=\"wikilink\" data-title=\"modd\" data-description=\"Today I gave modd a try, and it seems like a good file watcher executor. I tried using libnotify to send desktop notifications, but all I got was modd, I...\" data-date=\"2025-08-25\"\u003emodd\u003c/a\u003e a try and it seems pretty good, will likely be slotting it in\nnext to my [justfile](https://just.systems/) usage.\n\nGave [sus](https://github.com/nkantar/sus) a try, but it lacked the\nconfigurability and flexibility I was looking for.  For now I will stick to\n[markata-redirects](https://markata.dev/markata/plugins/redirects/) plugin.\n\n",
      "summary": "Gave modd a try and it seems pretty good, will likely be slotting it in next to my justfile usage.",
      "date_published": "2025-08-25T10:45:08Z",
      "date_modified": "2025-08-25T10:45:08Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-23-notes/",
      "url": "https://waylonwalker.com/2025-08-23-notes/",
      "title": "2025-08-23 Notes",
      "content_html": "\u003ch2 id=\"knife-sharpener\"\u003eKnife Sharpener \u003ca href=\"#knife-sharpener\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eToday, some great work on the knife sharpener re-design.  I’ve been using the\nsame one since I first got my ender 3 3d printer, and have wanted to make some\nchanges ever since.\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/4cf7ea72-ad4b-421e-92ad-9d08e47b469a.png\" class=\"glightbox-link\" aria-label=\"Helmet Hidden In Design\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/4cf7ea72-ad4b-421e-92ad-9d08e47b469a.png\" alt=\"Helmet Hidden In Design\"/ data-glightbox=\"description: Helmet Hidden In Design\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003eWyatt sat with me through the design, I probably would not have gone this deep without him, he thought the helmet look was hilarious\u003c/p\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/30335f07-9cac-4e66-b908-f0e3cfbf7582.mp4\" class=\"glightbox-link\" aria-label=\"Knife Sharpener Double Hinge First Try\"\u003e\u003cvideo autoplay loop muted playsinline controls preload=\"metadata\" class=\"md-video\" poster=\"https://dropper.waylonwalker.com/api/file/30335f07-9cac-4e66-b908-f0e3cfbf7582.webp?h=675\u0026w=1200\"\u003e\u003csource src=\"https://dropper.waylonwalker.com/api/file/30335f07-9cac-4e66-b908-f0e3cfbf7582.mp4\" type=\"video/mp4\"\u003eKnife Sharpener Double Hinge First Try\u003c/video\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003eNotice one of the biggest problems with this one here is how much is slides around\u003c/p\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/27b5c23f-69a3-4e7b-a468-5a6767e1cb2e.png\" class=\"glightbox-link\" aria-label=\"Knife Sharpener Double Hinge Wing Nut\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/27b5c23f-69a3-4e7b-a468-5a6767e1cb2e.png\" alt=\"Knife Sharpener Double Hinge Wing Nut\"/ data-glightbox=\"description: Knife Sharpener Double Hinge Wing Nut\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003eThis wing nut really set it apart\u003c/p\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\u003ch2 id=\"hollow-knight\"\u003eHollow Knight \u003ca href=\"#hollow-knight\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eProgress on the Hollow Knight Keeb Run.  SILKSONG in 2 WEEKS!!\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/2ea5790c-66d7-401d-95c7-c81a2bccb743.mp4\" class=\"glightbox-link\" aria-label=\"Getting The Lumafly Lantern In My Hollow Knight Keeb Run\"\u003e\u003cvideo autoplay loop muted playsinline controls preload=\"metadata\" class=\"md-video\" poster=\"https://dropper.waylonwalker.com/api/file/2ea5790c-66d7-401d-95c7-c81a2bccb743.webp?h=675\u0026w=1200\"\u003e\u003csource src=\"https://dropper.waylonwalker.com/api/file/2ea5790c-66d7-401d-95c7-c81a2bccb743.mp4\" type=\"video/mp4\"\u003eGetting The Lumafly Lantern In My Hollow Knight Keeb Run\u003c/video\u003e\u003c/a\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/3713bdd1-c645-46c5-85d2-451356383842.mp4\" class=\"glightbox-link\" aria-label=\"Unlocking Royal Waterways In Hollow Knight Keeb Run\"\u003e\u003cvideo autoplay loop muted playsinline controls preload=\"metadata\" class=\"md-video\" poster=\"https://dropper.waylonwalker.com/api/file/3713bdd1-c645-46c5-85d2-451356383842.webp?h=675\u0026w=1200\"\u003e\u003csource src=\"https://dropper.waylonwalker.com/api/file/3713bdd1-c645-46c5-85d2-451356383842.mp4\" type=\"video/mp4\"\u003eUnlocking Royal Waterways In Hollow Knight Keeb Run\u003c/video\u003e\u003c/a\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/58235f4d-701f-4ddc-a26d-ab5f9e0bdbfc.mp4\" class=\"glightbox-link\" aria-label=\"Entering Royal Waterway Hollow Knight Keeb Run\"\u003e\u003cvideo autoplay loop muted playsinline controls preload=\"metadata\" class=\"md-video\" poster=\"https://dropper.waylonwalker.com/api/file/58235f4d-701f-4ddc-a26d-ab5f9e0bdbfc.webp?h=675\u0026w=1200\"\u003e\u003csource src=\"https://dropper.waylonwalker.com/api/file/58235f4d-701f-4ddc-a26d-ab5f9e0bdbfc.mp4\" type=\"video/mp4\"\u003eEntering Royal Waterway Hollow Knight Keeb Run\u003c/video\u003e\u003c/a\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/bdf1985b-6a32-4bf4-9f9a-d6f814db7136.mp4\" class=\"glightbox-link\" aria-label=\"Unlock Royal Waterway Bench In Hollow Knight Keeb\"\u003e\u003cvideo autoplay loop muted playsinline controls preload=\"metadata\" class=\"md-video\" poster=\"https://dropper.waylonwalker.com/api/file/bdf1985b-6a32-4bf4-9f9a-d6f814db7136.webp?h=675\u0026w=1200\"\u003e\u003csource src=\"https://dropper.waylonwalker.com/api/file/bdf1985b-6a32-4bf4-9f9a-d6f814db7136.mp4\" type=\"video/mp4\"\u003eUnlock Royal Waterway Bench In Hollow Knight Keeb\u003c/video\u003e\u003c/a\u003e\n\u003c/figure\u003e\n\u003ch2 id=\"todays-script\"\u003etodays script \u003ca href=\"#todays-script\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eMade a little script to grab these\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003epost\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"n\"\u003em\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003efeeds\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003etoday\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eposts\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eget\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;image\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"kc\"\u003eNone\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"sa\"\u003ef\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;![\u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;title\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s1\"\u003e](\u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;image\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s1\"\u003e)\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003eelse\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"sa\"\u003ef\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;[\u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;title\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s1\"\u003e](\u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;url\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s1\"\u003e)\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e",
      "content_text": "\n## Knife Sharpener\n\nToday, some great work on the knife sharpener re-design.  I've been using the\nsame one since I first got my ender 3 3d printer, and have wanted to make some\nchanges ever since.\n\n![Helmet Hidden In Design](https://dropper.waylonwalker.com/api/file/4cf7ea72-ad4b-421e-92ad-9d08e47b469a.png)\n\u003e Wyatt sat with me through the design, I probably would not have gone this deep without him, he thought the helmet look was hilarious\n\n![Knife Sharpener Double Hinge First Try](https://dropper.waylonwalker.com/api/file/30335f07-9cac-4e66-b908-f0e3cfbf7582.mp4)\n\u003e Notice one of the biggest problems with this one here is how much is slides around\n\n![Knife Sharpener Double Hinge Wing Nut](https://dropper.waylonwalker.com/api/file/27b5c23f-69a3-4e7b-a468-5a6767e1cb2e.png)\n\u003e This wing nut really set it apart\n\n## Hollow Knight\n\nProgress on the Hollow Knight Keeb Run.  SILKSONG in 2 WEEKS!!\n\n![Getting The Lumafly Lantern In My Hollow Knight Keeb Run](https://dropper.waylonwalker.com/api/file/2ea5790c-66d7-401d-95c7-c81a2bccb743.mp4)\n![Unlocking Royal Waterways In Hollow Knight Keeb Run](https://dropper.waylonwalker.com/api/file/3713bdd1-c645-46c5-85d2-451356383842.mp4)\n![Entering Royal Waterway Hollow Knight Keeb Run](https://dropper.waylonwalker.com/api/file/58235f4d-701f-4ddc-a26d-ab5f9e0bdbfc.mp4)\n![Unlock Royal Waterway Bench In Hollow Knight Keeb](https://dropper.waylonwalker.com/api/file/bdf1985b-6a32-4bf4-9f9a-d6f814db7136.mp4)\n\n## todays script\n\nMade a little script to grab these\n\n``` python\nfor post in m.feeds.today.posts:\n    if post.get('image', None):\n        print(f'![{post[\"title\"]}]({post[\"image\"]})')\n    else:\n        print(f'[{post[\"title\"]}]({post[\"url\"]})')\n```\n",
      "summary": "Today, some great work on the knife sharpener re-design. I've been using the same one since I first got my ender 3 3d printer, and have wanted to make some...",
      "date_published": "2025-08-23T19:27:05Z",
      "date_modified": "2025-08-23T19:27:05Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-21-notes/",
      "url": "https://waylonwalker.com/2025-08-21-notes/",
      "title": "2025-08-21 Notes",
      "content_html": "\u003cp\u003e\u003ca href=\"https://youtu.be/-EYRzF0zp3U?si=mKCPlMDecrqzvjuF\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtu.be.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtu.be.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtu.be/-EYRzF0zp3U?si=mKCPlMDecrqzvjuF\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIs ai in 2025 like a Roomba vacuum?  The ads make it look fantastic but after some time it becomes worthless and needs constant monitoring.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://youtube.com/shorts/iIDVm_J-JxU?si=WRiLXASnXlqqidLi\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/youtube.com.png\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/youtube.com.png\" class=\"has-avatar  has-avatar-before\"\u003ehttps://youtube.com/shorts/iIDVm_J-JxU?si=WRiLXASnXlqqidLi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor some reason the first one has kinda stuck with me.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eYou think youre thinking, but you’re mostly remembering. Your thoughts are just loops your nervous system finds familiar, your not making decisions, your repeating emotional echos.  Unless you interrupt the loop your future is your past in disguise.\u003c/p\u003e\n\u003c/blockquote\u003e\n",
      "content_text": "\nhttps://youtu.be/-EYRzF0zp3U?si=mKCPlMDecrqzvjuF\n\nIs ai in 2025 like a Roomba vacuum?  The ads make it look fantastic but after some time it becomes worthless and needs constant monitoring.\n\nhttps://youtube.com/shorts/iIDVm_J-JxU?si=WRiLXASnXlqqidLi\n\nFor some reason the first one has kinda stuck with me.  \n\n\u003e You think youre thinking, but you're mostly remembering. Your thoughts are just loops your nervous system finds familiar, your not making decisions, your repeating emotional echos.  Unless you interrupt the loop your future is your past in disguise.\n\n",
      "summary": "https://youtu.be/-EYRzF0zp3U?si=mKCPlMDecrqzvjuF",
      "date_published": "2025-08-21T07:43:49Z",
      "date_modified": "2025-08-21T07:43:49Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-17-notes/",
      "url": "https://waylonwalker.com/2025-08-17-notes/",
      "title": "2025-08-17 Notes",
      "content_html": "\u003cp\u003eAfter a long time I begrudgingly setup window rules for hyprland.  What I\nwanted was the ability to log out and jump back into work with a freshened work\nspace.  Right now I’m running on low ram and disk on hyprland and sometimes I\nneed to just quit everything and get back to work quick.  So I setup exec-once\nto start my terminal, browser, and chat.  These are my main applications that\nrun on my power fingers 456 (which are on a layer that present under jkl).  I\nuse them every time I log in and will need them no matter what I do.  When I\nexec once them, they just dump onto one workspace, you can pick it but no\nmatter the timing, you end up with race conditions that end up with you on\ndifferent workspaces.\u003c/p\u003e\n\u003cp\u003eSo I setup window rules.  I avoided this for a long time, because of my\nworkflow on awesomewm, I thought this manual workspace selection was superior.\nWhat I really think happened was that awesomewm was a little trickier for me to\nfigure out what things were named and to actually get the rules setup\ncorrectly.\u003c/p\u003e\n\u003cp\u003ehyprland makes this pretty simple with its great cli.\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ehyprctl clients -j \u003cspan class=\"p\"\u003e|\u003c/span\u003e jq \u003cspan class=\"p\"\u003e|\u003c/span\u003e grep class\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eNow that I can see attributes of these windows as I open them I can set up\nrules for them to go onto the correct workspace, or to float them.  I have a\ncouple of things like a file picker coming from a browser showing up in the\ntiled layout, when a file picker like this shows up, just cover everything up\nits temporary, no need to squeeze it into the tiled layout.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ethe file picker float also fixed an issue I had where they would not show up,\nand lock up brave when its in full screen mode and I don’t realize it.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cpre\u003e\u003ccode class=\"language-conf\"\u003ewindowrulev2 = workspace 1, class:^(steam)$\nwindowrulev2 = workspace 4, class:^(kitty)$\nwindowrulev2 = workspace 5, class:^(firefox)$\nwindowrulev2 = workspace 5, class:^(brave-browser)$\nwindowrulev2 = workspace 5, class:^(google-chrome)$\nwindowrulev2 = workspace 6, class:^(Signal)$\nwindowrulev2 = workspace 2, class:^(krita)$\nwindowrulev2 = workspace 8, class:^(brave-chat.openai.com__-Default)$\nwindowrulev2 = workspace 8, class:^(brave-youtube.com__-Default)$\nwindowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$\nwindowrulev2 = workspace 9, class:^(org.prismlauncher.PrismLauncher)$\nwindowrulev2 = float, class:^(org.prismlauncher.PrismLauncher)$, title:^(Console window.*)\nwindowrulev2 = float, class:^(xdg-desktop-portal-gtk)$\n\u003c/code\u003e\u003c/pre\u003e\n",
      "content_text": "\nAfter a long time I begrudgingly setup window rules for hyprland.  What I\nwanted was the ability to log out and jump back into work with a freshened work\nspace.  Right now I'm running on low ram and disk on hyprland and sometimes I\nneed to just quit everything and get back to work quick.  So I setup exec-once\nto start my terminal, browser, and chat.  These are my main applications that\nrun on my power fingers 456 (which are on a layer that present under jkl).  I\nuse them every time I log in and will need them no matter what I do.  When I\nexec once them, they just dump onto one workspace, you can pick it but no\nmatter the timing, you end up with race conditions that end up with you on\ndifferent workspaces.\n\nSo I setup window rules.  I avoided this for a long time, because of my\nworkflow on awesomewm, I thought this manual workspace selection was superior.\nWhat I really think happened was that awesomewm was a little trickier for me to\nfigure out what things were named and to actually get the rules setup\ncorrectly.\n\nhyprland makes this pretty simple with its great cli.\n\n``` bash\nhyprctl clients -j | jq | grep class\n```\n\nNow that I can see attributes of these windows as I open them I can set up\nrules for them to go onto the correct workspace, or to float them.  I have a\ncouple of things like a file picker coming from a browser showing up in the\ntiled layout, when a file picker like this shows up, just cover everything up\nits temporary, no need to squeeze it into the tiled layout.\n\n\u003e the file picker float also fixed an issue I had where they would not show up,\n\u003e and lock up brave when its in full screen mode and I don't realize it.\n\n``` conf\nwindowrulev2 = workspace 1, class:^(steam)$\nwindowrulev2 = workspace 4, class:^(kitty)$\nwindowrulev2 = workspace 5, class:^(firefox)$\nwindowrulev2 = workspace 5, class:^(brave-browser)$\nwindowrulev2 = workspace 5, class:^(google-chrome)$\nwindowrulev2 = workspace 6, class:^(Signal)$\nwindowrulev2 = workspace 2, class:^(krita)$\nwindowrulev2 = workspace 8, class:^(brave-chat.openai.com__-Default)$\nwindowrulev2 = workspace 8, class:^(brave-youtube.com__-Default)$\nwindowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$\nwindowrulev2 = workspace 9, class:^(org.prismlauncher.PrismLauncher)$\nwindowrulev2 = float, class:^(org.prismlauncher.PrismLauncher)$, title:^(Console window.*)\nwindowrulev2 = float, class:^(xdg-desktop-portal-gtk)$\n```\n",
      "summary": "After a long time I begrudgingly setup window rules for hyprland. What I wanted was the ability to log out and jump back into work with a freshened work...",
      "date_published": "2025-08-17T12:21:47Z",
      "date_modified": "2025-08-17T12:21:47Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-16-notes/",
      "url": "https://waylonwalker.com/2025-08-16-notes/",
      "title": "2025-08-16 Notes",
      "content_html": "\u003ch2 id=\"\u003ca href=\"/homelab/\" class=\"glossary-term\" title=\"A place to self host applications. For me this is primarily self built web applications, and applications for sharing files with my family. Techno Tim has a...\"\u003ehomelab\u003c/a\u003e-cleanup-day\"\u003eHomeLab cleanup day \u003ca href=\"#homelab-cleanup-day\" class=\"heading-anchor\"\u003e#\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e remove nextcloud\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e pause photoprism\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e pause syncthing\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e move data to walkershare\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e filepermissions 1000:1000 all of it\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e organize how I want\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e resume photoprism\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e resume syncthing - update share locations\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e expose to mac over smb\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e ensure mac can write over smb\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e expose to archlinux oversmb\u003c/li\u003e\n\u003cli\u003e\u003cinput checked=\"\" disabled=\"\" type=\"checkbox\"/\u003e ensure archlinux can write over smb\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e expose to syncthing over pvc\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e expose to my terminal over pvc\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003ewishlist\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e Forgejo repos\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e Forgejo runners\u003c/li\u003e\n\u003cli\u003e\u003cinput disabled=\"\" type=\"checkbox\"/\u003e explore moving from docker repository to repoflow\u003c/li\u003e\n\u003c/ul\u003e\n",
      "content_text": "\n## HomeLab cleanup day\n\n- [x] remove nextcloud\n- [x] pause photoprism\n- [x] pause syncthing\n- [x] move data to walkershare\n- [x] filepermissions 1000:1000 all of it\n- [x] organize how I want\n- [ ] resume photoprism\n- [ ] resume syncthing - update share locations\n- [x] expose to mac over smb\n- [x] ensure mac can write over smb\n- [x] expose to archlinux oversmb\n- [x] ensure archlinux can write over smb\n- [ ] expose to syncthing over pvc\n- [ ] expose to my terminal over pvc\n\n**wishlist**\n\n- [ ] Forgejo repos\n- [ ] Forgejo runners\n- [ ] explore moving from docker repository to repoflow\n",
      "summary": "[x] remove nextcloud - [x] pause photoprism - [x] pause syncthing - [x] move data to walkershare - [x] filepermissions 1000:1000 all of it - [x] organize how...",
      "date_published": "2025-08-16T10:07:21Z",
      "date_modified": "2025-08-16T10:07:21Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-14-notes/",
      "url": "https://waylonwalker.com/2025-08-14-notes/",
      "title": "2025-08-14 Notes",
      "content_html": "\u003cp\u003eHuge progress on \u003ca href=\"https://waylonwalker.com/shots/\"\u003eshots\u003c/a\u003e not to be confused\nwith \u003ca href=\"https://shots.waylonwalker.com\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/shots.waylonwalker.com.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/shots.waylonwalker.com.ico\" class=\"has-avatar  has-avatar-before\"\u003eshots\u003c/a\u003e inspired by\n\u003ca href=\"https://justin.searls.co/shots/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/justin.searls.co.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/justin.searls.co.ico\" class=\"has-avatar  has-avatar-before\"\u003ehttps://justin.searls.co/shots/\u003c/a\u003e.  I’m building out my own instagram grid\ndesign, right now its 4 wide, but I wonder if it should be 3 wide to match up\nwith the old instagram grid designs, and I could do cool crops like instagram\nused to.\u003c/p\u003e\n\u003cp\u003eI went through a bunch of old \u003ca class=\"wikilink\" data-description=\"All posts with the tag \u0026#34;gratitude\u0026#34;\" data-title=\"Posts tagged: gratitude\" href=\"/tags/gratitude/\" data-preview=\"All posts with the tag \u0026#34;gratitude\u0026#34;\"\u003ePosts tagged: gratitude\u003c/a\u003e posts and pulled images from all\nof them, and update all of the images to use dropper while I was at it.\u003c/p\u003e\n\u003chr/\u003e\n\u003cp\u003eMore work after kids bed time and came up with a great concept that needs to go\ninto markata, yes its more configuration.  \u003ca class=\"wikilink\" data-date=\"2024-05-30\" data-description=\"This post is a work in progress.\" data-title=\"markata\" href=\"/markata/\" data-preview=\"This post is a work in progress.\"\u003emarkata\u003c/a\u003e is quickly becoming\ndeath by config.  What I wanted was the ability to make different cards\ndifferent sizes.\u003c/p\u003e\n\u003cp\u003eWhat I came up with was adding “card_classes” to the front matter of the\nmarkdown file.  This is a list of classes that will be added to the card div\nwhen the card is rendered.  This way I can make cards different sizes.  Here\nare a couple of good results I had.\u003c/p\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/c946a174-ee0f-43fb-90d7-c6440c0ed708.png\" class=\"glightbox-link\" aria-label=\"screenshot-2025-08-15T01-35-08-108Z.png\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/c946a174-ee0f-43fb-90d7-c6440c0ed708.png\" alt=\"screenshot-2025-08-15T01-35-08-108Z.png\"/ data-glightbox=\"description: screenshot-2025-08-15T01-35-08-108Z.png\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003eA landscape shot of quarry lake\u003c/p\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/fe5ea8de-2d45-4b9b-966e-85d65cea6151.png\" class=\"glightbox-link\" aria-label=\"screenshot-2025-08-15T01-35-48-593Z.png\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/fe5ea8de-2d45-4b9b-966e-85d65cea6151.png\" alt=\"screenshot-2025-08-15T01-35-48-593Z.png\"/ data-glightbox=\"description: screenshot-2025-08-15T01-35-48-593Z.png\"\u003e\u003c/a\u003e\n\u003cfigcaption\u003e\u003cp\u003eAn image of Rhiannon and I at sunset\u003c/p\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\u003chr/\u003e\n\u003cp\u003eMade a bit of cyberbrink crane progress, glued in a few cables and put the cab\non top of the tower.\u003c/p\u003e\n",
      "content_text": "\nHuge progress on [shots](https://waylonwalker.com/shots/) not to be confused\nwith [shots](https://shots.waylonwalker.com) inspired by\n\u003chttps://justin.searls.co/shots/\u003e.  I'm building out my own instagram grid\ndesign, right now its 4 wide, but I wonder if it should be 3 wide to match up\nwith the old instagram grid designs, and I could do cool crops like instagram\nused to.\n\nI went through a bunch of old \u003ca href=\"/tags/gratitude/\" class=\"wikilink\" data-title=\"Posts tagged: gratitude\" data-description=\"All posts with the tag \u0026#34;gratitude\u0026#34;\"\u003ePosts tagged: gratitude\u003c/a\u003e posts and pulled images from all\nof them, and update all of the images to use dropper while I was at it.\n\n---\n\nMore work after kids bed time and came up with a great concept that needs to go\ninto markata, yes its more configuration.  \u003ca href=\"/markata/\" class=\"wikilink\" data-title=\"markata\" data-description=\"This post is a work in progress.\" data-date=\"2024-05-30\"\u003emarkata\u003c/a\u003e is quickly becoming\ndeath by config.  What I wanted was the ability to make different cards\ndifferent sizes.\n\nWhat I came up with was adding \"card_classes\" to the front matter of the\nmarkdown file.  This is a list of classes that will be added to the card div\nwhen the card is rendered.  This way I can make cards different sizes.  Here\nare a couple of good results I had.\n\n![screenshot-2025-08-15T01-35-08-108Z.png](https://dropper.waylonwalker.com/api/file/c946a174-ee0f-43fb-90d7-c6440c0ed708.png)\n\n\u003e A landscape shot of quarry lake\n\n![screenshot-2025-08-15T01-35-48-593Z.png](https://dropper.waylonwalker.com/api/file/fe5ea8de-2d45-4b9b-966e-85d65cea6151.png)\n\n\u003e An image of Rhiannon and I at sunset\n\n---\n\nMade a bit of cyberbrink crane progress, glued in a few cables and put the cab\non top of the tower.\n",
      "summary": "Huge progress on shots not to be confused with shots inspired by . I'm building out my own instagram grid design, right now its 4 wide, but I wonder if it...",
      "date_published": "2025-08-14T20:15:54Z",
      "date_modified": "2025-08-14T20:15:54Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-13-notes/",
      "url": "https://waylonwalker.com/2025-08-13-notes/",
      "title": "2025-08-13 Notes",
      "content_html": "\u003cp\u003eInspired by \u003ca href=\"https://justin.searls.co/shots/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/justin.searls.co.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/justin.searls.co.ico\" class=\"has-avatar  has-avatar-before\"\u003eJustin Searls Shots\u003c/a\u003e, I made\nstarted \u003ca href=\"https://waylonwalker.com/shots/\"\u003emy own shots feed\u003c/a\u003e for \u003ca href=\"/self-host/\" class=\"glossary-term\" title=\"Self hosting is the act of hosting your own applications and services without using a SAS provider. This is typically done with your own hardware, but there...\"\u003eself hosted\u003c/a\u003e\nInstagram style photos.  The layout could use a lot of work, the feed seems\nlike its breaking on rebuild due to some cache issues, but its there and kind\nof works and eventually will get a proper prominently placed link, for now its\nan idea for anyone who sees this.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://waylonwalker.com/shots/\"\u003ehttps://waylonwalker.com/shots/\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eBy the way what a boss domain searls.co is.  I’ve seen Chris Coyier just got\n\u003ca href=\"https://chriscoyier.net/2025/07/01/coyier-com/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/chriscoyier.net.jpg\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/chriscoyier.net.jpg\" class=\"has-avatar  has-avatar-before\"\u003ecoyer.com\u003c/a\u003e and talked about\nbeing able to use it as a family domain.\u003c/p\u003e\n\u003c/blockquote\u003e\n",
      "content_text": "\nInspired by [Justin Searls Shots](https://justin.searls.co/shots/), I made\nstarted [my own shots feed](https://waylonwalker.com/shots/) for self hosted\nInstagram style photos.  The layout could use a lot of work, the feed seems\nlike its breaking on rebuild due to some cache issues, but its there and kind\nof works and eventually will get a proper prominently placed link, for now its\nan idea for anyone who sees this.\n\n\u003chttps://waylonwalker.com/shots/\u003e\n\n\u003e By the way what a boss domain searls.co is.  I've seen Chris Coyier just got\n\u003e [coyer.com](https://chriscoyier.net/2025/07/01/coyier-com/) and talked about\n\u003e being able to use it as a family domain.\n",
      "summary": "Inspired by Justin Searls Shots, I made started my own shots feed for self hosted Instagram style photos. The layout could use a lot of work, the feed seems...",
      "date_published": "2025-08-13T21:23:24Z",
      "date_modified": "2025-08-13T21:23:24Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    },
    {
      "id": "https://waylonwalker.com/2025-08-12-notes/",
      "url": "https://waylonwalker.com/2025-08-12-notes/",
      "title": "2025-08-12 Notes",
      "content_html": "\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/3b6cadef-301b-4c90-9b06-4cbc1405bced.jpg\" class=\"glightbox-link\" aria-label=\"17550430467561838968532746154870.jpg\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/3b6cadef-301b-4c90-9b06-4cbc1405bced.jpg\" alt=\"17550430467561838968532746154870.jpg\"/ data-glightbox=\"description: 17550430467561838968532746154870.jpg\"\u003e\u003c/a\u003e\n\u003c/figure\u003e\n\u003cp\u003eSad day yesterday.  We discovered that our freezer was left cracked over a day\nor so.  Kids self serviced themselves to some sausage dogs at some point and\nwedged the box in the door.  Everything was over 40F and done.\u003c/p\u003e\n\u003cp\u003eLessons learned for everyone.  For the kids, see something say something, food\nshould not come out of a freezer soft and barely fridge temp.  For the parents,\ndon’t get in a rush when loading the freezer.  If something doesn’t quite look\nlike it’s going to stay out, it probably won’t and next person to use it will\npay… Or you will pay when they don’t notice.  Last lesson for everyone, when\nyou come home late and tired from a family trip to Grandma’s and hear beeping\nit’s probably important and investigate.\u003c/p\u003e\n\u003chr/\u003e\n\u003cfigure\u003e\n\u003ca href=\"https://dropper.waylonwalker.com/api/file/4751d638-b056-42bd-bc5b-4a7e94e4569f.jpg\" class=\"glightbox-link\" aria-label=\"17550498066131861258207337996278.jpg\"\u003e\u003cimg class=\"glightbox\" src=\"https://dropper.waylonwalker.com/api/file/4751d638-b056-42bd-bc5b-4a7e94e4569f.jpg\" alt=\"17550498066131861258207337996278.jpg\"/ data-glightbox=\"description: 17550498066131861258207337996278.jpg\"\u003e\u003c/a\u003e\n\u003c/figure\u003e\n\u003cp\u003eI need some more ram… Was waiting out prime day, prices went up and haven’t\ngone down.\u003c/p\u003e\n\u003chr/\u003e\n\u003cp\u003e\u003ca href=\"https://forgejo.org/\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/forgejo.org.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/forgejo.org.ico\" class=\"has-avatar  has-avatar-before\"\u003eforgejo\u003c/a\u003e is pretty dope, played with it for awhile today\nlocally, create repos with curl, \u003ca href=\"/glossary/git/\" class=\"glossary-term\" title=\"Git is a version control system for tracking changes in source code during software development. In the beginning there were many, some were licensed. As...\"\u003egit\u003c/a\u003e push, actions working with multiple\nrunners.\u003c/p\u003e\n",
      "content_text": "\n![17550430467561838968532746154870.jpg](https://dropper.waylonwalker.com/api/file/3b6cadef-301b-4c90-9b06-4cbc1405bced.jpg)\n\nSad day yesterday.  We discovered that our freezer was left cracked over a day\nor so.  Kids self serviced themselves to some sausage dogs at some point and\nwedged the box in the door.  Everything was over 40F and done.\n\nLessons learned for everyone.  For the kids, see something say something, food\nshould not come out of a freezer soft and barely fridge temp.  For the parents,\ndon't get in a rush when loading the freezer.  If something doesn't quite look\nlike it's going to stay out, it probably won't and next person to use it will\npay... Or you will pay when they don't notice.  Last lesson for everyone, when\nyou come home late and tired from a family trip to Grandma's and hear beeping\nit's probably important and investigate.\n\n---\n\n![17550498066131861258207337996278.jpg](https://dropper.waylonwalker.com/api/file/4751d638-b056-42bd-bc5b-4a7e94e4569f.jpg)\n\nI need some more ram... Was waiting out prime day, prices went up and haven't\ngone down.\n\n---\n\n[forgejo](https://forgejo.org/) is pretty dope, played with it for awhile today\nlocally, create repos with curl, git push, actions working with multiple\nrunners.\n\n\n\n",
      "summary": "Sad day yesterday. We discovered that our freezer was left cracked over a day or so. Kids self serviced themselves to some sausage dogs at some point and...",
      "date_published": "2025-08-12T16:46:31Z",
      "date_modified": "2025-08-12T16:46:31Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ]
    }
  ]
}