It’s just the Carpet… ━━━━━━━━━━━━━━━━━━━━━ Date: September 5, 2026 Image: https://shots.wayl.one/shot/?url=https%3A%2F%2Frhiannonwalker.com%2Fcarpet%2Fog%2F&height=600&width=1200&scaled_width=1200&scaled_height=600&format=jpg It’s just the Carpet… | Waylon Walker { "@context": "https://schema.org", "@type": "BlogPosting", "headline": "It’s just the Carpet…", "datePublished": "2026-09-05T23:02:10Z", "dateModified": "2026-09-05T23:02:10Z", "publisher": { "@type": "Organization", "name": "Waylon Walker", "url": "https://waylonwalker.com" }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://waylonwalker.com/itrsquos-just-the-carpethellip/" }, "image": "https://shots.wayl.one/shot/?url=https%3A%2F%2Frhiannonwalker.com%2Fcarpet%2Fog%2F\u0026height=600\u0026width=1200\u0026scaled_width=1200\u0026scaled_height=600\u0026format=jpg", "url": "https://waylonwalker.com/itrsquos-just-the-carpethellip/" } var params = new URLSearchParams(location.search); if (params.get('specimen') === 'canonical-headings') { document.documentElement.classList.add('canonical-specimen-route'); if (params.get('capture') === 'natural') document.documentElement.classList.add('canonical-natural-route'); } (function() { var root = document.documentElement; var fallbackSize = root.dataset.textSize || 'large'; var allowed = { small: true, medium: true, large: true, 'x-large': true }; var size = allowed[fallbackSize] ? fallbackSize : 'large'; var allowVisitorSize = true; if (allowVisitorSize) { try { var stored = localStorage.getItem('text-size'); if (stored && allowed[stored]) { size = stored; } } catch (_) { // ignore storage access failures } } root.dataset.textSize = size; })(); (function() { var fallbackMode = 'dark'; window.__markataThemeFallbackMode = fallbackMode; var mode = fallbackMode; var picked = ''; var aesthetic = ''; var fontpack = ''; try { var stored = localStorage.getItem('color-mode') || localStorage.getItem('theme'); if (stored === 'light' || stored === 'dark') { mode = stored; } // Restore the visitor's theme picker choice before any CSS paints. picked = localStorage.getItem('theme-palette-' + mode) || ''; aesthetic = localStorage.getItem('theme-aesthetic') || ''; fontpack = localStorage.getItem('theme-fontpack') || ''; } catch (_) { // ignore storage access failures } document.documentElement.dataset.theme = mode; document.documentElement.classList.toggle('dark', mode === 'dark'); // Pin data-palette to the variant that matches the resolved mode so the // per-palette CSS block agrees with data-theme on first paint. var palettes = { light: 'ayu\u002Dlight', dark: 'ayu\u002Ddark' }; window.__markataThemeDefaults = palettes; // Seasonal palette: northern hemisphere seasons, switching to a holiday // palette a few days before and on the day of world holidays. window.__markataSeasonal = {"lead":3,"s":[{"l":"Spring","f":320,"lt":"pollen8","dk":"pollen8-dark"},{"l":"Summer","f":621,"lt":"summer-beach","dk":"summer-beach-dark"},{"l":"Autumn","f":922,"lt":"autumn-light","dk":"autumn"},{"l":"Winter","f":1221,"lt":"winter-frost-light","dk":"winter-frost"}],"h":[{"l":"New Year","d":["01-01"],"lt":"white-gold","dk":"black-gold"},{"l":"Lunar New Year","d":["2025-01-29","2026-02-17","2027-02-06","2028-01-26","2029-02-13","2030-02-03","2031-01-23","2032-02-11","2033-01-31","2034-02-19","2035-02-08","2036-01-28"],"lt":"lunar-new-year-light","dk":"lunar-new-year"},{"l":"Valentine's Day","d":["02-14"],"lt":"valentine-light","dk":"valentine"},{"l":"St. Patrick's Day","d":["03-17"],"lt":"st.-patrick's-day-light","dk":"st.-patrick's-day"},{"l":"Easter","d":["2025-04-20","2026-04-05","2027-03-28","2028-04-16","2029-04-01","2030-04-21","2031-04-13","2032-03-28","2033-04-17","2034-04-09","2035-03-25","2036-04-13"],"lt":"blessing","dk":"blessing-dark"},{"l":"Earth Day","d":["04-22"],"lt":"everforest-light","dk":"everforest-dark"},{"l":"Halloween","d":["10-31"],"lt":"halloween-light","dk":"halloween"},{"l":"Diwali","d":["2025-10-20","2026-11-08","2027-10-29","2028-10-17","2029-11-05","2030-10-26","2031-11-14","2032-11-02","2033-10-22"],"lt":"diwali-light","dk":"diwali"},{"l":"Hanukkah","d":["2025-12-15","2026-12-05","2027-12-25","2028-12-13","2029-12-03","2030-12-21","2031-12-11","2032-11-29","2033-12-17","2034-12-07","2035-12-26"],"n":8,"lt":"hanukkah-light","dk":"hanukkah"},{"l":"Christmas","d":["12-25"],"lt":"christmas-light","dk":"christmas"}]}; window.__markataSeasonalDefault = false; window.__markataSeasonalPick = function(forMode, date) { var s = window.__markataSeasonal, now = date || new Date(), y = now.getFullYear(); var today = Date.UTC(y, now.getMonth(), now.getDate()) / 864e5; var best = null, bestDiff = 1e9; s.h.forEach(function(h) { h.d.forEach(function(d) { var p = d.split('-'), years = p.length === 3 ? [+p[0]] : [y - 1, y, y + 1]; years.forEach(function(yy) { var diff = Date.UTC(yy, +p[p.length - 2] - 1, +p[p.length - 1]) / 864e5 - today; if (diff <= s.lead && diff > -(h.n || 1) && diff < bestDiff) { best = h; bestDiff = diff; } }); }); }); if (!best) { var md = (now.getMonth() + 1) * 100 + now.getDate(); best = s.s[s.s.length - 1]; s.s.forEach(function(x) { if (md >= x.f) best = x; }); } return { label: best.l, name: forMode === 'dark' ? best.dk : best.lt }; }; if (picked === 'seasonal' || (!picked && window.__markataSeasonalDefault)) { picked = window.__markataSeasonalPick(mode).name; } if (picked === 'seasonal') picked = ''; var modePalette = picked || (mode === 'dark' ? palettes.dark : palettes.light); if (modePalette) { document.documentElement.dataset.palette = modePalette; } if (aesthetic) { document.documentElement.dataset.aesthetic = aesthetic; } window.__markataPageFontpack = document.documentElement.dataset.fontpack || ''; if (fontpack) { document.documentElement.dataset.fontpack = fontpack; // The visitor choice can differ from the page default. Preload only // that pack's above-the-fold faces, before the stylesheets are parsed. var fontURLs = ({"brush":["/assets/fonts/space-grotesk-full.woff2","/assets/fonts/knewave-full.woff2"],"brutalist":["/assets/fonts/space-grotesk-full.woff2","/assets/fonts/bungee-full.woff2"],"code-editorial":["/assets/fonts/literata-full.woff2","/assets/fonts/space-grotesk-full.woff2"],"dry-brush":["/assets/fonts/source-sans-3-full.woff2","/assets/fonts/water-brush-full.woff2"],"editorial":["/assets/fonts/source-serif-4-full.woff2","/assets/fonts/cormorant-garamond-full.woff2"],"field-notebook":["/assets/fonts/source-sans-3-full.woff2","/assets/fonts/knewave-full.woff2"],"garage":["/assets/fonts/ibm-plex-sans-full.woff2","/assets/fonts/trade-winds-full.woff2"],"handwritten":["/assets/fonts/source-sans-3-full.woff2","/assets/fonts/kalam-full.woff2"],"humanist":["/assets/fonts/source-serif-4-full.woff2","/assets/fonts/source-sans-3-full.woff2"],"indie-zine":["/assets/fonts/space-grotesk-full.woff2","/assets/fonts/rubik-dirt-full.woff2"],"literary":["/assets/fonts/literata-full.woff2","/assets/fonts/fraunces-full.woff2"],"marker-note":["/assets/fonts/source-sans-3-full.woff2","/assets/fonts/permanent-marker-full.woff2"],"modern-editorial":["/assets/fonts/manrope-full.woff2","/assets/fonts/fraunces-full.woff2"],"modern-soft":["/assets/fonts/manrope-full.woff2","/assets/fonts/syne-full.woff2"],"painted-sign":["/assets/fonts/source-sans-3-full.woff2","/assets/fonts/finger-paint-full.woff2"],"plain":["/assets/fonts/source-serif-4-full.woff2","/assets/fonts/inter-tight-full.woff2"],"poster-grit":["/assets/fonts/space-grotesk-full.woff2","/assets/fonts/sedgwick-ave-display-full.woff2"],"system":[],"system-newspaper":[],"system-reader":[],"system-serif":[],"system-terminal":[],"technical":["/assets/fonts/ibm-plex-sans-full.woff2"],"typewriter":["/assets/fonts/crimson-pro-full.woff2","/assets/fonts/special-elite-full.woff2"]})[fontpack] || []; if (fontpack !== window.__markataPageFontpack && Array.isArray(fontURLs)) { fontURLs.forEach(function(url) { var link = document.createElement('link'); link.rel = 'preload'; link.href = url; link.as = 'font'; link.type = 'font/woff2'; link.crossOrigin = 'anonymous'; document.head.appendChild(link); }); } } })(); :root { } /* Native controls and scrollbars follow the site's resolved mode, not the OS. */ html:root { color-scheme: dark; } html:root[data-theme="light"] { color-scheme: light; } .share-panel { margin: var(--space-8, 2rem) 0 var(--space-6, 1.5rem); padding-top: var(--space-4, 1rem); border-top: 1px solid var(--color-border, #e1e1e1); } .share-panel__title { font-size: var(--text-sm, 0.95rem); font-weight: 600; margin: 0 0 0.75rem; } .share-buttons, .share-panel__grid { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: var(--space-4, 1rem); } .share-button { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; padding: 0; background: transparent; border-radius: 999px; border: 1px solid var(--color-border, #d0d0d0); color: var(--color-text, currentColor); cursor: pointer; text-decoration: none; transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease; } .share-button__icon { width: 1.1rem; height: 1.1rem; display: inline-flex; align-items: center; justify-content: center; } .share-button__icon svg { width: 100%; height: 100%; display: block; } .share-button__label, .share-button__name { display: none; } .share-button__hint { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .share-button:hover, .share-button:focus-visible { color: var(--color-primary, #4f46e5); border-color: var(--color-primary, #4f46e5); background: color-mix(in srgb, var(--color-primary, #4f46e5) 12%, var(--color-surface, #ffffff)); } .share-button--copied { color: var(--color-primary, #4f46e5); border-color: var(--color-primary, #4f46e5); background: color-mix(in srgb, var(--color-primary, #4f46e5) 16%, transparent); } /* Prevent horizontal overflow from background decorations */ html, body { max-width: 100vw; overflow-x: hidden; } /* Article background variables for content readability */ :root { --article-bg: color-mix(in srgb, var(--color-background) 95%, transparent); --article-blur: 8px; --article-shadow: 0 4px 24px rgba(0, 0, 0, 0.4); --article-radius: 12px; } /* Apply article background styling when background decorations are enabled */ article.post, section.feed, div.feed, .blogroll-page, .reader-page { background: var(--article-bg); box-shadow: var(--article-shadow); border-radius: var(--article-radius); } /* Responsive padding for feed/list containers - mobile first. article.post keeps the theme padding scale from main.css. */ section.feed, div.feed, .blogroll-page, .reader-page { padding: var(--space-6, 1.5rem); } @media (max-width: 768px) { section.feed, div.feed, .blogroll-page, .reader-page { padding: var(--space-4, 1rem) var(--space-3, 0.75rem); border-radius: var(--radius, 0.375rem); } } @media (max-width: 480px) { section.feed, div.feed, .blogroll-page, .reader-page { padding: var(--space-3, 0.75rem) var(--space-2, 0.5rem); border-radius: 0; } } @media (max-width: 375px) { section.feed, div.feed, .blogroll-page, .reader-page { padding: var(--space-2, 0.5rem) var(--space-1, 0.25rem); } } .background-layer { width: 100%; height: 100%; } /* Style for snow-fall custom element */ snow-fall { display: block; position: fixed; inset: 0; pointer-events: none; z-index: 5; } /* Disable snow animation for users who prefer reduced motion */ @media (prefers-reduced-motion: reduce) { snow-fall { display: none; } } /* Ensure article, nav, header, and footer are ABOVE snow with solid backgrounds */ article.post, .post-content { position: relative; z-index: 10; background: var(--article-bg, var(--color-background)); } .site-header, header { position: relative; z-index: 20; background: var(--color-background); } .site-footer, footer { position: relative; z-index: 20; background: var(--color-background); } nav, .sidebar, .site-nav { position: relative; z-index: 20; background: var(--color-background); } /* Main content area above snow */ main { position: relative; z-index: 10; } html mark { background-color: var(--color-highlight) !important; color: var(--color-highlight-text) !important; } /* Internal conformance profile; scoped so normal site documents are unchanged. */ [data-rendering-specimen="canonical-headings"] { box-sizing: border-box; width: 1280px !important; height: 1000px !important; min-height: 1000px !important; padding: 24px; overflow: hidden !important; line-height: 1.6 !important; } [data-rendering-specimen="canonical-headings"] .canonical-document { box-sizing: border-box; width: 680px; max-width: 100%; margin-inline: auto; padding-inline: 0; font-family: var(--font-body, system-ui, sans-serif); font-size: 1rem; line-height: 1.6; } [data-rendering-specimen="canonical-headings"] .canonical-document__title, [data-rendering-specimen="canonical-headings"] .post-content h1, [data-rendering-specimen="canonical-headings"] .post-content h2, [data-rendering-specimen="canonical-headings"] .post-content h3, [data-rendering-specimen="canonical-headings"] .post-content h4, [data-rendering-specimen="canonical-headings"] .post-content h5, [data-rendering-specimen="canonical-headings"] .post-content h6 { font-family: var(--font-heading, var(--font-body, system-ui, sans-serif)) !important; font-weight: 400; overflow: visible; border: 0; padding: 0; } [data-rendering-specimen="canonical-headings"] .canonical-document__title { margin: 0 0 0.75rem; font-size: clamp(2.5rem, 8vw, 5rem); line-height: 0.95; } [data-rendering-specimen="canonical-headings"] .post-content h1 { margin: 2.5rem 0 0.75rem; font-size: clamp(2.5rem, 8vw, 5rem); line-height: 0.95; } [data-rendering-specimen="canonical-headings"] .post-content h2 { margin: 2.5rem 0 0.75rem; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; } [data-rendering-specimen="canonical-headings"] > .markata-canonical-texture-layer { position: absolute; inset: 0; width: 1280px; height: 1000px; pointer-events: none; background-repeat: repeat; background-image: var(--theme-texture-image, none); background-size: calc(180px * var(--theme-texture-scale, 0.92)); opacity: var(--theme-texture-opacity, 0); z-index: 20; } [data-rendering-specimen="canonical-headings"] .post-content h3 { margin: 2.5rem 0 0.75rem; font-size: 2rem; line-height: 1.05; } [data-rendering-specimen="canonical-headings"] .post-content h4 { margin: 2.5rem 0 0.75rem; font-size: 1.5rem; line-height: 1.1; } [data-rendering-specimen="canonical-headings"] .post-content h5 { margin: 2.5rem 0 0.75rem; font-size: 1.25rem; line-height: 1.2; } [data-rendering-specimen="canonical-headings"] .post-content h6 { margin: 2.5rem 0 0.75rem; font-size: 1rem; line-height: 1.25; } [data-rendering-specimen="canonical-headings"] .canonical-document :is(code, pre, kbd, samp) { font-family: var(--font-code, ui-monospace, monospace); } [data-rendering-specimen="canonical-headings"] .canonical-document :is(strong, em, mark, a) { font-family: inherit; } [data-rendering-specimen="canonical-headings"] .canonical-document :is(code, kbd, samp) { font-family: var(--font-code, ui-monospace, monospace); } html[data-fontpack] [data-rendering-specimen="canonical-headings"] .post-content :is(h1, h2, h3, h4, h5, h6) :is(strong, em, a) { color: var(--color-text) !important; font-family: var(--font-heading) !important; } html[data-fontpack] [data-rendering-specimen="canonical-headings"] .post-content :is(h1, h2, h3, h4, h5, h6) mark { background: var(--color-highlight) !important; color: var(--color-highlight-text) !important; -webkit-text-fill-color: var(--color-highlight-text) !important; } [data-rendering-specimen="canonical-headings"] .canonical-document :is(h1, h2, h3, h4, h5, h6) :is(strong, em, a) { color: var(--color-text) !important; font-family: var(--font-heading) !important; } [data-rendering-specimen="canonical-headings"] .canonical-document :is(h1, h2, h3, h4, h5, h6) mark { background: var(--color-highlight) !important; color: var(--color-highlight-text) !important; -webkit-text-fill-color: var(--color-highlight-text) !important; } [data-rendering-specimen="canonical-headings"] :is(h1, h2, h3, h4, h5, h6) :is(strong, em, a) { color: var(--color-text) !important; font-family: var(--font-heading) !important; } [data-rendering-specimen="canonical-headings"] :is(h1, h2, h3, h4, h5, h6) mark { background: var(--color-highlight) !important; color: var(--color-highlight-text) !important; -webkit-text-fill-color: var(--color-highlight-text) !important; } [data-rendering-specimen="canonical-headings"] .post-content :is(h1, h2, h3, h4, h5, h6) :is(code, kbd, samp) { color: inherit !important; font-family: var(--font-code, ui-monospace, monospace) !important; } html.canonical-specimen-route body { background-size: 1344px 559px !important; } html.canonical-specimen-route body { line-height: 1.6 !important; } html.canonical-specimen-route body::before { background-size: calc(180px * .92) calc(180px * .92) !important; } html.canonical-specimen-route body::after { background-size: 1344px 559px !important; } [data-rendering-specimen="canonical-headings"] .post-content p { margin: 1rem 0; } [data-rendering-specimen="canonical-headings"] mark { box-decoration-break: clone; -webkit-box-decoration-break: clone; } /* The capture harness uses this query route. Keep the specimen itself as the only painted surface; normal site chrome must not enter evidence. */ html.canonical-specimen-route body, body:has([data-rendering-specimen="canonical-headings"]) { overflow: hidden; } html.canonical-specimen-route body > :not(.page-wrapper), body:has([data-rendering-specimen="canonical-headings"]) > :not(.skip-link):not(.site-header):not(#view-transition-progress):not(footer):not(.page-wrapper) { display: none !important; } body:has([data-rendering-specimen="canonical-headings"]) > .skip-link, body:has([data-rendering-specimen="canonical-headings"]) > .site-header, body:has([data-rendering-specimen="canonical-headings"]) > #view-transition-progress, body:has([data-rendering-specimen="canonical-headings"]) > footer { display: none !important; } html.canonical-specimen-route body .page-wrapper, body:has([data-rendering-specimen="canonical-headings"]) .page-wrapper { display: contents; } body:has([data-rendering-specimen="canonical-headings"]) .page-wrapper > :not(main) { display: none !important; } html.canonical-specimen-route body .page-wrapper > :not(main) { display: none !important; } html.canonical-specimen-route body [data-rendering-specimen="canonical-headings"], body:has([data-rendering-specimen="canonical-headings"]) [data-rendering-specimen="canonical-headings"] { box-sizing: border-box; width: 1280px !important; height: 1000px !important; min-height: 1000px !important; max-width: none !important; margin: 0; padding: 24px; overflow: hidden !important; } html.canonical-specimen-route [data-rendering-specimen="canonical-headings"] .canonical-document { width: 680px !important; max-width: 100% !important; margin-inline: auto; } html.canonical-specimen-route:not(.canonical-natural-route) [data-rendering-specimen="canonical-headings"] { box-sizing: border-box !important; width: 1280px !important; height: 1000px !important; min-height: 1000px !important; max-height: 1000px !important; overflow: hidden !important; } html.canonical-natural-route, html.canonical-natural-route body, html.canonical-natural-route body .page-wrapper, html.canonical-natural-route body [data-rendering-specimen="canonical-headings"] { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; } html.canonical-natural-route body { width: 1280px; } html.canonical-natural-route body [data-rendering-specimen="canonical-headings"] { width: 1280px !important; max-width: none !important; } Skip to main content Waylon Walker start here Article start here Welcome to waylonwalker.com, my small corner of the internet. I currently have posts published, here are some links to help you get started around here. metaslash archive Collection archive All published posts 2575 posts Publication rhythm rss Article rss I have several feeds that you can consume my content with. Many posts will cross between them, so if you would like to follow a certain stream of content in... metaslash reader RSS reader reader Recent articles, videos, and podcasts from followed RSS feeds. 115 sources random Serendipity random Find a post you might have missed. 2676 posts in the draw Colors Style Font No themes match. Size A A A A ←→↑↓ preview · 123 tabs · Enter done Reset Series b In this series ‹ › calendar [ prev ] next {} feeds Fixing the PR Bottleneck — Matt Pocock, AIHero Claude Opus 5.5 100 HTML Files dax on X: “in the next version of OpenCode we added /btw which… Superlogical Pre-Alpha Demo: CLI - YouTube I’m done with devices that do everything State of Agentic Coding #10 with Armin and Ben Lex Speedman — Lex at 2x, guest at 1x I Make My Own Field Notes (and it costs almost nothing) It’s just the Carpet… Nate Berkopec (@nateberkopec) on X I Tried The OS Everyone Says Will Replace macOS /goal is a special command for OpenAI… | justin․searls․co A Calendar View For My Blog - Jim Nielsen’s Blog My Mechanical Keyboards A quote from Linus Torvalds Stop Making TUIs Insane AMA Penalties! Craig Used For Traction! Unadilla Madness! Canadian Champions Crowned! I’m done with terminals This DIY Datacenter is NUTS We BROKE the Golden Rule of Ergonomic Keyboards - YouTube DHH: How to Build a Profitable Company Without Losing Control Stop being skeptical about AI for development with Charity Majors A quote from Florian Herrengt Blogging and blog setups — baty.net Heart of Mycelium - Gameplay Trailer - YouTube The Truth About Turning Your Hobby Into a Job Pipes: Blocking Communication - YouTube What happens when your team 5x their token usage - YouTube 11 Laws of the Universe - YouTube Post by @thdxr.com — Bluesky XBOX DISC TO DIGITAL COMING SOON #shorts - YouTube Sustainable Augmented Development • Kent Beck • YOW! 2025 The Internet I Grew Up With Doesn’t Exist Anymore - cleberg.net Nibelungenlied40 | Book Split Keyboard Design Dumb people lay off - YouTube The Website Specification Revisiting the closed canon On Rendering Diffs :: Pierre Computer Company His presence is still felt in the codebase to this day 😂 #codi… UUID as a service?! Average Theo video be like - YouTube My First Time Hearing Lamb Of God. What Took Me So Long? - You… The Point Of Making Things Is To Make Them - YouTube Jonathan Blow Made Me Quit My Job | Prime Reacts - YouTube Why Agent Harness Layer is DYING - YouTube Why Agent Harness Layer is DYING - YouTube The Office | AI Episode | Claude - YouTube Is Anything Secure? - YouTube These Layoffs Backfired Instantly (ft. Primeagen) - YouTube Foo Fighters: Tiny Desk Concert - YouTube Microsoft Doesn’t Have it in Them to Win - YouTube How to Install Silksong mods on the Steam Deck | Long Play Tech Cloudflare cuts 1100 Programming Sucks Programming Still Sucks. — Writing Ghostty is leaving GitHub Red Squares — the GitHub outage graph Desktop Crash 2026 ARTEMIS II PHOTO TIMELINE Hacker News RSS Hybrid theory is the greatest album of our generation - YouTube Super Slow-Moto: The “Am I Crazy?” [Wading Through AI - Episode 3] A love letter to Pi | Lucas Meijer How Claude Code’s Creator Starts EVERY Project - YouTube POV: Growing up as a Millennial be like 🤣 AC:@mikemancusi #mil… Write It First, Then Let AI Drive - Kenneth Reitz I am slowly coming around to AI assisted programming. AIs aren’t good rule followers A quote from Steve Yegge How does Claude Code actually work? - YouTube Artemis II Lunar Flyby Explaining the Most Important Artemis II Photos - YouTube An AI state of the union: We’ve passed the inflection point & … DDR5 Prices are Crashing… Kind Of. - YouTube @seldo.com on Bluesky BumpMesh by CNC Kitchen Bush: Tiny Desk Concert - YouTube GitHub - kraanzu/smassh at terminaltrove · GitHub What Happens When AI Stops Being Artificially Cheap | Daniel M… Tuesday, March 31, 2026 | Baty.net Release 0.9.17 · astral-sh/uv · GitHub Package Managers Need to Cool Down no one read the source safe words the cheng lou pretext tweet you can replace the spinning verbs in Claude Code @nicknisi.com on Bluesky To Live In A World Without AI pype.dev - https://github.com/steveyegge/beads paynepride dot com outage on vacation Has 3D Printing Reduced Adam Savage’s Maker’s High? - YouTube kubernetes is beautiful r/kubernetes More Details Than You Probably Wanted to Know About Recent Upd… Notes – 06:34 Mon 23 Mar 2026 – David Bushell – Web Dev (UK) ten year computer The future of Coding and Code Quality - YouTube Do You Have Token anxiety? - YouTube No one under 18 installs Linux The web is bearable with RSS I need a new blog to subscribe to. Know… | justin․searls․co jack cuts block in half FFmpeg video crop Tiny Tool Town 🏘️ FancyGist Reply guy Smaller and dumber - daverupert.com An attempt at a balanced perspective on AI - YouTube Post by @castpixel.bsky.social — Bluesky Session: Skate Sim on X: “Our long-awaited Skate Core Update i… trash on X: “loving the state of development right now https:/… Silksong Demastered Blueskii on X: “this underground creator named “sN0UK” made Qu… Home / X uvx.sh | Astral POV: You install Clawdbot on VPS - YouTube POV: Your AI Models change faster than JS Frameworks - YouTube OpenClaw: The Viral AI Agent that Broke the Internet - Peter S… Naya Connect | Hackaday Background Patterns with CSS corner-radius – Frontend Master… The shovelware cometh The shovelware cometh dax on X: “finally got around to setting up an always on openc… Short Month, Big Ideas (February 2026 Wallpapers Edition) — Sm… Peter Steinberger Stay away from my trash! - tldraw: Build whiteboards in React … I’m back from the dead DockFrame - Modular USB-C Hub with Framework-Compatible Expans… make no mistakes by Beginbot | Suno I Hope This Email Finds You Before I Do - Last Week in AWS Blog Hollow Knight: Silksong by Ceen in 54:55 - Awesome Games Done … “I shipped code I don’t understand and I bet you have too” – J… Reflections on 13 years and 1,000 posts of writing on my blog Don’t fall into the anti-AI hype Salesforces mistake - YouTube Diffs, from Pierre Oxide and Friends 1/5/2026 – Predictions 2026!! - YouTube There’s an Actual Reason You Can’t Recycle Plastic - YouTube feat: add llms.txt endpoint for LLM-optimized documentation by… Photoshop for text — Steph Ango File over app — Steph Ango The most popular blogs of Hacker News in 2025 Convert a video from dark mode to light mode with FFmpeg! RAM Prices Are Getting Worse - YouTube Smartphones are black holes Using stderr/stdout correctly - YouTube You Might Also Like: My Notes Blog - Jim Nielsen’s Blog “You should never build a CMS” | Sanity The Github Tax (I can’t believe they actually did this…) - Y… Hollow Knight: Silksong - Sea of Sorrow Teaser AI, DevOps, and Kubernetes: Kelsey Hightower on What’s Next - … Why is Everyone So Wrong About AI Water Use?? - YouTube Notes – 05:09 Tue 9 Dec 2025 – David Bushell – Web Dev (UK) Deprecations via warnings don’t work for Python libraries A quote from Claude 3d Printing a Geared Vice - Will It work? - YouTube Steam Machine CAN Start at $399 with THIS SKU! | Cut Down Yiel… You’ll own NOTHING and be happy? - YouTube The Secret of the AWS Outage | The Standup - YouTube Building the PERFECT Linux PC with Linus Torvalds - YouTube snow-fall Web Component—zachleat.com The 3D Printed Ball Vise Every Creative Should Own - YouTube Deleting Code for Performance – David Bushell – Web Dev (UK) Self-hosting Github Malicious Traffic and Static Sites - Jim Nielsen’s Blog A ChatGPT prompt equals about 5.1 seconds of Netflix A pretty good email scam 2025-11-27 Notes K8s Diagram Builder - Free Visual Kubernetes Architecture Desi… Microsoft keeps losing - YouTube PETaflop cluster - Justin Garrison ChatGPT made me delusional Post | LinkedIn Ford Thinks We’re Cooked, I agree- YouTube I refuse to change the way I play… 😂🔥 #comedy #videogames #min… Rewriting SQLite from prison with Preston Thorpe - YouTube STOP. Using AI Right now - YouTube The Glorious Pipe Operator (Elixir for PHP Devs) | Jesse Leite is AI ruining opensource? - YouTube You already have a git server: (Maurycy’s blog) Please don’t give Reflect Orbital money: (Maurycy’s blog) Post by @letitmelo.bsky.social — Bluesky Bazzite on X: “@thesvpanda @_Messier_33 @LeagueOfLegends Unfor… Post by @meredithmeredith.bsky.social — Bluesky Ellie Huxtable on evolving Atuin (her shell history tool) for … My Bed Doesn’t Work Because of AWS Outage? TheStandup - YouTube #artificialintelligence #hiring | Gary Vaynerchuk | 20 comments This Web Server Is 100% Solar Powered - YouTube 2025 The Year Of The Linux Desktop - YouTube Litewind python 3.14 highlights! - YouTube This $15 Fingerboard Mold from Amazon SHOCKED me!! - YouTube PEP 735 – Dependency Groups in pyproject.toml | peps.python.org Running Software on Software You’ve Never Run Using Litestream to Restore My Database for Easy Development TIL: Loading .env files with uv run A quote from Dan Abramov This printed design holds a steel tube where the tube goes. #o… Print over Part - YouTube Haiden Deegan IN for Motocross of Nations?! | The Blair Matthe… Chris Joslin 360 Flips El Toro!!!!! - YouTube Big W: A Family Tradition Meet Gor on X: “SQLite added generated columns in 3.31 (around… Idea to Product in Seconds #PortalPrints - YouTube a new chapter “Pacman is currently in use, please wait.” How To Become The BEST Engineer At Your Company - YouTube Ben Dicken on X: “I am once again begging you to put your data… Hollow Knight: Silksong is breaking Steam, Nintendo’s eShop - … Chris Coyier Home GPT-5 + Codex is so fast that when I… | justin․searls․co Vibe code is legacy code | Val Town Blog Rich Pixels Plastic rollers instead of bearings. Little step forward with … Learn to use email with git! Repository Mirrors | Forgejo – Beyond coding. We forge. Vertical combos are dumb, this makes way more sense. · WaylonW… Let’s Make Sure Github Doesn’t Become the only Option - Edward… This Bothers Me - YouTube Explore - Forgejo Eric: “This was pushed out with a rus…” - Mastodon The BIGGEST lie in software development - YouTube Reflection - AI Work and ADHD GitHub - cortesi/modd: A flexible developer tool that runs pro… combos only on default layer · WaylonWalker/zmk-config-42block… The Death of the User Interface Why everyone is quitting social media - YouTube Search Needs a Human Solution: A Manifesto You Should Be Hiring Mullets. (write that down) OverType - The Markdown Editor That’s a Textarea The Internet is Dying: AI, Bots, and The End of Human Content … The Real Reason Your Power Bill Doubled (It’s Not Inflation) -… Digitized Signatures DHH on X: “Rewiring your muscle memory for copy/paste when you… Performance Difference between RWX and RWO volumes · longhorn/… GitHub Ensloppification – David Bushell – Web Dev (UK) Note-taking & Editors - awesome-selfhosted Slops | justin․searls․co noah on X: “this is about to be my go to on plane flights. u d… blakewatson.com - blakewatson.com turns 20 ThePrimeagen on X: “there is literally no universe that this i… The Brutalist Report Omarchy is on the move YouTube has earned its crown 20 Percent Time – Ted Merz Blog @ tonsky.me We shouldn’t have needed lockfiles @ tonsky.me I Will Fucking Piledrive You If You Mention AI Again — Ludicity DHH: Future of Programming, AI, Ruby on Rails, Productivity & … A quote from greyduet on r/teachers Colors • Pico CSS rushter/selectolax: Python binding to Modest and Lexbor engine… How To Build The Tallest Building In Town Meet Gor | I kind of hate Agentic IDEs for the sake of product… Meet Gor | Just Fucking use kubernetes Quoting Meet Gor | Kubernetes isn’t for you Kubernetes Isn’t for You csi-driver-smb/deploy/example/smb-provisioner at master · kube… DHH on X: “You have all the time you need, you’re just spendin… Rewriting alt-tab to save 0.1s - YouTube Copyparty - YouTube What the EDC Community Gets Wrong About Pry Bars - YouTube How I Use Computers Now - YouTube Neovim vs Emacs | Roundtable w/ TJ DeVries, DistroTube, Greg A… Glossary Web Component – David Bushell – Web Dev (UK) An Ode To My 10-Year-Old Thinkpad T440 Transparent Textures uv run for running tests on versions of Python 2025-07-10 Notes Vimothée Chalamet shares his new favorite shell command from a… Quickshell Stop Complaining About Ubuntu…Just Switch To Arch Already! -… Lab Update | Cloudy with a Chance of Tech Notes – 17:00 Wed 9 Jul 2025 – David Bushell – Web Dev (UK) uv cache prune omarchy/install/webapps.sh at master · basecamp/omarchy GitHub - chase/awrit: A full graphical web browser for Kitty t… tailwind hover I was wrong - YouTube { TechDufus } { TechDufus } | Building a Talos Kubernetes Homelab with Terra… Forming URIs for Autofill | Bitwarden The decline of “i use vim btw” - YouTube distrobox/docs/posts/run_libvirt_in_distrobox.md at main · 89l… Notes – 06:11 Sun 22 Jun 2025 – David Bushell – Web Dev (UK) neverjust Software engineer get laid off in 2025 - YouTube If Netflix Made a ‘Day in the Life of a Software Engineer’ - Y… Notes – 09:32 Thu 19 Jun 2025 – David Bushell – Web Dev (UK) Bug: Pypi metadata is wrong (Requires: Python >=3.6) · Issue #… Conventional Commits FROGS ep1 The home - YouTube Visualizing My Blog’s Internal Links - Jim Nielsen’s Blog Your Framework is Showing 😳 – David Bushell – Web Dev (UK) I DONT KNOW WHY - YouTube Next.js 15.1+ is unusable outside of Vercel | Omar Abid - Pers… Think less, ship more robinroy03/videoeditor: Video Editor Application using React, … Taming file zoos: Data science with DuckDB database files - Al… PocketCal Build Log numtide/treefmt: one CLI to format your repo [maintainers=@zim… Keynote Speaker - Cory Doctorow - YouTube Dopamine Driven Development - YouTube DHH IS RIGHT ABOUT EVERYTHING (Again)? - YouTube WebTUI Arch Wizard Brodie Robertson vs My Mac Life - Will He Convert … Backups interrupted by full disk usage Queso Notes The ethics of README ads – Will McGugan – Will McGugan’s essays minio/minio Tags | Docker Hub The 1-3-1 Writing Technique From Prisma Founder to LiveStore: Building local-first apps wi… DHH on X: “You don’t need a mentor. There’s no secret sauce le… Self-Host Weekly DHH on X: “NIH: Not Invented Here Syndrome might come from a g… feat: add hackernews hits on home page · jimniels/blog@b1a250b Hackernews query by url External Links - Jim Nielsen’s Blog Could I Have Some More Friction in My Life, Please? - Jim Niel… A Gentle Intro to RSS Command Line | gitignore.io / docs My Keyboard Has Sublayers… and It’s Insane - YouTube Forrest Knight on X: “you’re not allowed to write comments in … The adapter pattern in python | Rob Parsons Adding a Dynamic Now Page in Jekyll CSS if() functions & reading-flow (in Chrome 137) - YouTube wants | maya.land Blogroll Late Night Linux – Episode 335 - YouTube Root for Your Friends · Joseph Thacker Billy Basso on code architecture of Animal Well! - YouTube Just fucking code. The Plot of “Hollow Knight” in One Minute - YouTube k8s-monitoring-helm/charts/k8s-monitoring/docs/examples/privat… No docs, no bugs The Subtle Details That Make Hollow Knight Great - YouTube Python: The Documentary [OFFICIAL TRAILER] - YouTube Chris Biscardi’s Digital Garden GrafanaCON 2025 Keynote Livestream - YouTube The future of Textualize - Textual What’s next? – Will McGugan – Will McGugan’s essays Too much magic – Will McGugan – Will McGugan’s essays Markdown’s biggest hater | Knut Melvær - YouTube Week Links №2: April 2025 - daverupert.com What ChatGPT is NOT - Tech Raven Blog “I’d rather read the prompt” – Chris Coyier The Rule - YouTube THE STANDUP - Coding DIRTY Episode 7 Learning monitoring Kubernetes Monitoring Helm tutorial | Grafana Loki documentation Configure the Tempo data source | Grafana documentation Vectorizing Your Databases with Steve Pousty Recovering from Disaster with Seth Eliot Red-Knot: Ruff’s new Type Checker - Talk Python Live Stream - … Playground | Red Knot pypi package ty 3D Printable Power Brick Bracket Designer 661: Working Vacations, Ripping Out JavaScript, and Non-US Clo… The Worst OS - YouTube The Worst OS - YouTube A quote from Mark Zuckerberg Chris Coyier Helm - Postiz Docs Louis Rossmann’s Keynote Speech on Right to Repair - YouTube True Non-Planar Slicing is Here - YouTube Marp: Markdown Presentation Ecosystem Build UIs that don’t suck - YouTube Let’s Talk Open Source - Prime Reacts - YouTube Self-Hosted 29: Perils of Self-Hosting Spring 2025: Self-Hosted Update – David Bushell – Web Dev (UK) Characters - Xe Iaso Comparing Crazy Suspension Setups on a Bumpy Road! [Trailmaker… adrianlopezroche/fdupes: FDUPES is a program for identifying o… Diun Keel World’s easiest Live dashboard with htmx - YouTube Resetting a lost admin password — Nextcloud latest Administrat… Redis configuration | Docs hotel_bookings.csv The State of Secrets Sprawl 2025 Mill-Max Hotswap Sockets – Keebio r.jina.ai Why did Framework build a desktop? - YouTube PyApp CSS Battle - Re-create an Image with CSS in the Fewest Charact… Ergonomic Laptop — Evan and Katelyn OpenTools | The open MCP server registry I Made My Own JBOD Enclosure For CHEAP - YouTube XCMKB: ZMK/Bluetooth Boards Mantis Clamp by zuberio | Download free STL model | Printables… The 3D Printed Mantis Clamp! #3dprinting #shorts #diy - YouTube There are many Style Guides but this is Mine—zachleat.com python-build-standalone/.github/workflows/release.yml at main … fix double slash in url · WaylonWalker/waylonwalker.com@93ca7da fix json schema · WaylonWalker/waylonwalker.com@deebd40 Weblogging: Part 1 – David Bushell – Web Dev (UK) fix: Open Graph URL not matching canonical · WaylonWalker/wayl… Cotton Coder – David Bushell – Web Dev (UK) valkey-io/valkey: A flexible distributed key-value datastore t… valkey · PyPI Fragmentions - linking to any text hype cp | Hypermedia Copy & Paste Chris Coyier AI workloads on Talos Linux - Sidero Labs Proompted Kiddies Learning The Hard Way - YouTube Colors - Core concepts - Tailwind CSS Don’t Starve Together Forever world Developer Productivity, v2 with ThePrimeagen | Preview - YouTube Jhey ʕ·ᴥ· ʔ: “breakin’ down classics CSS background-image + ba… Fix VERSION_OR_CIPHER_MISMATCH · Cloudflare SSL/TLS docs Migration guide for config loaders — kedro 0.19.11 documentation Search: 5 results found for “box white” – Kailh switch A Cinematic Aspect Ratio Guide for Every Filmmaker | No Film S… I Think I Love Deepseek R1 - YouTube RSS is dead - YouTube Behold, the Steam Brick | Rock Paper Shotgun OpenAI Is Actually Terrible - YouTube AI Is Making You An Illiterate Programmer - YouTube Why is Kubernetes everywhere? | Kelsey Hightower - YouTube Models - Pydantic If Mitchell Hashimoto succeeds, Tmux & Zellij will disappear -… Top Python libraries of 2024 | Tryolabs Choosing color palettes — seaborn 0.13.2 documentation poolers.postgresql.cnpg.io CRD metadata.annotations Too long ·… Nerd Fonts - Iconic font aggregator, glyphs/icons collection, … Manufacturer Recertified Drives | Enterprise Grade — ServerPar… Releases · bootandy/dust Keycloak The Worst Thing You Can Do For Your Career - YouTube The Future of HTMX - YouTube Why I Write Availability SuperMini nRF52840 Wireless Controller Development Board - kri… Quick Start - kotaemon Docs Bluesky is more like Twitter than X is Why You Should Game on Linux (feat. GloriousEggroll of Nobara)… V2 suddenly getting client-not-enrolled today - X API - X Deve… containers/podman-compose: a script to run docker-compose.yml … bic | Static blog generator, in bash Animate to height: auto; (and other intrinsic sizing keywords)… awesome-cursorrules/rules/py-fast-api/.cursorrules at main · P… Generate Custom .cursorrules for Your Project Based on Communi… cyclotruc/gitingest: Replace ‘hub’ with ‘ingest’ in any github… Gitingest olimorris/codecompanion.nvim: ✨ AI-powered coding, seamlessly … Cracking the Code | Open Sauce 2024 - YouTube WaylonWalker/nvim-manager: manage dotfiles with nvim_appname Releases · WaylonWalker/nvim-manager URL escape codes GitHub - ngalaiko/tree-sitter-go-template: Golang template gra… imagegenius/docker-immich: Monolithic (Single) Docker Containe… Owning It · Matthias Ott The weirdest controller I’ve ever used Postiz: The All-in-One Social Media Management Tool gitroomhq/postiz-helmchart: Helm for Postiz Realign – Chris Coyier About Me – Harry Roberts – Web Performance Consultant Using Obsidian as a Gaming Backlog Library Harry Roberts: “📡 I’ve been writing a lot lately. I’ve also du… myRSS/personal-blogs.xml at master · sturobson/myRSS Own Your Web • Buttondown Fork Around And Find Out | Remaining Authentic in Retirement w… Changelog • Robb Knight slash pages We need to have a talk… - YouTube linkding | linkding Wrapping your favorite CLI in neovim - YouTube Why Your Backend Shouldn’t Serve Files - YouTube curl with partial files | daniel.haxx.se The beautiful sentence that is the web Teleport to coop partner | Hypixel Forums How to configure base url for all requests using HTMX? - Stack… Addy Osmani: “Tip: Chrome DevTools can override the content of… Gary Vaynerchuk: “2025 : the year of action … who’s finally re… Ellie Huxtable: “Atuin v18.4 is out now! Including `atuin wrap… Hybrid Cloud Show – Episode 20 - YouTube are we cooked w/ o3? - YouTube Getting a Dev Job in 2025 - YouTube kitze 🚀 on X: “holy fk I thought package.json was bad but TIL … Custom Gridfinity Bins For ANYTHING! - YouTube Ubuntu Summit 2024 | UMU - A unified tool for easily running y… 4 Tips for Building a Production-Ready FastAPI Backend - YouTube Building Python tools with a one-shot prompt using uv run and … Status | Depot Deploy to Fly using a Depot builder Depot Cursor + Windsurf Settings to 5x AI’s Output Quality (Works wi… Dedicated Servers | Intel Servers | AMD Servers - Dedicated Ho… Talking with Typecraft - YouTube PEP 723 – Inline script metadata | peps.python.org Switching from virtualenvwrapper to direnv, Starship, and uv Lazy self-installing Python scripts with uv My approach to running a link blog How I use Obsidian Templater How I use Obsidian Templater How I use Obsidian Templater docker context (and an issue to question your sanity) | Pype.dev Styling better custom inputs with Dave Rupert - YouTube I got the ADHD, too - daverupert.com Damn, I love dropper already How to make your RSS feed pretty Dropper Add a healthcheck to your FastAPI app | Pype.dev casey/just: 🤖 Just a command runner pipedream/justfile at main · thechangelog/pipedream Hurl - Run and Test HTTP Requests watchfiles hostnamectl to easily change hostname | Pype.dev Ansible Galaxy - amazon.aws Using OPNsense with Tailscale · Tailscale Docs Fitting two hard drives and an SSD in a Dell OptiPlex 7010 SFF How To Fix An Office Chair Popping Noise? With Root Causes - T… If anyone else is having sound clicking with chair : here is t… Changelog on X: “🗣️@dhh on Kubernetes’ migration pitch: “Oh, w… How to make a good first impression in business #dewalt #tools… Inside Argo: Automating the Future - YouTube Introduction - bootc Saghen/blink.cmp: Performant, batteries-included completion pl… Wes Bos on X: “CSS Anchors: flip a tooltip to the bottom when … statically makes OG images easy E576: Error while reading ShaDa file: there is an item at posi… Production-ready Python Docker Containers with uv Proper handling of None in WHERE condition · Issue #109 · fast… Rugged Storage Box, Parametric and Customizable by bulbasaur0 … Gridfinity Rugged Storage Box, Parametric and Customizable by … Cluster API book Gridfinity Generator Framework Portable handheld Case (Beth Deck) by Beth Le | Down… My Favorite Fingerboard Obstacles & WHY - YouTube Document how to provide a negative number as an argument · fas… Aaron Francis on X: “📣 We’re excited to announce Mastering Pos… Will McGugan on X: “New Version of #Textual released! 😎🤓🦾 The … ticklemykeys on X: “Porta john got some pink caps https://t.co… Not a split keyboard, but perhaps a companion to one: the Ploo… Install a Zulip server — Zulip 9.2 documentation Pin versions of dependencies · Issue #2200 · Kozea/WeasyPrint These are SICK, gonna be using this a lot. (Thanks @evantraver… add helix · WaylonWalker/devtainer@71b9b29 helix-vim/config.toml at master · LGUG2Z/helix-vim Support regex substitution command · Issue #2232 · helix-edito… Support regex substitution command · Issue #2232 · helix-edito… Support regex substitution command · Issue #2232 · helix-edito… Support regex substitution command · Issue #2232 · helix-edito… Background Image | Wallpaper · Issue #3059 · helix-editor/helix help on setting up ruff formatter + ruff + pyright please : r/… configuring pylsp · helix-editor/helix · Discussion #6623 Database Remote-Copy Tool For SQLite (draft) ticklemykeys on X: “working on a new model. * seams less visib… Elwin Ransom 👽 on X: “Help, I’m being Helix pilled by my own f… ticklemykeys on X: “New cap of my own design https://t.co/j63q… ticklemykeys on X: “Full size MX caps, printing flawlessly wit… Cherry 8 mm keycap mount distrobox/docs/usage/distrobox-assemble.md at main · 89luca89/… urob/zmk-config: Personal ZMK firmware configuration for vario… add init hooks and exported bins · WaylonWalker/devtainer@2e4c6da Taildrop · Tailscale Docs triliu/Heawood42: Files for the Heawood42 ortholinear split ke… Leveret v2 & lever keycaps Alternatives to Using Pure Black (#000000) for Text and Backgr… Wes Bos on X: “Are you using position: absolute; to overlap el… Buttery icons NOT - LTT Screwdriver - Fancy by Erer2001 | Download free STL … Installing Python - uv Switching Configs in Neovim • Michael Uloth Keyboard Build Log | Halfwit’s Dev Blog Hotkey to open link under at the text cursor position while ty… Make your own luck (do this to stand out in a crowded industry… I Invented Airless Cornhole Bags - YouTube The Tank - YouTube How Fly.io uses Docker (without Docker) - YouTube Ultimate Modular Macro Keyboard “Kibly” : r/MechanicalKeyboards This is Goodbye? - YouTube he’s back again Note-taking with Zettelkasten - An Introduction - YouTube add quick-tap-ms and require-prior-idle-ms · WaylonWalker/zmk-… Tickle My Keys Git Fork vs Git Clone (Animated) - YouTube Sqlite-jiff There’s a TUI for that with Nick Janetakis (Changelog & Friend… The Verge on X: “Stress testing a snack-proof keyboard https:/… all lt keys to hl · WaylonWalker/zmk-config-42block@ce25356 /Tips-for-Being-Happier–Healthier–More-Productive Can’t use System update - invalid signature when validating AS… Update Kconfig.shield rec by bravekarma · WaylonWalker/zmk-con… DragonFruit NEC M-System Red Herring - Solenoid Edition sound test - YouTube Text cursor bug in my Chrome browser that causes the blinking … python is simultaneously at the top and the bottom of the tier… Command Line Interface Guidelines Render-blocking on purpose Remove Background Web - a Hugging Face Space by Xenova FastHX FastHX Pinout and Schematic - nice!nano linux - What is stored in /dev/pts files and can we open them?… svenstaro/miniserve: 🌟 For when you really just want to serve … pacman/Tips and tricks - ArchWiki Inside 22,734 Steam games | daniel.haxx.se wcurl is here | daniel.haxx.se Email Address Obfuscation · Cloudflare Web Application Firewal… Background Tasks - FastAPI markdown-it-pyrs · PyPI DiskCache API Reference — DiskCache 5.6.1 documentation Kustomize: The Best Way to Manage Your Kubernetes Configs - Yo… Alternatives · joric/nrfmicro Wiki Waylon Walker - handwired macropads on X: “First bit of hand w… Find And Replace one eyed kirby PolyFill Vulnerability is WILD - YouTube Found: OverlayKey X – Thomas Baart’s Microblog Queueing – An interactive study of queueing strategies – Encor… One Script Tag Just Pwn’d Over 100,000 Websites - YouTube Don’t Cheat Yourself - YouTube PyAnnotate: Auto-generate PEP-484 annotations qmk_firmware/docs/features/programmable_button.md at master · … tusharsadhwani/yen: Create virtual environments for any Python… Where DOESN’T curl run with curl BDFL Daniel Stenberg (Changel… Keyboard Mounting Styles — Keyboard University Welcome to RSS Club - daverupert.com Releases · stackrox/kube-linter Keycodes Overview | QMK Firmware How to Build a Handwired Keyboard - YouTube Adam Wathan, Creator of TailwindCSS - YouTube Episode #323 Best practices for Docker in production - [Talk P… Why You Should Build Your Homelab Now - YouTube podman requries qemu-system on ubuntu Customize and apply backgrounds fast | SVG Backgrounds darrenburns/posting: Test your HTTP API using a powerful and m… Blogmarks that use markdown A Link Blog in the Year 2024 A Link Blog in the Year 2024 | Kellan Elliott-McCrea: Blog How to Configure DNS over TLS (DoT) Using Unbound DNS in OPNsense argoproj/argo-events: Event-driven Automation Framework for Ku… catppuccin/ulauncher: 🇺 Soothing pastel theme for Ulauncher Ulauncher — Application launcher for Linux 🐧 Steam Deck dock basecamp/omakub: Opinionated Ubuntu Setup From the Circle to Epicycles (Part 1) - An animated introducti… Darren Burns 🌱 on X: “Here’s an early clip of my new (work in … How to Force Dark Mode on Every Website in Google Chrome xxHash - Extremely fast non-cryptographic hash algorithm xxhash · PyPI Replicate — Run AI with an API How to Deliver Code Every Day | Jake Worth Be Fast | Jake Worth Zellij on X: “POV your sysadmin rigged your terminal to show t… Text Decoration - Tailwind CSS Digital Gardening for Non-Technical Folks We have a right to repair! with Kyle Wiens, Founder and CEO at… Try Out the Latest Linux Gnome DE With DistroBox STLGears.com | The Free STL Gear Designer eraser-dev/eraser: 🧹 Cleaning up images from Kubernetes nodes Distrobox Are We Anti-Cheat Yet? ublue-os/image-template: Build your own custom Universal Blue … ublue-os/obs-studio-portable: OCI container image of OBS Studi… How Ahrefs Gets a Billion Dollar-Worth Infrastructure With a 9… Safer Bash Shebang Recipes - Just Programmer’s Manual Justfile Cheat Sheet by linux_china - Download free from Cheat… A quote from Tim Paul PopSQL - Collaborative SQL Editor - Bring Order to SQL Chaos Pricing | PopSQL Dax Raad - SST, Build modern full-stack applications on AWS wi… Install Pokemon TCG Live on Steam Deck - Installation Guide - … Fields - Pydantic Hatch v1.10.0 - Hatch Using journalctl - The Ultimate Guide To Logging Bug #2006590 “gdm3 crashes with SIGTRAP on startup” : Bugs : g… Alir3z4/html2text: Convert HTML to Markdown-formatted text. I Interviewed Uncle Bob - YouTube How an empty S3 bucket can make your AWS bill explode | by Mac… Media Types Network Types - Pydantic rich.panel — Rich 13.6.0 documentation Handling Errors - FastAPI Creating SSH Apps with Charm Wish and Laravel Prompts | Joe Ta… white-space - CSS: Cascading Style Sheets | MDN htmx ~ The response-targets Extension How to Restart All Pods in a Kubernetes Namespace | Boot.dev ⭐⭐⭐⭐⭐ Changelog Master Feed MarkdownDown Boston Dynamics’ new humanoid moves like no robot you’ve ever … Rug pull, not cool! (Changelog & Friends #40) argocd automated sync Manual Upgrades | K3s Devin’s Upwork “side hustle” exposed (Changelog News #90) sql - How can I list the tables in a SQLite database file that… inline-snapshot nalgeon/redka: Redis re-implemented with SQLite Arch Linux - News: The xz package has been backdoored My harpoon config From Vim To Zed - YouTube Use an llm to automagically generate meaningful git commit mes… node.js - How to fix npm throwing error without sudo - Stack O… google chrome - Webkit scrollbar CSS, always a white box in co… Cache Ruins Everything Around Me - YouTube building a youtube tool in 24 hours to prove a point - YouTube Hogwarts Legacy Argyllshire Map: What does the button do? - Do… How can I add my YouTube videos via RSS? - SocialBee Help Docu… sql - SQLite: COUNT slow on big tables - Stack Overflow Optimizing SQLite for servers From Nursing to Programming ft. Trash Puppy | Backend Banter 0… Some Git poll results Sealed Secrets Middleware Explained - YouTube fastapi decorators Simon Willison on X: “TIL Google Chrome has a –headless optio… fastapi https url_for Cassidy on X: “I MADE AN APP ✨ https://t.co/BiyX8XZqDK" / X learning strawberry Joining the split keyboards club: a Moonlander story My workflow, part 1 Using Netlify Analytics to Build a List of Popular Posts - Jim… 605: Jim Nielsen on Subversive URLs, Blogging + AI, and Design… Configure Liveness, Readiness and Startup Probes | Kubernetes docker - Where does the convention of using /healthz for appli… Placehold | A simple, fast and free image placeholder service My New Python Lsp Setup flake8-to-ruff · PyPI searching my thoughts locally lonecraft Formatting codes – Minecraft Wiki jesseduffield/lazydocker: The lazier way to manage everything … I’m Coming Around To Go… - YouTube Creating One-To-Many Relationships in Flask-SQLAlchemy - YouTube python - Concepts of backref and back_populate in SQLalchemy? … 2.5 Admins 180: Email 777 – 2.5 Admins Replace Github Copilot with a Local LLM - YouTube Dawn Gate - The Game that Solved Toxicity - 2 - YouTube I’m Skeptical Of Low Code - YouTube The One Eyed Fighting Kirby Java - ArchWiki charmbracelet/mods: AI on the command line charmbracelet/mods: AI on the command line Gridfinity | The modular, open-source grid storage system for … Read a Range of Data - LIMIT and OFFSET - SQLModel Template Designer Documentation — Jinja Documentation Minecraft Server on Docker (Java Edition) We Finally Agree On Unit Tests - YouTube Mastodon.py — Mastodon.py 1.8.1 documentation bunny.net - The Content Delivery platform that truly Hops! IndieWebify.Me - a guide to getting you on the IndieWeb FastAPI - dependency inside Middleware? - Stack Overflow Handling Errors - FastAPI logs with FastAPI and Uvicorn · Issue #1508 · tiangolo/fastapi How to group FastAPI endpoints in Swagger UI? Waylon Walker (getting focus’d fokais.com) on X: “Bloggers whe… Show some equivalent list comprehensions in filter examples · … nvim: vim.o.cmdheight=0 DataDog/ddqa: Datadog’s QA manager for releases of GitHub repo… ImageMagick – Color Names Adam Wathan on X: “Hear me out. https://t.co/QHkEI6SJYZ" / X Why YOU should write a blog Path Operation Advanced Configuration - FastAPI Protect API docs behind authentication? · Issue #364 · tiangol… Cancel subscriptions | Stripe Documentation Retrieve an upcoming invoice | Stripe API Reference Search | Stripe Documentation Stripe keys and IDs Overworked - YouTube CSS @media print issues with background-color; - Stack Overflow page-break-after - CSS: Cascading Style Sheets | MDN Go by Example How to Build a Website or App Will McGugan on X: “Just a wee thing that came up today. I thi… Sebastián Ramírez on X: “Now @FastAPI has 65k+ GitHub stars! ✨… Separations of Concerns is a Lie - YouTube Pype|Dev🐍 (py-puh-day) on X: “@wtravishubbard Management is ab… Heroicons Uptime Kuma kv - Command | Vault | HashiCorp Developer johanhaleby/kubetail: Bash script to tail Kubernetes logs from… Kubernetes Secrets in 5 Minutes! - YouTube Waylon Walker 🐍 on X: “Which is more complicated” / X Wes Bos on X: “🔥 The stale-while-revalidate header is suuuuuup… htmx ~ Locality of Behaviour (LoB) Creating k8s jobs with python Diagnostic - Neovim docs How to kill process based on the port number in Linux - Linux … mkimuram/k8sviz: Generate Kubernetes architecture diagrams fro… casey/just: 🤖 Just a command runner Translate a Docker Compose File to Kubernetes Resources | Kube… Daniel Nashed’s Blog Kubernetes Persistent Volumes with Deployment and StatefulSet Inspect a Kubernetes PersistentVolumeClaim | Frank Sauerburger Can’t create Secret in Kubernetes: illegal base64 data at inpu… Can I access k3s using just kubectl (no sudo and no k3s comman… Quick-Start Guide | K3s Tailwind Connect 2023 — Keynote - YouTube Episode #433 Litestar: Effortlessly Build Performant APIs - [T… Delete a Postgres Cluster · Fly Docs Twitter Requires full image_urls Has Web Development Regressed? A Conversation with Wes Bos | B… David-Kunz/gen.nvim: Neovim plugin to generate text using LLMs… Ollama sysid/sse-starlette Overflow - Tailwind CSS How To Create a Custom Scrollbar wincent/aspects/dotfiles/files/.zshrc at 85fc42d9e96d408a5b367… Change Autocomplete Styles in WebKit Browsers | CSS-Tricks - C… florimondmanca/arel: Lightweight browser hot reload for Python… Automatic browser reloading in FastAPI Bob Belderbos on X: “Forget Python for a sec, here’s how Vim h… teej dv 🔭 on X: “Hypermedia fixes this HATEOAS gonna hate” / X Open source, not open contribution with Ben Johnson (Changelog… Point-in-time recovery - Wikipedia DjangoCon Europe 2023 | Use SQLite in production - YouTube benbjohnson/litestream: Streaming replication for SQLite. Why I Built Litestream - Litestream I’m All-In on Server-Side SQLite · The Fly Blog LiteFS Cloud: Distributed SQLite with Managed Backups · The Fl… jpillora/installer: One-liner for installing binaries from Git… How to run pods as systemd services with Podman | Enable Sysadmin Pagefind | Pagefind — Static low-bandwidth search at scale Bo Burnham, I mean Miriah, says lower your programming expecta… Simon Willison on X: “Anyone got a lead on a good embedding mo… aca/emmet-ls: Emmet support based on LSP. LLM now provides tools for working with embeddings Formatter htmx ~ The disable-element Extension htmx ~ hx-indicator Attribute The Truth About HTMX | Prime Reacts - YouTube htmx ~ Examples ~ Updating Other Content Bigger Applications - Multiple Files - FastAPI Custom pages and templates - Datasette documentation Preline UI - Tailwind CSS component library | Preline UI, craf… Tailwind CSS Cheat Sheet cURL Command Without Using Cache | Baeldung on Linux SQLite FTS5 Extension sharkdp/bat: A cat clone with wings. sqlite_utils Python library - sqlite-utils How to Format All Files in a Directory with Prettier | by Dr. … simonw/datasette-render-markdown: Datasette plugin for renderi… simonw/shot-scraper: A command-line utility for taking automat… shot-scraper: automated screenshots for documentation, built o… #learning #webdevelopment - YouTube HTML Over The Wire | Hotwire How do I post form data using Curl? Lifecycle Hooks | Vue.js How to Use HTML to Open a Link in a New Tab Create Models with a Many-to-Many Link - SQLModel python - How to use a Pydantic model with Form data in FastAPI… chebykinn/sedmario: NES Super Mario Bros level 1 written in pu… Formatting on save · jose-elias-alvarez/null-ls.nvim Wiki Debugging | pywebview ValueError: Constraint must have a name in alembic 1.10.0 · … Use Alembic Check to check for possible upgrades API — Jinja Documentation API — Jinja Documentation Tailwind CSS Crash Course - YouTube GitHub - wagoodman/dive: A tool for exploring each layer in a … GZIP Compression Test | GiftOfSpeed Read a Range of Data - LIMIT and OFFSET - SQLModel DuckDB vs. MotherDuck — should you switch to the cloud version… Center things - Textual s3-tree · PyPI python - SQLAlchemy ORDER BY DESCENDING? - Stack Overflow kndndrj/nvim-dbee: Interactive database client for neovim Relocating the Docker root directory - IBM Documentation containers/aardvark-dns: Authoritative dns server for A/AAAA c… Podman - ArchWiki TestDisk Step By Step - CGSecurity Using Rich Inspect to interrogate Python objects - Textual Wesley Aptekar-Cassels | Reasons to avoid Javascript CDNs How to Manage ‘Systemd’ Services and Units Using ‘Systemctl’ i… How to fix ZFS pool not importing at boot :: ./techtipsy — Her… Flask Trailing Slashes 404 Deleting Specific Lines in a File with sed or yq htmx ~ The json-enc Extension Header Parameters - FastAPI 1j01/textual-paint: 🎨 MS Paint… in your terminal. Dear Red Hat… featuring Jeff Geerling (Changelog & Friends #… sqlite-utils now supports plugins Session vs Token Authentication in 100 Seconds - YouTube Form Data - FastAPI pywebview Column INSERT/UPDATE Defaults — SQLAlchemy 1.4 Documentation Template Designer Documentation — Jinja Documentation Templates - FastAPI htmx ~ Documentation python 3.x - FastAPI redirection for trailing slash returns no… How to pull from images from docker.io with podman htmx ~ The client-side-templates Extension Static Files - FastAPI HTMX looks pretty neat #coding #javascript - YouTube First-class session support in FastAPI · Issue #754 · tiangolo… Harlequin SQL IDE - DuckDB Python API - DuckDB SQL on Pandas - DuckDB pytest-subtests · PyPI Dark Form python script is not found doyensec/wsrepl: WebSocket REPL for pentesters Doyensec on Twitter: “Announcing wsrepl, the WebSocket testing… Filter Data - WHERE - SQLModel URL Decoding query strings or form parameters in Python | URLD… encodeURIComponent() - JavaScript | MDN LazyVim Installation Python Sucks And I LOVE It | Prime Reacts - YouTube Changelog on Twitter: “🗣️ @kelseyhightower on his demos: That … Chris Coyier on Twitter: “I was unaware of `text-wrap: pretty;… Full-text search - Datasette documentation sqlite-utils command-line tool - sqlite-utils sqlite-utils command-line tool - sqlite-utils jq Cheat Sheet {"feeds":[{"slug":"thoughts-feed","title":"Thoughts","priority":"auto","primary":true,"containsCurrentPost":true,"variants":[{"key":"md","label":"md","href":"/thoughts-feed.md"},{"key":"json","label":"json","href":"/thoughts-feed/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/thoughts-feed/archive/rss.xml"},{"key":"rss","label":"rss","href":"/thoughts-feed/rss.xml"},{"key":"atom","label":"atom","href":"/thoughts-feed/atom.xml"},{"key":"html","label":"html","href":"/thoughts-feed/"},{"key":"simple","label":"simple","href":"/thoughts-feed/simple/"},{"key":"txt","label":"txt","href":"/thoughts-feed.txt"}],"posts":[{"slug":"fixing-the-pr-bottleneck-matt-pocock-aihero","title":"Fixing the PR Bottleneck — Matt Pocock, AIHero","href":"/fixing-the-pr-bottleneck-matt-pocock-aihero/?feed=thoughts-feed"},{"slug":"thought-1033","title":"Claude Opus 5.5 100 HTML Files","href":"/thought-1033/?feed=thoughts-feed"},{"slug":"thought-1032","title":"dax on X: “in the next version of OpenCode we added /btw which…","href":"/thought-1032/?feed=thoughts-feed"},{"slug":"thought-1031","title":"Superlogical Pre-Alpha Demo: CLI - YouTube","href":"/thought-1031/?feed=thoughts-feed"},{"slug":"im-done-with-devices-that-do-everything","title":"I’m done with devices that do everything","href":"/im-done-with-devices-that-do-everything/?feed=thoughts-feed"},{"slug":"state-of-agentic-coding-10-with-armin-and-ben","title":"State of Agentic Coding #10 with Armin and Ben","href":"/state-of-agentic-coding-10-with-armin-and-ben/?feed=thoughts-feed"},{"slug":"lex-speedman-lex-at-2x-guest-at-1x","title":"Lex Speedman — Lex at 2x, guest at 1x","href":"/lex-speedman-lex-at-2x-guest-at-1x/?feed=thoughts-feed"},{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=thoughts-feed"},{"slug":"itrsquos-just-the-carpethellip","title":"It’s just the Carpet…","href":"/itrsquos-just-the-carpethellip/?feed=thoughts-feed","active":true},{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=thoughts-feed"},{"slug":"i-tried-the-os-everyone-says-will-replace-macos","title":"I Tried The OS Everyone Says Will Replace macOS","href":"/i-tried-the-os-everyone-says-will-replace-macos/?feed=thoughts-feed"},{"slug":"thought-1030","title":"/goal is a special command for OpenAI… | justin․searls․co","href":"/thought-1030/?feed=thoughts-feed"},{"slug":"thought-1029","title":"A Calendar View For My Blog - Jim Nielsen’s Blog","href":"/thought-1029/?feed=thoughts-feed"},{"slug":"thought-1028","title":"My Mechanical Keyboards","href":"/thought-1028/?feed=thoughts-feed"},{"slug":"a-quote-from-linus-torvalds","title":"A quote from Linus Torvalds","href":"/a-quote-from-linus-torvalds/?feed=thoughts-feed"},{"slug":"stop-making-tuis","title":"Stop Making TUIs","href":"/stop-making-tuis/?feed=thoughts-feed"},{"slug":"insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned","title":"Insane AMA Penalties! Craig Used For Traction! Unadilla Madness! Canadian Champions Crowned!","href":"/insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned/?feed=thoughts-feed"},{"slug":"im-done-with-terminals","title":"I’m done with terminals","href":"/im-done-with-terminals/?feed=thoughts-feed"},{"slug":"this-diy-datacenter-is-nuts","title":"This DIY Datacenter is NUTS","href":"/this-diy-datacenter-is-nuts/?feed=thoughts-feed"},{"slug":"thought-1027","title":"We BROKE the Golden Rule of Ergonomic Keyboards - YouTube","href":"/thought-1027/?feed=thoughts-feed"},{"slug":"dhh-how-to-build-a-profitable-company-without-losing-control","title":"DHH: How to Build a Profitable Company Without Losing Control","href":"/dhh-how-to-build-a-profitable-company-without-losing-control/?feed=thoughts-feed"},{"slug":"stop-being-skeptical-about-ai-for-development-with-charity-majors","title":"Stop being skeptical about AI for development with Charity Majors","href":"/stop-being-skeptical-about-ai-for-development-with-charity-majors/?feed=thoughts-feed"},{"slug":"thought-1026","title":"A quote from Florian Herrengt","href":"/thought-1026/?feed=thoughts-feed"},{"slug":"thought-1025","title":"Blogging and blog setups — baty.net","href":"/thought-1025/?feed=thoughts-feed"},{"slug":"thought-1024","title":"Heart of Mycelium - Gameplay Trailer - YouTube","href":"/thought-1024/?feed=thoughts-feed"},{"slug":"thought-1023","title":"The Truth About Turning Your Hobby Into a Job","href":"/thought-1023/?feed=thoughts-feed"},{"slug":"thought-1022","title":"Pipes: Blocking Communication - YouTube","href":"/thought-1022/?feed=thoughts-feed"},{"slug":"thought-1021","title":"What happens when your team 5x their token usage - YouTube","href":"/thought-1021/?feed=thoughts-feed"},{"slug":"thought-1020","title":"11 Laws of the Universe - YouTube","href":"/thought-1020/?feed=thoughts-feed"},{"slug":"thought-1019","title":"Post by @thdxr.com — Bluesky","href":"/thought-1019/?feed=thoughts-feed"},{"slug":"thought-1018","title":"XBOX DISC TO DIGITAL COMING SOON #shorts - YouTube","href":"/thought-1018/?feed=thoughts-feed"},{"slug":"thought-1017","title":"Sustainable Augmented Development • Kent Beck • YOW! 2025","href":"/thought-1017/?feed=thoughts-feed"},{"slug":"thought-1016","title":"The Internet I Grew Up With Doesn’t Exist Anymore - cleberg.net","href":"/thought-1016/?feed=thoughts-feed"},{"slug":"thought-1015","title":"Nibelungenlied40 | Book Split Keyboard Design","href":"/thought-1015/?feed=thoughts-feed"},{"slug":"thought-1014","title":"Dumb people lay off - YouTube","href":"/thought-1014/?feed=thoughts-feed"},{"slug":"thought-1013","title":"The Website Specification","href":"/thought-1013/?feed=thoughts-feed"},{"slug":"thought-1012","title":"Revisiting the closed canon","href":"/thought-1012/?feed=thoughts-feed"},{"slug":"thought-1011","title":"On Rendering Diffs :: Pierre Computer Company","href":"/thought-1011/?feed=thoughts-feed"},{"slug":"thought-1010","title":"His presence is still felt in the codebase to this day 😂 #codi…","href":"/thought-1010/?feed=thoughts-feed"},{"slug":"thought-1009","title":"UUID as a service?!","href":"/thought-1009/?feed=thoughts-feed"},{"slug":"thought-1007","title":"Average Theo video be like - YouTube","href":"/thought-1007/?feed=thoughts-feed"},{"slug":"thought-1001","title":"My First Time Hearing Lamb Of God. What Took Me So Long? - You…","href":"/thought-1001/?feed=thoughts-feed"},{"slug":"thought-1000","title":"The Point Of Making Things Is To Make Them - YouTube","href":"/thought-1000/?feed=thoughts-feed"},{"slug":"thought-999","title":"Jonathan Blow Made Me Quit My Job | Prime Reacts - YouTube","href":"/thought-999/?feed=thoughts-feed"},{"slug":"thought-998","title":"Why Agent Harness Layer is DYING - YouTube","href":"/thought-998/?feed=thoughts-feed"},{"slug":"thought-997","title":"Why Agent Harness Layer is DYING - YouTube","href":"/thought-997/?feed=thoughts-feed"},{"slug":"thought-996","title":"The Office | AI Episode | Claude - YouTube","href":"/thought-996/?feed=thoughts-feed"},{"slug":"thought-995","title":"Is Anything Secure? - YouTube","href":"/thought-995/?feed=thoughts-feed"},{"slug":"thought-994","title":"These Layoffs Backfired Instantly (ft. Primeagen) - YouTube","href":"/thought-994/?feed=thoughts-feed"},{"slug":"thought-993","title":"Foo Fighters: Tiny Desk Concert - YouTube","href":"/thought-993/?feed=thoughts-feed"},{"slug":"thought-992","title":"Microsoft Doesn’t Have it in Them to Win - YouTube","href":"/thought-992/?feed=thoughts-feed"}],"totalPosts":906,"prev":{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=thoughts-feed"},"next":{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=thoughts-feed"}},{"slug":"archive","title":"Archive","priority":"auto","primary":true,"containsCurrentPost":true,"variants":[{"key":"md","label":"md","href":"/archive.md"},{"key":"json","label":"json","href":"/archive/feed.json"},{"key":"rss","label":"rss","href":"/archive/rss.xml"},{"key":"atom","label":"atom","href":"/archive/atom.xml"},{"key":"html","label":"html","href":"/archive/"},{"key":"simple","label":"simple","href":"/archive/simple/"},{"key":"txt","label":"txt","href":"/archive.txt"}],"posts":[{"slug":"fixing-the-pr-bottleneck-matt-pocock-aihero","title":"Fixing the PR Bottleneck — Matt Pocock, AIHero","href":"/fixing-the-pr-bottleneck-matt-pocock-aihero/?feed=archive"},{"slug":"the-vomit-prompt","title":"The Vomit Prompt","href":"/the-vomit-prompt/?feed=archive"},{"slug":"shots/i-came-across-a-welded-in-hot-swap-prototype","title":"I Came Across A Welded In Hot Swap Prototype","href":"/shots/i-came-across-a-welded-in-hot-swap-prototype/?feed=archive"},{"slug":"becoming-a-piano-repair-tech","title":"Becoming A Piano Repair Tech","href":"/becoming-a-piano-repair-tech/?feed=archive"},{"slug":"shots/dobby-looking-ominous","title":"Dobby Looking Ominous","href":"/shots/dobby-looking-ominous/?feed=archive"},{"slug":"thought-1033","title":"Claude Opus 5.5 100 HTML Files","href":"/thought-1033/?feed=archive"},{"slug":"thought-1032","title":"dax on X: “in the next version of OpenCode we added /btw which…","href":"/thought-1032/?feed=archive"},{"slug":"ping-77","title":"typesafe jev any good","href":"/ping-77/?feed=archive"},{"slug":"shots/washing-the-agae-off-the-sidewalk-overflow","title":"Washing The Agae Off The Sidewalk Overflow","href":"/shots/washing-the-agae-off-the-sidewalk-overflow/?feed=archive"},{"slug":"shots/rewashing-the-algae-off-the-sidewalk-f26","title":"Rewashing The Algae Off The Sidewalk F26","href":"/shots/rewashing-the-algae-off-the-sidewalk-f26/?feed=archive"},{"slug":"ping-76","title":"Are the ai labs really slowing down?","href":"/ping-76/?feed=archive"},{"slug":"shots/bike-ride-in-my-mando-shirt","title":"Bike Ride In My Mando Shirt","href":"/shots/bike-ride-in-my-mando-shirt/?feed=archive"},{"slug":"thought-1031","title":"Superlogical Pre-Alpha Demo: CLI - YouTube","href":"/thought-1031/?feed=archive"},{"slug":"shots/confident-cat-on-a-rail","title":"Confident Cat On A Rail","href":"/shots/confident-cat-on-a-rail/?feed=archive"},{"slug":"shots/friday-afternoon-americano-at-work","title":"Friday Afternoon Americano At Work","href":"/shots/friday-afternoon-americano-at-work/?feed=archive"},{"slug":"im-done-with-devices-that-do-everything","title":"I’m done with devices that do everything","href":"/im-done-with-devices-that-do-everything/?feed=archive"},{"slug":"state-of-agentic-coding-10-with-armin-and-ben","title":"State of Agentic Coding #10 with Armin and Ben","href":"/state-of-agentic-coding-10-with-armin-and-ben/?feed=archive"},{"slug":"shots/models-app-is-working","title":"Models App Is Working","href":"/shots/models-app-is-working/?feed=archive"},{"slug":"lex-speedman-lex-at-2x-guest-at-1x","title":"Lex Speedman — Lex at 2x, guest at 1x","href":"/lex-speedman-lex-at-2x-guest-at-1x/?feed=archive"},{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=archive"},{"slug":"itrsquos-just-the-carpethellip","title":"It’s just the Carpet…","href":"/itrsquos-just-the-carpethellip/?feed=archive","active":true},{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=archive"},{"slug":"i-tried-the-os-everyone-says-will-replace-macos","title":"I Tried The OS Everyone Says Will Replace macOS","href":"/i-tried-the-os-everyone-says-will-replace-macos/?feed=archive"},{"slug":"lukschangekey-to-change-full-disk-encryption-password","title":"Lukschangekey to change full disk encryption password","href":"/lukschangekey-to-change-full-disk-encryption-password/?feed=archive"},{"slug":"ping-75","title":"Touch dishwasher controls","href":"/ping-75/?feed=archive"},{"slug":"how-to-set-up-a-boot-drive","title":"how to set up a boot drive","href":"/how-to-set-up-a-boot-drive/?feed=archive"},{"slug":"thought-1030","title":"/goal is a special command for OpenAI… | justin․searls․co","href":"/thought-1030/?feed=archive"},{"slug":"thought-1029","title":"A Calendar View For My Blog - Jim Nielsen’s Blog","href":"/thought-1029/?feed=archive"},{"slug":"shots/second-sentinal-final-audience-wish","title":"Second Sentinal Final Audience Wish","href":"/shots/second-sentinal-final-audience-wish/?feed=archive"},{"slug":"shots/second-sentinal-second-encounter","title":"Second Sentinal Second Encounter","href":"/shots/second-sentinal-second-encounter/?feed=archive"},{"slug":"shots/second-sentinal-first-encounter","title":"Second Sentinal First Encounter","href":"/shots/second-sentinal-first-encounter/?feed=archive"},{"slug":"stl-text-lab-update","title":"Stl Text Lab Update","href":"/stl-text-lab-update/?feed=archive"},{"slug":"thought-1028","title":"My Mechanical Keyboards","href":"/thought-1028/?feed=archive"},{"slug":"ping-74","title":"politics in linux","href":"/ping-74/?feed=archive"},{"slug":"ping-73","title":"when did openai bring back the hourly limit","href":"/ping-73/?feed=archive"},{"slug":"a-quote-from-linus-torvalds","title":"A quote from Linus Torvalds","href":"/a-quote-from-linus-torvalds/?feed=archive"},{"slug":"ping-72","title":"second brain slop is dumb","href":"/ping-72/?feed=archive"},{"slug":"stop-making-tuis","title":"Stop Making TUIs","href":"/stop-making-tuis/?feed=archive"},{"slug":"insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned","title":"Insane AMA Penalties! Craig Used For Traction! Unadilla Madness! Canadian Champions Crowned!","href":"/insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned/?feed=archive"},{"slug":"shots/boomer-chat-achiement-unlocked","title":"Boomer Chat Achiement Unlocked","href":"/shots/boomer-chat-achiement-unlocked/?feed=archive"},{"slug":"shots/caps-bed-adhesion","title":"Caps Bed Adhesion","href":"/shots/caps-bed-adhesion/?feed=archive"},{"slug":"shots/cracked-caps","title":"Cracked Caps","href":"/shots/cracked-caps/?feed=archive"},{"slug":"ping-71","title":"agentic engineering takes discipline","href":"/ping-71/?feed=archive"},{"slug":"im-done-with-terminals","title":"I’m done with terminals","href":"/im-done-with-terminals/?feed=archive"},{"slug":"shots/any-guesses-what-im-printing","title":"Any Guesses What I’M Printing","href":"/shots/any-guesses-what-im-printing/?feed=archive"},{"slug":"this-diy-datacenter-is-nuts","title":"This DIY Datacenter is NUTS","href":"/this-diy-datacenter-is-nuts/?feed=archive"},{"slug":"shots/cap-sander-v1","title":"Cap Sander V1","href":"/shots/cap-sander-v1/?feed=archive"},{"slug":"shots/caps-fonts","title":"Caps Fonts","href":"/shots/caps-fonts/?feed=archive"},{"slug":"shots/caps-gets-striped-keys","title":"Caps Gets Striped Keys","href":"/shots/caps-gets-striped-keys/?feed=archive"},{"slug":"thought-1027","title":"We BROKE the Golden Rule of Ergonomic Keyboards - YouTube","href":"/thought-1027/?feed=archive"},{"slug":"shots/caps-views","title":"Caps Views","href":"/shots/caps-views/?feed=archive"}],"totalPosts":2576,"prev":{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=archive"},"next":{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=archive"}},{"slug":"all","title":"All Posts","priority":"auto","containsCurrentPost":true,"variants":[{"key":"md","label":"md","href":"/all.md"},{"key":"json","label":"json","href":"/all/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/all/archive/rss.xml"},{"key":"rss","label":"rss","href":"/all/rss.xml"},{"key":"atom","label":"atom","href":"/all/atom.xml"},{"key":"html","label":"html","href":"/all/"},{"key":"simple","label":"simple","href":"/all/simple/"},{"key":"txt","label":"txt","href":"/all.txt"}],"posts":[{"slug":"thought-1033","title":"Claude Opus 5.5 100 HTML Files","href":"/thought-1033/?feed=all"},{"slug":"thought-1032","title":"dax on X: “in the next version of OpenCode we added /btw which…","href":"/thought-1032/?feed=all"},{"slug":"ping-77","title":"typesafe jev any good","href":"/ping-77/?feed=all"},{"slug":"shots/washing-the-agae-off-the-sidewalk-overflow","title":"Washing The Agae Off The Sidewalk Overflow","href":"/shots/washing-the-agae-off-the-sidewalk-overflow/?feed=all"},{"slug":"shots/rewashing-the-algae-off-the-sidewalk-f26","title":"Rewashing The Algae Off The Sidewalk F26","href":"/shots/rewashing-the-algae-off-the-sidewalk-f26/?feed=all"},{"slug":"2026-09-18-notes","title":"2026-09-18 Notes","href":"/2026-09-18-notes/?feed=all"},{"slug":"ping-76","title":"Are the ai labs really slowing down?","href":"/ping-76/?feed=all"},{"slug":"shots/bike-ride-in-my-mando-shirt","title":"Bike Ride In My Mando Shirt","href":"/shots/bike-ride-in-my-mando-shirt/?feed=all"},{"slug":"2026-09-16-notes","title":"2026-09-16 Notes","href":"/2026-09-16-notes/?feed=all"},{"slug":"thought-1031","title":"Superlogical Pre-Alpha Demo: CLI - YouTube","href":"/thought-1031/?feed=all"},{"slug":"2026-09-14-notes","title":"2026-09-14 Notes","href":"/2026-09-14-notes/?feed=all"},{"slug":"2026-09-13-notes","title":"2026-09-13 Notes","href":"/2026-09-13-notes/?feed=all"},{"slug":"2026-09-12-notes","title":"2026-09-12 Notes","href":"/2026-09-12-notes/?feed=all"},{"slug":"shots/confident-cat-on-a-rail","title":"Confident Cat On A Rail","href":"/shots/confident-cat-on-a-rail/?feed=all"},{"slug":"shots/friday-afternoon-americano-at-work","title":"Friday Afternoon Americano At Work","href":"/shots/friday-afternoon-americano-at-work/?feed=all"},{"slug":"im-done-with-devices-that-do-everything","title":"I’m done with devices that do everything","href":"/im-done-with-devices-that-do-everything/?feed=all"},{"slug":"2026-09-11-notes","title":"2026-09-11 Notes","href":"/2026-09-11-notes/?feed=all"},{"slug":"state-of-agentic-coding-10-with-armin-and-ben","title":"State of Agentic Coding #10 with Armin and Ben","href":"/state-of-agentic-coding-10-with-armin-and-ben/?feed=all"},{"slug":"2026-09-10-notes","title":"2026-09-10 Notes","href":"/2026-09-10-notes/?feed=all"},{"slug":"2026-09-09-notes","title":"2026-09-09 Notes","href":"/2026-09-09-notes/?feed=all"},{"slug":"shots/models-app-is-working","title":"Models App Is Working","href":"/shots/models-app-is-working/?feed=all"},{"slug":"2026-09-08-notes","title":"2026-09-08 Notes","href":"/2026-09-08-notes/?feed=all"},{"slug":"2026-09-07-notes","title":"2026-09-07 Notes","href":"/2026-09-07-notes/?feed=all"},{"slug":"lex-speedman-lex-at-2x-guest-at-1x","title":"Lex Speedman — Lex at 2x, guest at 1x","href":"/lex-speedman-lex-at-2x-guest-at-1x/?feed=all"},{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=all"},{"slug":"itrsquos-just-the-carpethellip","title":"It’s just the Carpet…","href":"/itrsquos-just-the-carpethellip/?feed=all","active":true},{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=all"},{"slug":"2026-09-05-notes","title":"2026-09-05 Notes","href":"/2026-09-05-notes/?feed=all"},{"slug":"i-tried-the-os-everyone-says-will-replace-macos","title":"I Tried The OS Everyone Says Will Replace macOS","href":"/i-tried-the-os-everyone-says-will-replace-macos/?feed=all"},{"slug":"lukschangekey-to-change-full-disk-encryption-password","title":"Lukschangekey to change full disk encryption password","href":"/lukschangekey-to-change-full-disk-encryption-password/?feed=all"},{"slug":"ping-75","title":"Touch dishwasher controls","href":"/ping-75/?feed=all"},{"slug":"how-to-set-up-a-boot-drive","title":"how to set up a boot drive","href":"/how-to-set-up-a-boot-drive/?feed=all"},{"slug":"thought-1030","title":"/goal is a special command for OpenAI… | justin․searls․co","href":"/thought-1030/?feed=all"},{"slug":"thought-1029","title":"A Calendar View For My Blog - Jim Nielsen’s Blog","href":"/thought-1029/?feed=all"},{"slug":"shots/second-sentinal-final-audience-wish","title":"Second Sentinal Final Audience Wish","href":"/shots/second-sentinal-final-audience-wish/?feed=all"},{"slug":"shots/second-sentinal-second-encounter","title":"Second Sentinal Second Encounter","href":"/shots/second-sentinal-second-encounter/?feed=all"},{"slug":"shots/second-sentinal-first-encounter","title":"Second Sentinal First Encounter","href":"/shots/second-sentinal-first-encounter/?feed=all"},{"slug":"stl-text-lab-update","title":"Stl Text Lab Update","href":"/stl-text-lab-update/?feed=all"},{"slug":"thought-1028","title":"My Mechanical Keyboards","href":"/thought-1028/?feed=all"},{"slug":"ping-74","title":"politics in linux","href":"/ping-74/?feed=all"},{"slug":"ping-73","title":"when did openai bring back the hourly limit","href":"/ping-73/?feed=all"},{"slug":"2026-08-27-notes","title":"2026-08-27 Notes","href":"/2026-08-27-notes/?feed=all"},{"slug":"2026-08-25-notes","title":"2026-08-25 Notes","href":"/2026-08-25-notes/?feed=all"},{"slug":"2026-08-23-notes","title":"2026-08-23 Notes","href":"/2026-08-23-notes/?feed=all"},{"slug":"a-quote-from-linus-torvalds","title":"A quote from Linus Torvalds","href":"/a-quote-from-linus-torvalds/?feed=all"},{"slug":"ping-72","title":"second brain slop is dumb","href":"/ping-72/?feed=all"},{"slug":"stop-making-tuis","title":"Stop Making TUIs","href":"/stop-making-tuis/?feed=all"},{"slug":"insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned","title":"Insane AMA Penalties! Craig Used For Traction! Unadilla Madness! Canadian Champions Crowned!","href":"/insane-ama-penalties-craig-used-for-traction-unadilla-madness-canadian-champions-crowned/?feed=all"},{"slug":"shots/boomer-chat-achiement-unlocked","title":"Boomer Chat Achiement Unlocked","href":"/shots/boomer-chat-achiement-unlocked/?feed=all"},{"slug":"shots/caps-bed-adhesion","title":"Caps Bed Adhesion","href":"/shots/caps-bed-adhesion/?feed=all"},{"slug":"shots/cracked-caps","title":"Cracked Caps","href":"/shots/cracked-caps/?feed=all"}],"totalPosts":2630,"prev":{"slug":"i-make-my-own-field-notes-and-it-costs-almost-nothing","title":"I Make My Own Field Notes (and it costs almost nothing)","href":"/i-make-my-own-field-notes-and-it-costs-almost-nothing/?feed=all"},"next":{"slug":"nate-berkopec-nateberkopec-on-x","title":"Nate Berkopec (@nateberkopec) on X","href":"/nate-berkopec-nateberkopec-on-x/?feed=all"}},{"slug":"blog","title":"Blog","priority":"primary","primary":true,"variants":[{"key":"md","label":"md","href":"/blog.md"},{"key":"json","label":"json","href":"/blog/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/blog/archive/rss.xml"},{"key":"rss","label":"rss","href":"/blog/rss.xml"},{"key":"atom","label":"atom","href":"/blog/atom.xml"},{"key":"html","label":"html","href":"/blog/"},{"key":"simple","label":"simple","href":"/blog/simple/"},{"key":"txt","label":"txt","href":"/blog.txt"}],"posts":[{"slug":"the-vomit-prompt","title":"The Vomit Prompt","href":"/the-vomit-prompt/?feed=blog"},{"slug":"becoming-a-piano-repair-tech","title":"Becoming A Piano Repair Tech","href":"/becoming-a-piano-repair-tech/?feed=blog"},{"slug":"stl-text-lab-update","title":"Stl Text Lab Update","href":"/stl-text-lab-update/?feed=blog"},{"slug":"keys-waylonwalker-com","title":"Keys.waylonwalker.com","href":"/keys-waylonwalker-com/?feed=blog"},{"slug":"malicious-aur-packages-jun-2026","title":"Malicious Aur Packages Jun 2026","href":"/malicious-aur-packages-jun-2026/?feed=blog"},{"slug":"prompt-seagulls","title":"Prompt Seagulls","href":"/prompt-seagulls/?feed=blog"},{"slug":"agents-are-never-done","title":"agents are never done","href":"/agents-are-never-done/?feed=blog"},{"slug":"carry","title":"/carry/","href":"/carry/?feed=blog"},{"slug":"i-built-a-tmux-session-switcher","title":"I Built A Tmux Session Switcher","href":"/i-built-a-tmux-session-switcher/?feed=blog"},{"slug":"verify","title":"/verify","href":"/verify/?feed=blog"},{"slug":"top4","title":"/top4","href":"/top4/?feed=blog"},{"slug":"yep","title":"/yep","href":"/yep/?feed=blog"},{"slug":"nope","title":"/nope","href":"/nope/?feed=blog"},{"slug":"first-w-in-brotato","title":"First W In Brotato","href":"/first-w-in-brotato/?feed=blog"},{"slug":"pm-not-babysitter","title":"Pm Not Babysitter","href":"/pm-not-babysitter/?feed=blog"},{"slug":"agent-management-is-exhausting","title":"Agent Management Is Exhausting","href":"/agent-management-is-exhausting/?feed=blog"},{"slug":"stop-using-boomer-ai","title":"Stop Using Boomer Ai","href":"/stop-using-boomer-ai/?feed=blog"},{"slug":"mentions","title":"Mentions","href":"/mentions/?feed=blog"},{"slug":"what-your-coding-tool-says-about-you","title":"What Your Coding Tool Says About You","href":"/what-your-coding-tool-says-about-you/?feed=blog"},{"slug":"dont-trust-users-tokens","title":"Dont Trust Users Tokens","href":"/dont-trust-users-tokens/?feed=blog"},{"slug":"ai","title":"Ai","href":"/ai/?feed=blog"},{"slug":"og-sample","title":"Og-Sample","href":"/og-sample/?feed=blog"},{"slug":"2026-resolutions","title":"2026 Resolutions","href":"/2026-resolutions/?feed=blog"},{"slug":"developer-vs-artist-ai","title":"Developer Vs Artist Ai","href":"/developer-vs-artist-ai/?feed=blog"},{"slug":"the-right-reasons-to-run-kubernetes-in-your-homelab","title":"The Right Reasons To Run Kubernetes In Your Homelab","href":"/the-right-reasons-to-run-kubernetes-in-your-homelab/?feed=blog"},{"slug":"one-year-of-shots","title":"One Year Of Shots","href":"/one-year-of-shots/?feed=blog"},{"slug":"the-wrong-reasons-to-run-kubernetes-in-your-homelab","title":"The Wrong Reasons To Run Kubernetes In Your Homelab","href":"/the-wrong-reasons-to-run-kubernetes-in-your-homelab/?feed=blog"},{"slug":"another-big-cloud-outage-nov-2025","title":"Another Big Cloud Outage Nov 2025","href":"/another-big-cloud-outage-nov-2025/?feed=blog"},{"slug":"3d-printed-corner-clamp","title":"3d-Printed Corner Clamp","href":"/3d-printed-corner-clamp/?feed=blog"},{"slug":"techbrophobic","title":"Techbrophobic","href":"/techbrophobic/?feed=blog"},{"slug":"mcat-anything","title":"Mcat Anything","href":"/mcat-anything/?feed=blog"},{"slug":"missing-thoughts-on-main","title":"Missing Thoughts","href":"/missing-thoughts-on-main/?feed=blog"},{"slug":"rules","title":"Rules","href":"/rules/?feed=blog"},{"slug":"first-3d-printed-threads","title":"First 3d Printed Threads","href":"/first-3d-printed-threads/?feed=blog"},{"slug":"3d-printing-dovetails-experiment","title":"3d Printing Dovetails Experiment","href":"/3d-printing-dovetails-experiment/?feed=blog"},{"slug":"python-extras-are-for-shipping","title":"python extras are for shipping","href":"/python-extras-are-for-shipping/?feed=blog"},{"slug":"kraft-coordinates","title":"Kraft-Coordinates","href":"/kraft-coordinates/?feed=blog"},{"slug":"shots-get-an-upgrade","title":"Shots Get An Upgrade To the Main Feed","href":"/shots-get-an-upgrade/?feed=blog"},{"slug":"zmk-two-hand-hold-down","title":"zmk two hand hold down","href":"/zmk-two-hand-hold-down/?feed=blog"},{"slug":"why-make-a-website-in-2025","title":"Why Make a Website in 2025","href":"/why-make-a-website-in-2025/?feed=blog"},{"slug":"store","title":"store","href":"/store/?feed=blog"},{"slug":"when-to-vibe-code","title":"When To Vibe Code","href":"/when-to-vibe-code/?feed=blog"},{"slug":"keycap-cut-away","title":"Keycap Cut Away","href":"/keycap-cut-away/?feed=blog"},{"slug":"knife-sharpener-small-upgrade","title":"Knife Sharpener Small Upgrade","href":"/knife-sharpener-small-upgrade/?feed=blog"},{"slug":"im-out-on-agents","title":"I’m Out On Agents","href":"/im-out-on-agents/?feed=blog"},{"slug":"trying-forgejo","title":"trying forgejo","href":"/trying-forgejo/?feed=blog"},{"slug":"blender-donut-tutorial-2025","title":"blender donut tutorial 2025","href":"/blender-donut-tutorial-2025/?feed=blog"},{"slug":"command-palettes-are-overrated","title":"command palettes are overrated","href":"/command-palettes-are-overrated/?feed=blog"},{"slug":"just-fucking-use-kubernetes","title":"just fucking use kubernetes","href":"/just-fucking-use-kubernetes/?feed=blog"},{"slug":"markata-parallel-render","title":"markata parallel render","href":"/markata-parallel-render/?feed=blog"},{"slug":"principal-engineer-at-meta","title":"principal-engineer-at-meta","href":"/principal-engineer-at-meta/?feed=blog"},{"slug":"csv","title":"csv","href":"/csv/?feed=blog"},{"slug":"perfect","title":"perfect","href":"/perfect/?feed=blog"},{"slug":"just","title":"just","href":"/just/?feed=blog"},{"slug":"kraft","title":"kraft","href":"/kraft/?feed=blog"},{"slug":"my-nvim-spellcheck-setup","title":"my nvim spellcheck setup","href":"/my-nvim-spellcheck-setup/?feed=blog"},{"slug":"wants","title":"/wants","href":"/wants/?feed=blog"},{"slug":"linux-is-about-choice","title":"Linux Is About Choice","href":"/linux-is-about-choice/?feed=blog"},{"slug":"tinyapps","title":"tinyapps","href":"/tinyapps/?feed=blog"},{"slug":"m9a-devlog-1","title":"m9a devlog 1","href":"/m9a-devlog-1/?feed=blog"},{"slug":"hollow-knight-home-row-layout","title":"hollow knight home row layout","href":"/hollow-knight-home-row-layout/?feed=blog"},{"slug":"portal-platformer-devlog-1","title":"portal-platformer-devlog-1","href":"/portal-platformer-devlog-1/?feed=blog"},{"slug":"backup-distrobox-image","title":"backup distrobox image","href":"/backup-distrobox-image/?feed=blog"},{"slug":"changing-k8s-storage-class-migration-job","title":"Changing k8s Storage Class - Migration Job","href":"/changing-k8s-storage-class-migration-job/?feed=blog"},{"slug":"new-phone-day-apr-2-2025","title":"New Phone Day Apr 2 2025","href":"/new-phone-day-apr-2-2025/?feed=blog"},{"slug":"homelab-drive-ids","title":"homelab drive ids","href":"/homelab-drive-ids/?feed=blog"},{"slug":"thps-1-downtown-gaps","title":"THPS 1 Downtown Gaps","href":"/thps-1-downtown-gaps/?feed=blog"},{"slug":"thps-1-skate-park-gaps","title":"THPS 1 Skate Park Gaps","href":"/thps-1-skate-park-gaps/?feed=blog"},{"slug":"trailmakers-pioneers","title":"Trailmakers Pioneers","href":"/trailmakers-pioneers/?feed=blog"},{"slug":"thps-1-school-gaps","title":"THPS 1 School Gaps","href":"/thps-1-school-gaps/?feed=blog"},{"slug":"thps-1-mall-gaps","title":"THPS 1 Mall Gaps","href":"/thps-1-mall-gaps/?feed=blog"},{"slug":"thps-1-warehouse-gaps","title":"THPS 1 Warehouse Gaps","href":"/thps-1-warehouse-gaps/?feed=blog"},{"slug":"fragmention","title":"fragmention","href":"/fragmention/?feed=blog"},{"slug":"fixed-long-standing-nvim-startup-error","title":"fixed long standing nvim startup error","href":"/fixed-long-standing-nvim-startup-error/?feed=blog"},{"slug":"setting-up-4g-backup-with-google-fi-and-netgear-lm1200","title":"Setting up 4G Backup with Google Fi and Netgear LM1200","href":"/setting-up-4g-backup-with-google-fi-and-netgear-lm1200/?feed=blog"},{"slug":"ahrefs-cleanup-2024","title":"ahrefs-cleanup-2024","href":"/ahrefs-cleanup-2024/?feed=blog"},{"slug":"dst-session-one","title":"dst session one","href":"/dst-session-one/?feed=blog"},{"slug":"markdown-split-panel","title":"markdown split panel","href":"/markdown-split-panel/?feed=blog"},{"slug":"make-minio-access-key","title":"Make MinIO Access Key","href":"/make-minio-access-key/?feed=blog"},{"slug":"markta-0-8-0","title":"markata 0.8.0","href":"/markta-0-8-0/?feed=blog"},{"slug":"markata-0-8-0","title":"markata 0.8.0","href":"/markata-0-8-0/?feed=blog"},{"slug":"markata-search","title":"markata search","href":"/markata-search/?feed=blog"},{"slug":"markata-didyoumean","title":"Markata DidYouMean","href":"/markata-didyoumean/?feed=blog"},{"slug":"cold-builds","title":"cold builds","href":"/cold-builds/?feed=blog"},{"slug":"pesos","title":"pesos","href":"/pesos/?feed=blog"},{"slug":"hover-z-index-and-positioning","title":"hover z-index and positioning","href":"/hover-z-index-and-positioning/?feed=blog"},{"slug":"analytics","title":"analytics","href":"/analytics/?feed=blog"},{"slug":"i-fixed-lists-in-my-blog","title":"I fixed lists in my blog","href":"/i-fixed-lists-in-my-blog/?feed=blog"},{"slug":"a-night-of-rounds","title":"a night of rounds","href":"/a-night-of-rounds/?feed=blog"},{"slug":"wondercraft-session-one","title":"wondercraft session one","href":"/wondercraft-session-one/?feed=blog"},{"slug":"nvim-manager","title":"nvim-manager","href":"/nvim-manager/?feed=blog"},{"slug":"now","title":"/now","href":"/now/?feed=blog"},{"slug":"one-shot-s3-cleanup","title":"one-shot-s3-cleanup","href":"/one-shot-s3-cleanup/?feed=blog"},{"slug":"we-beat-trailmakers","title":"we beat trailmakers","href":"/we-beat-trailmakers/?feed=blog"},{"slug":"start","title":"/start","href":"/start/?feed=blog"},{"slug":"slow-nfs-performance","title":"slow nfs performance","href":"/slow-nfs-performance/?feed=blog"},{"slug":"colophon","title":"/colophon","href":"/colophon/?feed=blog"},{"slug":"setting-up-ucore-zfs","title":"setting up ucore-zfs","href":"/setting-up-ucore-zfs/?feed=blog"},{"slug":"thoughts-0-0-4","title":"thoughts 0.0.4","href":"/thoughts-0-0-4/?feed=blog"},{"slug":"trying-n8n","title":"Trying-n8n","href":"/trying-n8n/?feed=blog"},{"slug":"new-caps-for-porta-john","title":"New-caps-for-porta-john","href":"/new-caps-for-porta-john/?feed=blog"},{"slug":"blogging-in-2024","title":"blogging in 2024","href":"/blogging-in-2024/?feed=blog"},{"slug":"trying-obsidian","title":"Trying Obsidian","href":"/trying-obsidian/?feed=blog"},{"slug":"animal-well-codes","title":"animal well codes","href":"/animal-well-codes/?feed=blog"},{"slug":"kind-cluster","title":"kind cluster","href":"/kind-cluster/?feed=blog"},{"slug":"learning-2024","title":"What I’m learning in 2024","href":"/learning-2024/?feed=blog"},{"slug":"refactoring-into-wikilinks","title":"Refactoring one line links into wikilinks","href":"/refactoring-into-wikilinks/?feed=blog"},{"slug":"about-this-site","title":"about this site","href":"/about-this-site/?feed=blog"},{"slug":"sick-wikilink-hover","title":"sick wikilink hover","href":"/sick-wikilink-hover/?feed=blog"},{"slug":"markata","title":"markata","href":"/markata/?feed=blog"},{"slug":"my-linked-in-work-history","title":"my linked in work history","href":"/my-linked-in-work-history/?feed=blog"},{"slug":"your-linkedin-is-garbage","title":"Your LinkedIn is Garbage","href":"/your-linkedin-is-garbage/?feed=blog"},{"slug":"odb-play-outside","title":"One Day Build - Play Outside","href":"/odb-play-outside/?feed=blog"},{"slug":"feeds","title":"feeds","href":"/feeds/?feed=blog"},{"slug":"thoughts","title":"Thoughts","href":"/thoughts/?feed=blog"},{"slug":"kubernetes-6-months-in","title":"kubernetes 6 months in","href":"/kubernetes-6-months-in/?feed=blog"},{"slug":"poc-is-not-product","title":"poc is not product","href":"/poc-is-not-product/?feed=blog"},{"slug":"thoughts-on-unit-tests","title":"thoughts on unit tests","href":"/thoughts-on-unit-tests/?feed=blog"},{"slug":"looking-for-a-heroku-replacement","title":"Looking for a Heroku replacement, What I found was shocking!","href":"/looking-for-a-heroku-replacement/?feed=blog"},{"slug":"why-is-postgres-default","title":"why-is-postgres-default","href":"/why-is-postgres-default/?feed=blog"},{"slug":"a-case-for-tailwindcss","title":"A Case For Tailwindcss","href":"/a-case-for-tailwindcss/?feed=blog"},{"slug":"make-the-easy-things-easy","title":"Make the easy things easy","href":"/make-the-easy-things-easy/?feed=blog"},{"slug":"underground-bases-with-wyatt","title":"Underground Bases with Wyatt","href":"/underground-bases-with-wyatt/?feed=blog"},{"slug":"i-took-a-break","title":"I took a break","href":"/i-took-a-break/?feed=blog"},{"slug":"playing-sw-text-adventure-10-yr-old","title":"Playing Star Wars Text Adventure with a 10 yr old","href":"/playing-sw-text-adventure-10-yr-old/?feed=blog"},{"slug":"pydantic-and-singledispatch","title":"Pydantic and singledispatch","href":"/pydantic-and-singledispatch/?feed=blog"},{"slug":"minecraft-documentary","title":"minecraft documentary","href":"/minecraft-documentary/?feed=blog"},{"slug":"packages-i-maintain","title":"Packages I Maintain","href":"/packages-i-maintain/?feed=blog"},{"slug":"talk-python-kedro","title":"I was on Talk Python","href":"/talk-python-kedro/?feed=blog"},{"slug":"switched-to-arch","title":"The one reason I switched to arch","href":"/switched-to-arch/?feed=blog"},{"slug":"markata-todoui-live-replay-4-6-2022","title":"LIVE-REPLAY - Python dev | Markata todoui | 4/6/2022","href":"/markata-todoui-live-replay-4-6-2022/?feed=blog"},{"slug":"screenshot-to-blog","title":"How I Quickly Capture Screenshots directly into My Blog","href":"/screenshot-to-blog/?feed=blog"},{"slug":"update-copier","title":"Copier \u003c 6.0.0b0 considered dangerous","href":"/update-copier/?feed=blog"},{"slug":"pyohio-cfp","title":"PyOhio CFP’s","href":"/pyohio-cfp/?feed=blog"},{"slug":"python-functools-total-ordering","title":"python functools total ordering","href":"/python-functools-total-ordering/?feed=blog"},{"slug":"pyflyby","title":"Smoother Python with automatic imports | pyflyby","href":"/pyflyby/?feed=blog"},{"slug":"vim-augroup","title":"You must use augroup with autocmd in vim | Here’s how","href":"/vim-augroup/?feed=blog"},{"slug":"diffurcate","title":"Code Review from the comfort of vim | Diffurcate","href":"/diffurcate/?feed=blog"},{"slug":"setup-yamlls","title":"Setup a yaml schema | yamlls for a silky smooth setup","href":"/setup-yamlls/?feed=blog"},{"slug":"fuzzy-edit-zsh","title":"Open files FAST from zsh | or bash if thats your thing","href":"/fuzzy-edit-zsh/?feed=blog"},{"slug":"install-nvim-skit","title":"How linux users install a text editor","href":"/install-nvim-skit/?feed=blog"},{"slug":"dotfile-rice-challenge-intro","title":"30 days dotfile ricing","href":"/dotfile-rice-challenge-intro/?feed=blog"},{"slug":"jut","title":"JUT | Read Notebooks in the Terminal","href":"/jut/?feed=blog"},{"slug":"about","title":"Waylon Walker","href":"/about/?feed=blog"},{"slug":"kedro-catalog-create-cli","title":"kedro catalog create","href":"/kedro-catalog-create-cli/?feed=blog"},{"slug":"nvim-ides-are-slow","title":"nvim conf 2021 | IDE’s are slow | Waylon Walker","href":"/nvim-ides-are-slow/?feed=blog"},{"slug":"ipython-help","title":"Just Ask Ipython for help","href":"/ipython-help/?feed=blog"},{"slug":"hacktoberfest-2021","title":"Hacktoberfest 2021?","href":"/hacktoberfest-2021/?feed=blog"},{"slug":"telegraph-release","title":"I made a neovim plugin","href":"/telegraph-release/?feed=blog"},{"slug":"kedro-parameters","title":"Setting Parameters in kedro","href":"/kedro-parameters/?feed=blog"},{"slug":"kedro-your-first-nodes","title":"Writing your first kedro Nodes","href":"/kedro-your-first-nodes/?feed=blog"},{"slug":"kedro-run","title":"Running your Kedro Pipeline from the command line","href":"/kedro-run/?feed=blog"},{"slug":"kedro-environment","title":"kedro Virtual Environment","href":"/kedro-environment/?feed=blog"},{"slug":"kedro-install","title":"Kedro Install","href":"/kedro-install/?feed=blog"},{"slug":"kedro-git-init","title":"Kedro Git Init","href":"/kedro-git-init/?feed=blog"},{"slug":"kedro-new","title":"Kedro New","href":"/kedro-new/?feed=blog"},{"slug":"what-is-kedro","title":"What is Kedro","href":"/what-is-kedro/?feed=blog"},{"slug":"how-i-kedro","title":"How I Kedro","href":"/how-i-kedro/?feed=blog"},{"slug":"tmux-show-messages","title":"tmux show-messages","href":"/tmux-show-messages/?feed=blog"},{"slug":"tmux-ta","title":"tmux ta","href":"/tmux-ta/?feed=blog"},{"slug":"tmux-display-message","title":"tmux display-message","href":"/tmux-display-message/?feed=blog"},{"slug":"tmux-killing-tmux","title":"killing tmux","href":"/tmux-killing-tmux/?feed=blog"},{"slug":"tmux-has-session","title":"tmux has-session","href":"/tmux-has-session/?feed=blog"},{"slug":"tmux-list-keys","title":"tmux list-keys","href":"/tmux-list-keys/?feed=blog"},{"slug":"tmux-status-bar","title":"tmux status-bar","href":"/tmux-status-bar/?feed=blog"},{"slug":"tmux-source-file","title":"tmux source-file","href":"/tmux-source-file/?feed=blog"},{"slug":"tmux-fzf-session-jump","title":"tmux fzf session jumper","href":"/tmux-fzf-session-jump/?feed=blog"},{"slug":"tmux-next-prev-session","title":"tmux next/prev session","href":"/tmux-next-prev-session/?feed=blog"},{"slug":"tmux-start-application","title":"tmux start application","href":"/tmux-start-application/?feed=blog"},{"slug":"tmux-rename-session","title":"tmux rename session","href":"/tmux-rename-session/?feed=blog"},{"slug":"tmux-targeted-session","title":"tmux targeted session","href":"/tmux-targeted-session/?feed=blog"},{"slug":"tmux-new-session","title":"tmux new-session","href":"/tmux-new-session/?feed=blog"},{"slug":"tmux-detach","title":"tmux detach","href":"/tmux-detach/?feed=blog"},{"slug":"tmux-attach","title":"tmux attach","href":"/tmux-attach/?feed=blog"},{"slug":"git-in-depth","title":"Git in Depth Notes","href":"/git-in-depth/?feed=blog"},{"slug":"tmux-ls","title":"tmux ls","href":"/tmux-ls/?feed=blog"},{"slug":"tmux-command-line","title":"tmux command line","href":"/tmux-command-line/?feed=blog"},{"slug":"tmux-copy-mode","title":"tmux copy-mode","href":"/tmux-copy-mode/?feed=blog"},{"slug":"tmux-join-pane","title":"tmux join-pane","href":"/tmux-join-pane/?feed=blog"},{"slug":"break-pane","title":"tmux break-pane","href":"/break-pane/?feed=blog"},{"slug":"tmux-zoom","title":"tmux zoom","href":"/tmux-zoom/?feed=blog"},{"slug":"tmux-new-window","title":"tmux new-window","href":"/tmux-new-window/?feed=blog"},{"slug":"tmux-select-pane","title":"tmux slect-pane","href":"/tmux-select-pane/?feed=blog"},{"slug":"tmux-rotate-window","title":"tmux rotate-window","href":"/tmux-rotate-window/?feed=blog"},{"slug":"tmux-select-layout","title":"tmux select-layout","href":"/tmux-select-layout/?feed=blog"},{"slug":"tmux-resize-panes","title":"tmux resize-panes","href":"/tmux-resize-panes/?feed=blog"},{"slug":"tmux-choose-tree","title":"tmux choose-tree","href":"/tmux-choose-tree/?feed=blog"},{"slug":"tmux-prefix","title":"tmux prefix","href":"/tmux-prefix/?feed=blog"},{"slug":"tmux-splitting-panes","title":"tmux splitting panes","href":"/tmux-splitting-panes/?feed=blog"},{"slug":"tmux-last-session","title":"tmux last session","href":"/tmux-last-session/?feed=blog"},{"slug":"tmux-floating-popups","title":"tmux floating popups","href":"/tmux-floating-popups/?feed=blog"},{"slug":"tmux-popups","title":"tmux popups","href":"/tmux-popups/?feed=blog"},{"slug":"kedro-incremental-versioned-datasets","title":"Incremental Versioned Datasets in Kedro","href":"/kedro-incremental-versioned-datasets/?feed=blog"},{"slug":"start-streaming","title":"I Started Streaming on Twitch","href":"/start-streaming/?feed=blog"},{"slug":"kedro-spaceflights-stream2","title":"Kedro Spaceflights - part 2 | Stream replay June 7, 2021","href":"/kedro-spaceflights-stream2/?feed=blog"},{"slug":"digital-gardening-stream-6-6-2021","title":"🌱 Digital Gardening | gif to Mp4 | Stream replay June 4, 2021","href":"/digital-gardening-stream-6-6-2021/?feed=blog"},{"slug":"kedro-spaceflights-stream1","title":"Kedro Spaceflights - part 1 | Stream replay June 4, 2021","href":"/kedro-spaceflights-stream1/?feed=blog"},{"slug":"kedro-in-scripts","title":"Using Kedro In Scripts","href":"/kedro-in-scripts/?feed=blog"},{"slug":"kedro-silence","title":"Silence Kedro Logs","href":"/kedro-silence/?feed=blog"},{"slug":"locked_diskcache","title":"Python Diskcahe is locked","href":"/locked_diskcache/?feed=blog"},{"slug":"tmux-nav-2021","title":"How I navigate tmux in 2021","href":"/tmux-nav-2021/?feed=blog"},{"slug":"trim-branches","title":"Trim unused git branches","href":"/trim-branches/?feed=blog"},{"slug":"if_name_main","title":"What is if name == “main_”, and how do I use it.","href":"/if_name_main/?feed=blog"},{"slug":"symlink-gallery","title":"Create a Virtual File Gallery with Symlinks","href":"/symlink-gallery/?feed=blog"},{"slug":"install-micromamba","title":"How to Install micromamba on linux (from the comamnd line only)","href":"/install-micromamba/?feed=blog"},{"slug":"vim-wsl-clipboard","title":"Vim Wsl Clipboard","href":"/vim-wsl-clipboard/?feed=blog"},{"slug":"kedro172_replit","title":"kedro replit","href":"/kedro172_replit/?feed=blog"},{"slug":"pytest-capsys","title":"Pytest capsys","href":"/pytest-capsys/?feed=blog"},{"slug":"markata-dev-server","title":"Building Rich a Dev Server","href":"/markata-dev-server/?feed=blog"},{"slug":"site-down-during-build","title":"Site Down During Build","href":"/site-down-during-build/?feed=blog"},{"slug":"kedro-pipeline-registry","title":"Kedro pipeline_registry.py","href":"/kedro-pipeline-registry/?feed=blog"},{"slug":"stand-with-your-team","title":"Stand With Your Team","href":"/stand-with-your-team/?feed=blog"},{"slug":"blogging-for-me","title":"Blogging For Me","href":"/blogging-for-me/?feed=blog"},{"slug":"minimal-kedro-pipeline","title":"Minimal Kedro Pipeline","href":"/minimal-kedro-pipeline/?feed=blog"},{"slug":"markdown-cli","title":"Markdown Cli","href":"/markdown-cli/?feed=blog"},{"slug":"2021-content-strategy","title":"My Content Strategy For 2021","href":"/2021-content-strategy/?feed=blog"},{"slug":"quickly-edit-posts","title":"Quickly Edit Posts","href":"/quickly-edit-posts/?feed=blog"},{"slug":"gitui-slides","title":"Gitui is a blazing fast terminal git interface","href":"/gitui-slides/?feed=blog"},{"slug":"gitui","title":"Gitui is a blazing fast terminal git interface","href":"/gitui/?feed=blog"},{"slug":"kedro-pickle","title":"Kedro - My Data Is Not A Table","href":"/kedro-pickle/?feed=blog"},{"slug":"quickly-change-conda-env-with-fzf","title":"Quickly Change Conda Env With Fzf","href":"/quickly-change-conda-env-with-fzf/?feed=blog"},{"slug":"vim-replace-visual-star","title":"Vim Replace Visual Star","href":"/vim-replace-visual-star/?feed=blog"},{"slug":"minimal-python-package","title":"Minimal Python Package","href":"/minimal-python-package/?feed=blog"},{"slug":"if-tmux","title":"If Tmux","href":"/if-tmux/?feed=blog"},{"slug":"save-vim-macro","title":"Save Vim Macro","href":"/save-vim-macro/?feed=blog"},{"slug":"neovim-live-substitution","title":"Live Substitution In Neovim","href":"/neovim-live-substitution/?feed=blog"},{"slug":"newsboat","title":"Newsboat","href":"/newsboat/?feed=blog"},{"slug":"refactor-in-cli","title":"Large Refactor At The Command Line","href":"/refactor-in-cli/?feed=blog"},{"slug":"ipython-config","title":"Ipython-Config","href":"/ipython-config/?feed=blog"},{"slug":"custom-ipython-prompt","title":"Custom Ipython Prompt","href":"/custom-ipython-prompt/?feed=blog"},{"slug":"automating-my-post-starter","title":"Automating my Post Starter","href":"/automating-my-post-starter/?feed=blog"},{"slug":"more-itertools-windowed","title":"Windowing Python Lists","href":"/more-itertools-windowed/?feed=blog"},{"slug":"audio-for-blog","title":"Adding Audio to my blog posts","href":"/audio-for-blog/?feed=blog"},{"slug":"gatsby-remark-embedder","title":"gatsby-remark-embedder","href":"/gatsby-remark-embedder/?feed=blog"},{"slug":"expand-one-line-links","title":"Expand One Line Links","href":"/expand-one-line-links/?feed=blog"},{"slug":"reasons-to-kedro","title":"reasons-to-kedro","href":"/reasons-to-kedro/?feed=blog"},{"slug":"whats-new-in-kedro-0166","title":"What’s New in Kedro 0.16.6","href":"/whats-new-in-kedro-0166/?feed=blog"},{"slug":"stories_10-10-2020_10-21-2020","title":"A brain dump of stories","href":"/stories_10-10-2020_10-21-2020/?feed=blog"},{"slug":"fix-git-commit-author","title":"Fix git commit author","href":"/fix-git-commit-author/?feed=blog"},{"slug":"designing-kedro-router","title":"Designing a “Router” for kedro","href":"/designing-kedro-router/?feed=blog"},{"slug":"reset-ipython","title":"Reclaim memory usage in Jupyter","href":"/reset-ipython/?feed=blog"},{"slug":"strip-trailing-whitespace","title":"Strip Trailing Whitespace from Git projects","href":"/strip-trailing-whitespace/?feed=blog"},{"slug":"chrome-extensions-i-use","title":"Chrome Extensions I use","href":"/chrome-extensions-i-use/?feed=blog"},{"slug":"reusable-bash","title":"Creating Reusable Bash Scripts","href":"/reusable-bash/?feed=blog"},{"slug":"3-things-to-automate-with-python","title":"Three things to Automate with Python using Pandas","href":"/3-things-to-automate-with-python/?feed=blog"},{"slug":"install-miniconda","title":"How to Install miniconda on linux (from the command line only)","href":"/install-miniconda/?feed=blog"},{"slug":"crush-dev-to-posts","title":"How to crush amazing posts on DEV","href":"/crush-dev-to-posts/?feed=blog"},{"slug":"pariss-athena-on-black-tech-pipeline","title":"Black Tech Pipeline","href":"/pariss-athena-on-black-tech-pipeline/?feed=blog"},{"slug":"git-auto-commit-action-review","title":"Review of the git-auto-commit-action","href":"/git-auto-commit-action-review/?feed=blog"},{"slug":"whats-new-in-kedro-0164","title":"What’s New in Kedro 0.16.4","href":"/whats-new-in-kedro-0164/?feed=blog"},{"slug":"testproject-io-py-actions","title":"Integration testing with Python, TestProject.io, and GitHub Actions","href":"/testproject-io-py-actions/?feed=blog"},{"slug":"practice-python-online","title":"🐍 Practice Python Online","href":"/practice-python-online/?feed=blog"},{"slug":"how-python-tools-config","title":"How python tools configure","href":"/how-python-tools-config/?feed=blog"},{"slug":"edit-on-github","title":"Edit On GitHub","href":"/edit-on-github/?feed=blog"},{"slug":"why-use-cms","title":"Why use a cms","href":"/why-use-cms/?feed=blog"},{"slug":"parsing-rss-python","title":"🐍 Parsing RSS feeds with Python","href":"/parsing-rss-python/?feed=blog"},{"slug":"whats-on-your-github-profile","title":"🤓 What’s on your GitHub Profile","href":"/whats-on-your-github-profile/?feed=blog"},{"slug":"explain-twitter-cards","title":"🙋‍♂️ Can Anyone Explain Twitter Cards to me?","href":"/explain-twitter-cards/?feed=blog"},{"slug":"my-github-profile","title":"How I Built My GitHub Profile","href":"/my-github-profile/?feed=blog"},{"slug":"python-args-kwargs-slides","title":"SLIDES - understanding python \\*args and \\*\\*kwargs","href":"/python-args-kwargs-slides/?feed=blog"},{"slug":"graceful-kedro-catalog","title":"Gracefully adopt kedro, the catalog","href":"/graceful-kedro-catalog/?feed=blog"},{"slug":"kedro-catalog-search","title":"How to find things in your kedro catalog","href":"/kedro-catalog-search/?feed=blog"},{"slug":"eight-years-cat","title":"My first eight years as a working professional.","href":"/eight-years-cat/?feed=blog"},{"slug":"kedro-inputs","title":"How Kedro handles your inputs","href":"/kedro-inputs/?feed=blog"},{"slug":"master-no-more","title":"Master No More","href":"/master-no-more/?feed=blog"},{"slug":"gracefully-redirect","title":"Refactoring your blog urls","href":"/gracefully-redirect/?feed=blog"},{"slug":"python-args-kwargs","title":"understanding python \\*args and \\*\\*kwargs","href":"/python-args-kwargs/?feed=blog"},{"slug":"pre-commit-is-awesome","title":"pre-commit is awesome","href":"/pre-commit-is-awesome/?feed=blog"},{"slug":"building-kedro-dev","title":"Building kedro.dev","href":"/building-kedro-dev/?feed=blog"},{"slug":"kedro-static-viz-0-3-0","title":"Kedro Static Viz 0.3.0 is out with Hooks Support","href":"/kedro-static-viz-0-3-0/?feed=blog"},{"slug":"kedro-class-hooks","title":"Create Configurable Kedro Hooks","href":"/kedro-class-hooks/?feed=blog"},{"slug":"brainstorming-kedro-hooks","title":"Brainstorming Kedro Hooks","href":"/brainstorming-kedro-hooks/?feed=blog"},{"slug":"devto-comments-from-url","title":"How to get Dev Comments from an article Url","href":"/devto-comments-from-url/?feed=blog"},{"slug":"four-github-actions-website","title":"Four github actions for your website","href":"/four-github-actions-website/?feed=blog"},{"slug":"create-custom-kedro-dataset","title":"Create Custom Kedro Dataset","href":"/create-custom-kedro-dataset/?feed=blog"},{"slug":"interrogate","title":"Interrogate is a pretty awesome, brand new, cli for Python packages","href":"/interrogate/?feed=blog"},{"slug":"drawing-ascii-boxes","title":"drawing ascii boxes","href":"/drawing-ascii-boxes/?feed=blog"},{"slug":"creating-the-kedro-preflight-hook","title":"creating the kedro-preflight hook","href":"/creating-the-kedro-preflight-hook/?feed=blog"},{"slug":"find-kedro-release","title":"📢 Announcing find-kedro","href":"/find-kedro-release/?feed=blog"},{"slug":"explicit-vs-implicit-returns-in-javascript","title":"Explicit vs Implicit Returns in Javascript","href":"/explicit-vs-implicit-returns-in-javascript/?feed=blog"},{"slug":"bind-dynamic-lambdas","title":"TIL: Bind arguments to dynamically generated lambdas in python","href":"/bind-dynamic-lambdas/?feed=blog"},{"slug":"four-github-actions-python","title":"Four Github Actions for Python","href":"/four-github-actions-python/?feed=blog"},{"slug":"variable-names-don-t-need-their-type","title":"Variables names don’t need their type","href":"/variable-names-don-t-need-their-type/?feed=blog"},{"slug":"send-email-with-github-actions","title":"Send Emails with GitHub Actions","href":"/send-email-with-github-actions/?feed=blog"},{"slug":"what-are-github-actions","title":"What Are GitHub Actions","href":"/what-are-github-actions/?feed=blog"},{"slug":"github-actions-syntax","title":"Getting Started with GitHub Actions","href":"/github-actions-syntax/?feed=blog"},{"slug":"git-diff-branches","title":"Today I learned git diff feature..main","href":"/git-diff-branches/?feed=blog"},{"slug":"create-new-kedro-project","title":"Create New Kedro Project","href":"/create-new-kedro-project/?feed=blog"},{"slug":"data-scientist-advice","title":"What is YOUR Advice for New Data Scientists","href":"/data-scientist-advice/?feed=blog"},{"slug":"do-you-hoist","title":"Do You Hoist","href":"/do-you-hoist/?feed=blog"},{"slug":"what-is-kedro-1","title":"What is Kedro","href":"/what-is-kedro-1/?feed=blog"},{"slug":"custom-scrollbar-design","title":"Custom Scrollbar Design","href":"/custom-scrollbar-design/?feed=blog"},{"slug":"don-t-waste-your-time-learning-everything","title":"Don’t waste your time learning everything","href":"/don-t-waste-your-time-learning-everything/?feed=blog"},{"slug":"2020-rebrand","title":"2020 waylonwalker.com rebrand","href":"/2020-rebrand/?feed=blog"},{"slug":"react-headroom","title":"I just added react-headroom to my site","href":"/react-headroom/?feed=blog"},{"slug":"fix-styled-components-in-gatsby","title":"I finally fixed my Styled-Components in gatsby.js","href":"/fix-styled-components-in-gatsby/?feed=blog"},{"slug":"should-i-switch-to-zeit-now","title":"Should I switch to Zeit Now","href":"/should-i-switch-to-zeit-now/?feed=blog"},{"slug":"git-push-without-setting-upstream","title":"git push without setting upstream","href":"/git-push-without-setting-upstream/?feed=blog"},{"slug":"out-of-space","title":"Out of Space","href":"/out-of-space/?feed=blog"},{"slug":"simple-click","title":"simple click","href":"/simple-click/?feed=blog"},{"slug":"personal-url-shortener","title":"Personal URL shortener with Netlify Redirects","href":"/personal-url-shortener/?feed=blog"},{"slug":"cmd-exe-tips","title":"cmd.exe tips","href":"/cmd-exe-tips/?feed=blog"},{"slug":"learn-early","title":"What is something you should have learned or understood earlier?","href":"/learn-early/?feed=blog"},{"slug":"supercharge-zsh-startup","title":"Supercharge Zsh Startup","href":"/supercharge-zsh-startup/?feed=blog"},{"slug":"keep-location-list-closed","title":"Keep Location List Closed","href":"/keep-location-list-closed/?feed=blog"},{"slug":"quick-progress-bars-in-python-using-tqdm","title":"Quick Progress Bars in python using TQDM","href":"/quick-progress-bars-in-python-using-tqdm/?feed=blog"},{"slug":"named-tuples-data-science","title":"Clean up Your Data Science with Named Tuples","href":"/named-tuples-data-science/?feed=blog"},{"slug":"python-data-science-background","title":"Background Tasks in Python for Data Science","href":"/python-data-science-background/?feed=blog"},{"slug":"autoreload-ipython","title":"Autoreload in Ipython","href":"/autoreload-ipython/?feed=blog"},{"slug":"keyboard-driven-vscode","title":"Keyboard Driven VSCode","href":"/keyboard-driven-vscode/?feed=blog"},{"slug":"realistic-git-workflow","title":"Realistic Git Workflow","href":"/realistic-git-workflow/?feed=blog"},{"slug":"forestry-io","title":"Forestry.io","href":"/forestry-io/?feed=blog"},{"slug":"git-rewrite-history","title":"Rewrite History with Git","href":"/git-rewrite-history/?feed=blog"},{"slug":"journey","title":"It’s not all about winning","href":"/journey/?feed=blog"},{"slug":"git-update-user","title":"Update Git User","href":"/git-update-user/?feed=blog"},{"slug":"goals-2019","title":"2019 goals","href":"/goals-2019/?feed=blog"},{"slug":"2018-retrospective","title":"2018 Retrospective","href":"/2018-retrospective/?feed=blog"},{"slug":"happy","title":"Do More of What Brings You Joy","href":"/happy/?feed=blog"},{"slug":"d3-day-5","title":"D3 Day 5","href":"/d3-day-5/?feed=blog"},{"slug":"d3-day4","title":"D3 Day 4","href":"/d3-day4/?feed=blog"},{"slug":"d3-day3","title":"D3 Day 3","href":"/d3-day3/?feed=blog"},{"slug":"flexbox-zombies","title":"FlexBox","href":"/flexbox-zombies/?feed=blog"},{"slug":"vim-notes","title":"Vim Notes","href":"/vim-notes/?feed=blog"},{"slug":"gratitude-post","title":"gratitude","href":"/gratitude-post/?feed=blog"},{"slug":"llms","title":"Llms","href":"/llms/?feed=blog"},{"slug":"robots","title":"Robots","href":"/robots/?feed=blog"}],"totalPosts":326},{"slug":"ping","title":"ping","priority":"primary","primary":true,"variants":[{"key":"md","label":"md","href":"/ping.md"},{"key":"json","label":"json","href":"/ping/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/ping/archive/rss.xml"},{"key":"rss","label":"rss","href":"/ping/rss.xml"},{"key":"atom","label":"atom","href":"/ping/atom.xml"},{"key":"html","label":"html","href":"/ping/"},{"key":"simple","label":"simple","href":"/ping/simple/"},{"key":"txt","label":"txt","href":"/ping.txt"}],"posts":[{"slug":"ping-77","title":"typesafe jev any good","href":"/ping-77/?feed=ping"},{"slug":"ping-76","title":"Are the ai labs really slowing down?","href":"/ping-76/?feed=ping"},{"slug":"ping-75","title":"Touch dishwasher controls","href":"/ping-75/?feed=ping"},{"slug":"ping-74","title":"politics in linux","href":"/ping-74/?feed=ping"},{"slug":"ping-73","title":"when did openai bring back the hourly limit","href":"/ping-73/?feed=ping"},{"slug":"ping-72","title":"second brain slop is dumb","href":"/ping-72/?feed=ping"},{"slug":"ping-71","title":"agentic engineering takes discipline","href":"/ping-71/?feed=ping"},{"slug":"ping-70","title":"Dammit I think I made an editor","href":"/ping-70/?feed=ping"},{"slug":"ping-69","title":"Microsoft can only 50k","href":"/ping-69/?feed=ping"},{"slug":"ping-68","title":"No one wants to on call vibes","href":"/ping-68/?feed=ping"},{"slug":"ping-67","title":"thinking about headlines","href":"/ping-67/?feed=ping"},{"slug":"ping-66","title":"Ping 66","href":"/ping-66/?feed=ping"},{"slug":"ping-65","title":"Ping 65","href":"/ping-65/?feed=ping"},{"slug":"ping-64","title":"hmmm.","href":"/ping-64/?feed=ping"},{"slug":"ping-63","title":"Does codex change throughout the token usage window?","href":"/ping-63/?feed=ping"},{"slug":"ping-62","title":"Mythos gone already","href":"/ping-62/?feed=ping"},{"slug":"ping-61","title":"just good enough","href":"/ping-61/?feed=ping"},{"slug":"flowing-thoughts-ai-to-help-blast-radius","title":"Flowing Thoughts Ai To Help Blast Radius","href":"/flowing-thoughts-ai-to-help-blast-radius/?feed=ping"},{"slug":"ping-59","title":"Ping 59","href":"/ping-59/?feed=ping"},{"slug":"ping-58","title":"remember rule 4","href":"/ping-58/?feed=ping"},{"slug":"ping-57","title":"almost left tokens on the table","href":"/ping-57/?feed=ping"},{"slug":"ping-56","title":"Can You Feel the Slop","href":"/ping-56/?feed=ping"},{"slug":"ping-55","title":"approve rm","href":"/ping-55/?feed=ping"},{"slug":"ping-54","title":"Ping 54","href":"/ping-54/?feed=ping"},{"slug":"ping-53","title":"Tokens Just don’t go as far as they used to","href":"/ping-53/?feed=ping"},{"slug":"ping-52","title":"Ping 52","href":"/ping-52/?feed=ping"},{"slug":"ping-50-a","title":"Ping 50 A","href":"/ping-50-a/?feed=ping"},{"slug":"ping-50","title":"Prove Yourself Agent","href":"/ping-50/?feed=ping"},{"slug":"ping-49","title":"What happens when the 0 days are exposed?","href":"/ping-49/?feed=ping"},{"slug":"ping-48","title":"Ping 48","href":"/ping-48/?feed=ping"},{"slug":"ping-46","title":"What is this job anymore","href":"/ping-46/?feed=ping"},{"slug":"ping-47","title":"Ping 47","href":"/ping-47/?feed=ping"},{"slug":"ping-45","title":"The year of the supply chain attacks","href":"/ping-45/?feed=ping"},{"slug":"ping-44","title":"The final nail for Windows?","href":"/ping-44/?feed=ping"},{"slug":"ping-43","title":"Ping 43","href":"/ping-43/?feed=ping"},{"slug":"ping-42","title":"Social Media is dead","href":"/ping-42/?feed=ping"},{"slug":"ping-37","title":"Where Is The Tech Industry Going","href":"/ping-37/?feed=ping"},{"slug":"is-compaction-the-issue","title":"Is Compaction The Issue","href":"/is-compaction-the-issue/?feed=ping"},{"slug":"lets-land-the-plane","title":"Lets Land The Plane","href":"/lets-land-the-plane/?feed=ping"},{"slug":"i-dont-want-someone-else-running-my-agents","title":"I don’t want someone else running my agents","href":"/i-dont-want-someone-else-running-my-agents/?feed=ping"},{"slug":"ping-38","title":"Ping 38","href":"/ping-38/?feed=ping"},{"slug":"ping-35b","title":"Learning to agent","href":"/ping-35b/?feed=ping"},{"slug":"ping-35","title":"Studio Ghibli Images in the Wild","href":"/ping-35/?feed=ping"},{"slug":"ping-36","title":"Ping 36","href":"/ping-36/?feed=ping"},{"slug":"ping-34","title":"Research, Plan, Implement","href":"/ping-34/?feed=ping"},{"slug":"ping-32","title":"Context Poisoning Was There All Along","href":"/ping-32/?feed=ping"},{"slug":"ping-33","title":"Agents cannot replace the thinking, they only amplify it","href":"/ping-33/?feed=ping"},{"slug":"ping-31","title":"Thinking about ai productivity again","href":"/ping-31/?feed=ping"},{"slug":"ping-29","title":"Did you even like to code?","href":"/ping-29/?feed=ping"},{"slug":"ping-28","title":"The only thing that seems interesting is AI right now","href":"/ping-28/?feed=ping"},{"slug":"ping-27","title":"It’s all moving so fast","href":"/ping-27/?feed=ping"},{"slug":"ping-30","title":"Is gpt-5.4 slow?","href":"/ping-30/?feed=ping"},{"slug":"ping-26","title":"We are the Grey Beards","href":"/ping-26/?feed=ping"},{"slug":"ping-25","title":"Clankers got me tired","href":"/ping-25/?feed=ping"},{"slug":"ping-24","title":"The Ghostty Guy","href":"/ping-24/?feed=ping"},{"slug":"ping-23","title":"Ping 23","href":"/ping-23/?feed=ping"},{"slug":"ping-21","title":"Ping 21","href":"/ping-21/?feed=ping"},{"slug":"ping-22","title":"Quick Tip To Get Agents Running Longer","href":"/ping-22/?feed=ping"},{"slug":"ping-19","title":"Ping 19","href":"/ping-19/?feed=ping"},{"slug":"ping-18","title":"What is that","href":"/ping-18/?feed=ping"},{"slug":"ping-17","title":"Ping 17","href":"/ping-17/?feed=ping"},{"slug":"ping-16","title":"new keeb so good","href":"/ping-16/?feed=ping"},{"slug":"ping-15","title":"Ping 15","href":"/ping-15/?feed=ping"},{"slug":"ping-14","title":"Mise looks promising","href":"/ping-14/?feed=ping"},{"slug":"ping-13","title":"Gross phone","href":"/ping-13/?feed=ping"},{"slug":"ping-12","title":"Ping 12","href":"/ping-12/?feed=ping"},{"slug":"ping-11","title":"Ping 11","href":"/ping-11/?feed=ping"},{"slug":"i-m-being-gaslit-by-the-ai","title":"I’m being gaslit by the ai","href":"/i-m-being-gaslit-by-the-ai/?feed=ping"},{"slug":"notifications-for-static-site-builds","title":"notifications for static site builds","href":"/notifications-for-static-site-builds/?feed=ping"},{"slug":"fast-changing-dev-server-today","title":"fast changing dev server today","href":"/fast-changing-dev-server-today/?feed=ping"},{"slug":"not-every-print-needs-supports","title":"Not every print needs supports","href":"/not-every-print-needs-supports/?feed=ping"},{"slug":"reminder-include-steps-to-reproduce","title":"reminder Include steps to reproduce","href":"/reminder-include-steps-to-reproduce/?feed=ping"},{"slug":"all-i-want-for-christmas-is-filliment","title":"All I want for Christmas is, filliment","href":"/all-i-want-for-christmas-is-filliment/?feed=ping"},{"slug":"git-worktrees-are-needed","title":"git worktrees are needed","href":"/git-worktrees-are-needed/?feed=ping"},{"slug":"i-got-the-kubernetes-in-my-basement-autism","title":"I got the kubernetes in my basement autism","href":"/i-got-the-kubernetes-in-my-basement-autism/?feed=ping"},{"slug":"my-home-row","title":"my home row","href":"/my-home-row/?feed=ping"},{"slug":"gpus-are-awesome","title":"gpus are awesome","href":"/gpus-are-awesome/?feed=ping"}],"totalPosts":77},{"slug":"til","title":"Today I Learned","priority":"primary","primary":true,"variants":[{"key":"md","label":"md","href":"/til.md"},{"key":"json","label":"json","href":"/til/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/til/archive/rss.xml"},{"key":"rss","label":"rss","href":"/til/rss.xml"},{"key":"atom","label":"atom","href":"/til/atom.xml"},{"key":"html","label":"html","href":"/til/"},{"key":"simple","label":"simple","href":"/til/simple/"},{"key":"txt","label":"txt","href":"/til.txt"}],"posts":[{"slug":"lukschangekey-to-change-full-disk-encryption-password","title":"Lukschangekey to change full disk encryption password","href":"/lukschangekey-to-change-full-disk-encryption-password/?feed=til"},{"slug":"how-to-set-up-a-boot-drive","title":"how to set up a boot drive","href":"/how-to-set-up-a-boot-drive/?feed=til"},{"slug":"helix-markata-go-lsp","title":"helix markata go lsp","href":"/helix-markata-go-lsp/?feed=til"},{"slug":"carrot-m-for-carriage-return","title":"^M for carriage return","href":"/carrot-m-for-carriage-return/?feed=til"},{"slug":"unlock-a-locked-gpg-key","title":"unlock a locked gpg key","href":"/unlock-a-locked-gpg-key/?feed=til"},{"slug":"rpm-ostree-status","title":"rpm ostree status","href":"/rpm-ostree-status/?feed=til"},{"slug":"fixing-a-corrupt-zsh_history","title":"fixing a corrupt zshrc","href":"/fixing-a-corrupt-zsh_history/?feed=til"},{"slug":"one-eyed-fighting-kirby","title":"one eyed fighting kirby","href":"/one-eyed-fighting-kirby/?feed=til"},{"slug":"rsync-delays","title":"rsync delays","href":"/rsync-delays/?feed=til"},{"slug":"zsh-source-env","title":"zsh source .env","href":"/zsh-source-env/?feed=til"},{"slug":"setopt-hist_ignore_space","title":"setopt HIST_IGNORE_SPACE","href":"/setopt-hist_ignore_space/?feed=til"},{"slug":"forgejo-push-to-create","title":"forgejo push to create","href":"/forgejo-push-to-create/?feed=til"},{"slug":"nless","title":"nless","href":"/nless/?feed=til"},{"slug":"image-compare-in-markata-go","title":"image compare in markata go","href":"/image-compare-in-markata-go/?feed=til"},{"slug":"testing-copilot-model-flag","title":"testing copilot model flag","href":"/testing-copilot-model-flag/?feed=til"},{"slug":"stow-local-ignore","title":"stow local ignore","href":"/stow-local-ignore/?feed=til"},{"slug":"move-zmk-keyboard-to-new-bluetooth-adapter","title":"move zmk keyboard to new bluetooth adapter","href":"/move-zmk-keyboard-to-new-bluetooth-adapter/?feed=til"},{"slug":"dot-dockerenv","title":"dot dockerenv","href":"/dot-dockerenv/?feed=til"},{"slug":"gh-do-i-have-a-pr","title":"gh do I have a pr","href":"/gh-do-i-have-a-pr/?feed=til"},{"slug":"double-gutter","title":"double gutter","href":"/double-gutter/?feed=til"},{"slug":"diff-kubernetes-manifest-with-cluster","title":"diff kubernetes manifest with cluster","href":"/diff-kubernetes-manifest-with-cluster/?feed=til"},{"slug":"format-markdown-with-mdformat","title":"format markdown with mdformat","href":"/format-markdown-with-mdformat/?feed=til"},{"slug":"opencode-variants","title":"opencode variants","href":"/opencode-variants/?feed=til"},{"slug":"opencode-init-prompt","title":"opencode init prompt","href":"/opencode-init-prompt/?feed=til"},{"slug":"til/tpope-vim-speeddating","title":"tpope vim-speeddating","href":"/til/tpope-vim-speeddating/?feed=til"},{"slug":"light-mode-screen-recording-css","title":"light mode screen recording css","href":"/light-mode-screen-recording-css/?feed=til"},{"slug":"light-mode-screen-recording","title":"light mode screen recording","href":"/light-mode-screen-recording/?feed=til"},{"slug":"youtube-gemini-is-actually-useful","title":"YouTube Gemini is Actually Useful","href":"/youtube-gemini-is-actually-useful/?feed=til"},{"slug":"numbered-posts-in-obsidian","title":"numbered posts in obsidian","href":"/numbered-posts-in-obsidian/?feed=til"},{"slug":"git-name-status","title":"git name status","href":"/git-name-status/?feed=til"},{"slug":"minecraft-server-memory","title":"minecraft server memory","href":"/minecraft-server-memory/?feed=til"},{"slug":"web-snow-fall","title":"web snow fall","href":"/web-snow-fall/?feed=til"},{"slug":"check-your-kubeconfig-expire-time","title":"check your kubeconfig expire time","href":"/check-your-kubeconfig-expire-time/?feed=til"},{"slug":"gh-auth-switch","title":"gh auth switch","href":"/gh-auth-switch/?feed=til"},{"slug":"setup-bambu-studio-in-distrobox","title":"setup bambu-studio in distrobox","href":"/setup-bambu-studio-in-distrobox/?feed=til"},{"slug":"k3s-system-upgrade-minor-by-minor","title":"k3s system-upgrade minor by minor","href":"/k3s-system-upgrade-minor-by-minor/?feed=til"},{"slug":"columns-env-var","title":"COLUMNS env var","href":"/columns-env-var/?feed=til"},{"slug":"tea-login-flag","title":"tea login flag","href":"/tea-login-flag/?feed=til"},{"slug":"side-effect-of-just-stars","title":"side effect of just stars","href":"/side-effect-of-just-stars/?feed=til"},{"slug":"pydantic-settings-alias-choices","title":"pydantic settings alias choices","href":"/pydantic-settings-alias-choices/?feed=til"},{"slug":"uv-s3-sync-with-dotenv","title":"uv s3 sync with dotenv","href":"/uv-s3-sync-with-dotenv/?feed=til"},{"slug":"starlette-head-request","title":"starlette head request","href":"/starlette-head-request/?feed=til"},{"slug":"dont-copy-your-gitignore-to-stignore","title":"Don’t copy your gitignore to stignore","href":"/dont-copy-your-gitignore-to-stignore/?feed=til"},{"slug":"vanilla-html-hover-text","title":"vanilla html hover text","href":"/vanilla-html-hover-text/?feed=til"},{"slug":"tar-over-ssh","title":"tar over ssh","href":"/tar-over-ssh/?feed=til"},{"slug":"uv-script-management","title":"uv script management","href":"/uv-script-management/?feed=til"},{"slug":"nvim-delete-current-file","title":"nvim delete current file","href":"/nvim-delete-current-file/?feed=til"},{"slug":"vim-noa","title":"vim noa","href":"/vim-noa/?feed=til"},{"slug":"modd","title":"modd","href":"/modd/?feed=til"},{"slug":"bash-timestamp","title":"bash timestamp","href":"/bash-timestamp/?feed=til"},{"slug":"qr-codes-in-python","title":"qr codes in python","href":"/qr-codes-in-python/?feed=til"},{"slug":"dolphin-remote-storage-previews","title":"Dolphin Remote Storage Previews","href":"/dolphin-remote-storage-previews/?feed=til"},{"slug":"fc","title":"fc","href":"/fc/?feed=til"},{"slug":"pygments-htmlformatter","title":"pygments htmlformatter","href":"/pygments-htmlformatter/?feed=til"},{"slug":"tmux-clipboard-on-hyprland","title":"tmux clipboard on hyprland","href":"/tmux-clipboard-on-hyprland/?feed=til"},{"slug":"virt-manager-on-bazzite","title":"virt manager on bazzite","href":"/virt-manager-on-bazzite/?feed=til"},{"slug":"copier-vcs-quirks","title":"copier vcs quirks","href":"/copier-vcs-quirks/?feed=til"},{"slug":"using-yek","title":"using yek to serialize text files into llm friendly file","href":"/using-yek/?feed=til"},{"slug":"brightnessctl-adjust-screen-brightness","title":"brightnessctl adjust screen brightness","href":"/brightnessctl-adjust-screen-brightness/?feed=til"},{"slug":"rich-theme","title":"rich theme","href":"/rich-theme/?feed=til"},{"slug":"unset-multiple-environment-variables","title":"unset multiple environment variables","href":"/unset-multiple-environment-variables/?feed=til"},{"slug":"i3lock-on-awesomewm","title":"i3lock on AwesomeWM","href":"/i3lock-on-awesomewm/?feed=til"},{"slug":"kubernetes-node-labels","title":"kubernetes node labels","href":"/kubernetes-node-labels/?feed=til"},{"slug":"javascript-b64","title":"javascript b64","href":"/javascript-b64/?feed=til"},{"slug":"web-wakelock","title":"web wakelock","href":"/web-wakelock/?feed=til"},{"slug":"vhs-themes","title":"vhs themes","href":"/vhs-themes/?feed=til"},{"slug":"grafana-dashboards-as-k8s-configmap","title":"grafana dashboards as k8s configmap","href":"/grafana-dashboards-as-k8s-configmap/?feed=til"},{"slug":"ruff-single-line-import","title":"ruff single line import","href":"/ruff-single-line-import/?feed=til"},{"slug":"markata-list-posts-by-year","title":"Markata list posts by year","href":"/markata-list-posts-by-year/?feed=til"},{"slug":"use-pbpaste-for-clean-shell-history","title":"Use pbpaste for clean shell history","href":"/use-pbpaste-for-clean-shell-history/?feed=til"},{"slug":"pre-commit-exclude","title":"pre-commit exclude","href":"/pre-commit-exclude/?feed=til"},{"slug":"newlines-in-css-before","title":"newlines in css before","href":"/newlines-in-css-before/?feed=til"},{"slug":"testing-nvim-installs","title":"testing nvim installs","href":"/testing-nvim-installs/?feed=til"},{"slug":"vim-date","title":"vim date","href":"/vim-date/?feed=til"},{"slug":"aptitude-why","title":"aptitude why","href":"/aptitude-why/?feed=til"},{"slug":"configure-tz","title":"configure timezone","href":"/configure-tz/?feed=til"},{"slug":"bc","title":"bc","href":"/bc/?feed=til"},{"slug":"tailwind-aspect","title":"tailwind aspect","href":"/tailwind-aspect/?feed=til"},{"slug":"markdown-it-attrs-with-slashes-dont-work","title":"markdown it attrs with slashes dont work","href":"/markdown-it-attrs-with-slashes-dont-work/?feed=til"},{"slug":"setting-up-nvim-manager-starship-prompt","title":"setting up nvim-manager starship prompt","href":"/setting-up-nvim-manager-starship-prompt/?feed=til"},{"slug":"emoji-in-headless-chrome-in-docker","title":"emoji in headless chrome in docker","href":"/emoji-in-headless-chrome-in-docker/?feed=til"},{"slug":"postiz-file-upload","title":"postiz-file-upload","href":"/postiz-file-upload/?feed=til"},{"slug":"links-rely-on-color-to-be-distiniquishable","title":"Links rely on color to be distiniquishable","href":"/links-rely-on-color-to-be-distiniquishable/?feed=til"},{"slug":"urllink","title":"urllink","href":"/urllink/?feed=til"},{"slug":"debug-cloudflared-tunnel","title":"debug cloudflared tunnel","href":"/debug-cloudflared-tunnel/?feed=til"},{"slug":"setup-cloudflared-tunnel-on-ubuntu","title":"setup cloudflared tunnel on ubuntu","href":"/setup-cloudflared-tunnel-on-ubuntu/?feed=til"},{"slug":"price-an-stl-print-on-slant3d","title":"price an stl print on slant3d","href":"/price-an-stl-print-on-slant3d/?feed=til"},{"slug":"k3s-config-after-first-install","title":"k3s config after first install","href":"/k3s-config-after-first-install/?feed=til"},{"slug":"print-in-place-nuts-with-cura","title":"Print in place nuts with cura","href":"/print-in-place-nuts-with-cura/?feed=til"},{"slug":"vim-gq","title":"Vim-gq","href":"/vim-gq/?feed=til"},{"slug":"slug","title":"Slug","href":"/slug/?feed=til"},{"slug":"obsidian-new-file","title":"Obsidian-new-file","href":"/obsidian-new-file/?feed=til"},{"slug":"obsidian-go-to-definition","title":"Obsidian-go-to-definition","href":"/obsidian-go-to-definition/?feed=til"},{"slug":"obsidian-using-templater-like-copier","title":"Obsidian Using Templater Like Copier","href":"/obsidian-using-templater-like-copier/?feed=til"},{"slug":"obsidian-image-converter","title":"Obsidian Image Converter","href":"/obsidian-image-converter/?feed=til"},{"slug":"convert-mp4-for-twitter-with-ffmpeg","title":"convert mp4 for twitter with ffmpeg","href":"/convert-mp4-for-twitter-with-ffmpeg/?feed=til"},{"slug":"arch-remove-orphaned-packages","title":"arch remove orphaned packages","href":"/arch-remove-orphaned-packages/?feed=til"},{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?feed=til"},{"slug":"kubectl-dash-k","title":"kubectl dash k","href":"/kubectl-dash-k/?feed=til"},{"slug":"animal-well-keyboard","title":"animal well keyboard","href":"/animal-well-keyboard/?feed=til"},{"slug":"diskcache-as-debounce","title":"diskcache as debounce","href":"/diskcache-as-debounce/?feed=til"},{"slug":"install-sealed-secreats-via-manifest","title":"Install sealed-secreats via manifest","href":"/install-sealed-secreats-via-manifest/?feed=til"},{"slug":"playerctl-fixes-arch","title":"playerctl fixes arch media keys","href":"/playerctl-fixes-arch/?feed=til"},{"slug":"tailwind-post-template","title":"tailwind post template","href":"/tailwind-post-template/?feed=til"},{"slug":"tailscale-ssh","title":"tailscale ssh","href":"/tailscale-ssh/?feed=til"},{"slug":"latest-page-in-markata","title":"Latest Page in Markata","href":"/latest-page-in-markata/?feed=til"},{"slug":"just-picker","title":"just picker","href":"/just-picker/?feed=til"},{"slug":"showmount-e","title":"showmount-e","href":"/showmount-e/?feed=til"},{"slug":"control-minio-token-access","title":"control minio token access","href":"/control-minio-token-access/?feed=til"},{"slug":"how-to-list-sqlite-tables","title":"How to List Sqlite tables","href":"/how-to-list-sqlite-tables/?feed=til"},{"slug":"redka-runs-on-sqlite","title":"Redka Runs on SQLite","href":"/redka-runs-on-sqlite/?feed=til"},{"slug":"am-i-vulnerable-to-the-xz-backdoor","title":"Am I vulnerable to the xz backdoor?","href":"/am-i-vulnerable-to-the-xz-backdoor/?feed=til"},{"slug":"arch-dependencies","title":"arch dependencies","href":"/arch-dependencies/?feed=til"},{"slug":"copier-trust","title":"copier trust","href":"/copier-trust/?feed=til"},{"slug":"ipython-f2","title":"ipython f2","href":"/ipython-f2/?feed=til"},{"slug":"sqlmodel-indexes","title":"sqlmodel indexes","href":"/sqlmodel-indexes/?feed=til"},{"slug":"python-inline-snapshot","title":"python inline snapshot","href":"/python-inline-snapshot/?feed=til"},{"slug":"sqlite-vacuum","title":"sqlite vacuum","href":"/sqlite-vacuum/?feed=til"},{"slug":"tailwind-animations","title":"Tailwind Animations","href":"/tailwind-animations/?feed=til"},{"slug":"how-to-kill-ollama-server","title":"How to kill ollama server","href":"/how-to-kill-ollama-server/?feed=til"},{"slug":"composing-typer-clis","title":"Composing Typer clis","href":"/composing-typer-clis/?feed=til"},{"slug":"tailwind-custom-size","title":"tailwind arbitrary values","href":"/tailwind-custom-size/?feed=til"},{"slug":"fix-npm-global-install-needs-sudo","title":"fix npm global install needs sudo","href":"/fix-npm-global-install-needs-sudo/?feed=til"},{"slug":"darkmode-scrollbars","title":"darkmode scrollbars","href":"/darkmode-scrollbars/?feed=til"},{"slug":"updating-cloudflare-pages-using-the-wrangler-cli","title":"Udating Cloudflare Pages using the Wrangler cli","href":"/updating-cloudflare-pages-using-the-wrangler-cli/?feed=til"},{"slug":"scheduling-cron-jobs-in-kubernetes","title":"scheduling cron jobs in kubernetes","href":"/scheduling-cron-jobs-in-kubernetes/?feed=til"},{"slug":"jinja-macros","title":"jinja macros","href":"/jinja-macros/?feed=til"},{"slug":"jinja-loop-variable-and-htmx","title":"jinja loop variable and htmx","href":"/jinja-loop-variable-and-htmx/?feed=til"},{"slug":"fastapi-jinja-url_for-with-query-params","title":"fastapi jinja url_for with query params","href":"/fastapi-jinja-url_for-with-query-params/?feed=til"},{"slug":"kind-cluster-with-argo","title":"setting up a kind cluster with argocd installed","href":"/kind-cluster-with-argo/?feed=til"},{"slug":"kubernetes-kubeseal","title":"kubernetes kubeseal","href":"/kubernetes-kubeseal/?feed=til"},{"slug":"nvim-stupid-gf-bind","title":"nvim stupid gf bind","href":"/nvim-stupid-gf-bind/?feed=til"},{"slug":"cli-auth","title":"cli auth","href":"/cli-auth/?feed=til"},{"slug":"htmx-request-hide-input","title":"Hiding Form input During htmx Request","href":"/htmx-request-hide-input/?feed=til"},{"slug":"stripe-cancellations","title":"Stripe Cancellations in FastAPI and SQLModel","href":"/stripe-cancellations/?feed=til"},{"slug":"still-loving-tailwind","title":"Still Loving Tailwind","href":"/still-loving-tailwind/?feed=til"},{"slug":"jpillora-installer-til","title":"jpillora-installer","href":"/jpillora-installer-til/?feed=til"},{"slug":"fastapi-static-content","title":"how to host static content with fastapi","href":"/fastapi-static-content/?feed=til"},{"slug":"set-up-minio-bucket-entrypoint","title":"Set up minio bucket entrypoint","href":"/set-up-minio-bucket-entrypoint/?feed=til"},{"slug":"tailwind-and-jinja","title":"Setup Tailwind for Jinja","href":"/tailwind-and-jinja/?feed=til"},{"slug":"python-scandir-ignores-hidden-directories","title":"Python scandir ignores hidden directories","href":"/python-scandir-ignores-hidden-directories/?feed=til"},{"slug":"setting-up-paru","title":"setting up paru | installing from the AUR for the first time","href":"/setting-up-paru/?feed=til"},{"slug":"gh-release","title":"Releasing a New Version of Your Python Package Just Got Easier","href":"/gh-release/?feed=til"},{"slug":"arch-rejects-password","title":"Arch Linux Randomly Rejecting Passwords","href":"/arch-rejects-password/?feed=til"},{"slug":"fail-ci-scripts","title":"dash e your github docker actions","href":"/fail-ci-scripts/?feed=til"},{"slug":"ssh-copy-id","title":"ssh copy id","href":"/ssh-copy-id/?feed=til"},{"slug":"tmux-push-pull-panes","title":"tmux push/pull panes","href":"/tmux-push-pull-panes/?feed=til"},{"slug":"ssh-key-permissions","title":"ssh key permissions","href":"/ssh-key-permissions/?feed=til"},{"slug":"nvim-navic","title":"nvim navic","href":"/nvim-navic/?feed=til"},{"slug":"pipx-textual-devtools","title":"pipx textual devtools","href":"/pipx-textual-devtools/?feed=til"},{"slug":"textual-app-devtools","title":"textual app devtools","href":"/textual-app-devtools/?feed=til"},{"slug":"obs-virtual-camera-on-boot","title":"obs virtual camera on boot","href":"/obs-virtual-camera-on-boot/?feed=til"},{"slug":"localstack-status-permission","title":"localstack status permission","href":"/localstack-status-permission/?feed=til"},{"slug":"markata-supports-jinja-plugins-0-5-0-dev2","title":"Markata Supports Jinja Plugins 0.5.0.dev2","href":"/markata-supports-jinja-plugins-0-5-0-dev2/?feed=til"},{"slug":"django-rest-framework-getting-started","title":"Getting Started with Django REST framework","href":"/django-rest-framework-getting-started/?feed=til"},{"slug":"markata-now-uses-hatch","title":"Markata now uses hatch","href":"/markata-now-uses-hatch/?feed=til"},{"slug":"django-create-superuser","title":"django create superuser","href":"/django-create-superuser/?feed=til"},{"slug":"django-disallowed-host","title":"django disallowed host","href":"/django-disallowed-host/?feed=til"},{"slug":"trying-out-django","title":"Trying out django","href":"/trying-out-django/?feed=til"},{"slug":"jinja2-escape","title":"how to escape variables in jinja templates","href":"/jinja2-escape/?feed=til"},{"slug":"use-ipython-extensions","title":"I’ve made my ipython config too complicated, let’s fix it.","href":"/use-ipython-extensions/?feed=til"},{"slug":"markata-configure-head","title":"markata extend in configuration","href":"/markata-configure-head/?feed=til"},{"slug":"hatch-new-cli","title":"Create a new Python Project with the Hatch Cli","href":"/hatch-new-cli/?feed=til"},{"slug":"hatch-version","title":"Versioning Python Projects with Hatch","href":"/hatch-version/?feed=til"},{"slug":"from-markdown-to-blog-with-markata","title":"From Markdown to Blog with Markata | lightning talk | python web conf 2022","href":"/from-markdown-to-blog-with-markata/?feed=til"},{"slug":"i-spoke-at-python-web-conf-2022","title":"I spoke at Python Web Conf 2022","href":"/i-spoke-at-python-web-conf-2022/?feed=til"},{"slug":"pypi-2fa","title":"I turned on 2FA for all of my pypi packages","href":"/pypi-2fa/?feed=til"},{"slug":"vim-sort-u","title":"use vim to remove duplicates","href":"/vim-sort-u/?feed=til"},{"slug":"rich-syntax-range-style","title":"Highlighting text ranges with Rich | python","href":"/rich-syntax-range-style/?feed=til"},{"slug":"vimgrep-open-buffers","title":"vimgrep open buffers","href":"/vimgrep-open-buffers/?feed=til"},{"slug":"markata-0-3-0","title":"markata 0.3.0 is 15-20% faster","href":"/markata-0-3-0/?feed=til"},{"slug":"name-it-claim-it-aim-it","title":"name it claim it aim it","href":"/name-it-claim-it-aim-it/?feed=til"},{"slug":"get-python-package-versions","title":"get the version of any python package | python api","href":"/get-python-package-versions/?feed=til"},{"slug":"two-new-aliases-for-git","title":"Two new shell aliases for git","href":"/two-new-aliases-for-git/?feed=til"},{"slug":"ipython-q-exit","title":"IPython q to exit","href":"/ipython-q-exit/?feed=til"},{"slug":"copier-slugify","title":"Copier Slugify | python templating | using cookiecutter","href":"/copier-slugify/?feed=til"},{"slug":"textual-has-devtools","title":"Textual has devtools","href":"/textual-has-devtools/?feed=til"},{"slug":"pyenv-pipx","title":"Using Different versions of python with pipx | pyenv","href":"/pyenv-pipx/?feed=til"}],"totalPosts":178},{"slug":"pings","title":"Pings","priority":"primary","primary":true,"variants":[{"key":"md","label":"md","href":"/pings.md"},{"key":"json","label":"json","href":"/pings/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/pings/archive/rss.xml"},{"key":"rss","label":"rss","href":"/pings/rss.xml"},{"key":"atom","label":"atom","href":"/pings/atom.xml"},{"key":"html","label":"html","href":"/pings/"},{"key":"simple","label":"simple","href":"/pings/simple/"},{"key":"txt","label":"txt","href":"/pings.txt"}],"posts":[{"slug":"ping-77","title":"typesafe jev any good","href":"/ping-77/?feed=pings"},{"slug":"ping-76","title":"Are the ai labs really slowing down?","href":"/ping-76/?feed=pings"},{"slug":"ping-75","title":"Touch dishwasher controls","href":"/ping-75/?feed=pings"},{"slug":"ping-74","title":"politics in linux","href":"/ping-74/?feed=pings"},{"slug":"ping-73","title":"when did openai bring back the hourly limit","href":"/ping-73/?feed=pings"},{"slug":"ping-72","title":"second brain slop is dumb","href":"/ping-72/?feed=pings"},{"slug":"ping-71","title":"agentic engineering takes discipline","href":"/ping-71/?feed=pings"},{"slug":"ping-70","title":"Dammit I think I made an editor","href":"/ping-70/?feed=pings"},{"slug":"ping-69","title":"Microsoft can only 50k","href":"/ping-69/?feed=pings"},{"slug":"ping-68","title":"No one wants to on call vibes","href":"/ping-68/?feed=pings"},{"slug":"ping-67","title":"thinking about headlines","href":"/ping-67/?feed=pings"},{"slug":"ping-66","title":"Ping 66","href":"/ping-66/?feed=pings"},{"slug":"ping-65","title":"Ping 65","href":"/ping-65/?feed=pings"},{"slug":"ping-64","title":"hmmm.","href":"/ping-64/?feed=pings"},{"slug":"ping-63","title":"Does codex change throughout the token usage window?","href":"/ping-63/?feed=pings"},{"slug":"ping-62","title":"Mythos gone already","href":"/ping-62/?feed=pings"},{"slug":"ping-61","title":"just good enough","href":"/ping-61/?feed=pings"},{"slug":"flowing-thoughts-ai-to-help-blast-radius","title":"Flowing Thoughts Ai To Help Blast Radius","href":"/flowing-thoughts-ai-to-help-blast-radius/?feed=pings"},{"slug":"ping-59","title":"Ping 59","href":"/ping-59/?feed=pings"},{"slug":"ping-58","title":"remember rule 4","href":"/ping-58/?feed=pings"},{"slug":"ping-57","title":"almost left tokens on the table","href":"/ping-57/?feed=pings"},{"slug":"ping-56","title":"Can You Feel the Slop","href":"/ping-56/?feed=pings"},{"slug":"ping-55","title":"approve rm","href":"/ping-55/?feed=pings"},{"slug":"ping-54","title":"Ping 54","href":"/ping-54/?feed=pings"},{"slug":"ping-53","title":"Tokens Just don’t go as far as they used to","href":"/ping-53/?feed=pings"},{"slug":"ping-52","title":"Ping 52","href":"/ping-52/?feed=pings"},{"slug":"ping-50-a","title":"Ping 50 A","href":"/ping-50-a/?feed=pings"},{"slug":"ping-50","title":"Prove Yourself Agent","href":"/ping-50/?feed=pings"},{"slug":"ping-49","title":"What happens when the 0 days are exposed?","href":"/ping-49/?feed=pings"},{"slug":"ping-48","title":"Ping 48","href":"/ping-48/?feed=pings"},{"slug":"ping-46","title":"What is this job anymore","href":"/ping-46/?feed=pings"},{"slug":"ping-47","title":"Ping 47","href":"/ping-47/?feed=pings"},{"slug":"ping-45","title":"The year of the supply chain attacks","href":"/ping-45/?feed=pings"},{"slug":"ping-44","title":"The final nail for Windows?","href":"/ping-44/?feed=pings"},{"slug":"ping-43","title":"Ping 43","href":"/ping-43/?feed=pings"},{"slug":"ping-42","title":"Social Media is dead","href":"/ping-42/?feed=pings"},{"slug":"ping-37","title":"Where Is The Tech Industry Going","href":"/ping-37/?feed=pings"},{"slug":"is-compaction-the-issue","title":"Is Compaction The Issue","href":"/is-compaction-the-issue/?feed=pings"},{"slug":"lets-land-the-plane","title":"Lets Land The Plane","href":"/lets-land-the-plane/?feed=pings"},{"slug":"i-dont-want-someone-else-running-my-agents","title":"I don’t want someone else running my agents","href":"/i-dont-want-someone-else-running-my-agents/?feed=pings"},{"slug":"ping-38","title":"Ping 38","href":"/ping-38/?feed=pings"},{"slug":"ping-35b","title":"Learning to agent","href":"/ping-35b/?feed=pings"},{"slug":"ping-35","title":"Studio Ghibli Images in the Wild","href":"/ping-35/?feed=pings"},{"slug":"ping-36","title":"Ping 36","href":"/ping-36/?feed=pings"},{"slug":"ping-34","title":"Research, Plan, Implement","href":"/ping-34/?feed=pings"},{"slug":"ping-32","title":"Context Poisoning Was There All Along","href":"/ping-32/?feed=pings"},{"slug":"ping-33","title":"Agents cannot replace the thinking, they only amplify it","href":"/ping-33/?feed=pings"},{"slug":"ping-31","title":"Thinking about ai productivity again","href":"/ping-31/?feed=pings"},{"slug":"ping-29","title":"Did you even like to code?","href":"/ping-29/?feed=pings"},{"slug":"ping-28","title":"The only thing that seems interesting is AI right now","href":"/ping-28/?feed=pings"},{"slug":"ping-27","title":"It’s all moving so fast","href":"/ping-27/?feed=pings"},{"slug":"ping-30","title":"Is gpt-5.4 slow?","href":"/ping-30/?feed=pings"},{"slug":"ping-26","title":"We are the Grey Beards","href":"/ping-26/?feed=pings"},{"slug":"ping-25","title":"Clankers got me tired","href":"/ping-25/?feed=pings"},{"slug":"ping-24","title":"The Ghostty Guy","href":"/ping-24/?feed=pings"},{"slug":"ping-23","title":"Ping 23","href":"/ping-23/?feed=pings"},{"slug":"ping-21","title":"Ping 21","href":"/ping-21/?feed=pings"},{"slug":"ping-22","title":"Quick Tip To Get Agents Running Longer","href":"/ping-22/?feed=pings"},{"slug":"ping-19","title":"Ping 19","href":"/ping-19/?feed=pings"},{"slug":"ping-18","title":"What is that","href":"/ping-18/?feed=pings"},{"slug":"ping-17","title":"Ping 17","href":"/ping-17/?feed=pings"},{"slug":"ping-16","title":"new keeb so good","href":"/ping-16/?feed=pings"},{"slug":"ping-15","title":"Ping 15","href":"/ping-15/?feed=pings"},{"slug":"ping-14","title":"Mise looks promising","href":"/ping-14/?feed=pings"},{"slug":"ping-13","title":"Gross phone","href":"/ping-13/?feed=pings"},{"slug":"ping-12","title":"Ping 12","href":"/ping-12/?feed=pings"},{"slug":"ping-11","title":"Ping 11","href":"/ping-11/?feed=pings"},{"slug":"i-m-being-gaslit-by-the-ai","title":"I’m being gaslit by the ai","href":"/i-m-being-gaslit-by-the-ai/?feed=pings"},{"slug":"notifications-for-static-site-builds","title":"notifications for static site builds","href":"/notifications-for-static-site-builds/?feed=pings"},{"slug":"fast-changing-dev-server-today","title":"fast changing dev server today","href":"/fast-changing-dev-server-today/?feed=pings"},{"slug":"not-every-print-needs-supports","title":"Not every print needs supports","href":"/not-every-print-needs-supports/?feed=pings"},{"slug":"reminder-include-steps-to-reproduce","title":"reminder Include steps to reproduce","href":"/reminder-include-steps-to-reproduce/?feed=pings"},{"slug":"all-i-want-for-christmas-is-filliment","title":"All I want for Christmas is, filliment","href":"/all-i-want-for-christmas-is-filliment/?feed=pings"},{"slug":"git-worktrees-are-needed","title":"git worktrees are needed","href":"/git-worktrees-are-needed/?feed=pings"},{"slug":"i-got-the-kubernetes-in-my-basement-autism","title":"I got the kubernetes in my basement autism","href":"/i-got-the-kubernetes-in-my-basement-autism/?feed=pings"},{"slug":"my-home-row","title":"my home row","href":"/my-home-row/?feed=pings"},{"slug":"gpus-are-awesome","title":"gpus are awesome","href":"/gpus-are-awesome/?feed=pings"}],"totalPosts":77},{"slug":"shots","title":"Shots","priority":"primary","primary":true,"variants":[{"key":"md","label":"md","href":"/shots.md"},{"key":"json","label":"json","href":"/shots/feed.json"},{"key":"archive-rss","label":"archive-rss","href":"/shots/archive/rss.xml"},{"key":"rss","label":"rss","href":"/shots/rss.xml"},{"key":"atom","label":"atom","href":"/shots/atom.xml"},{"key":"html","label":"html","href":"/shots/"},{"key":"simple","label":"simple","href":"/shots/simple/"},{"key":"txt","label":"txt","href":"/shots.txt"}],"posts":[{"slug":"shots/i-came-across-a-welded-in-hot-swap-prototype","title":"I Came Across A Welded In Hot Swap Prototype","href":"/shots/i-came-across-a-welded-in-hot-swap-prototype/?feed=shots"},{"slug":"shots/dobby-looking-ominous","title":"Dobby Looking Ominous","href":"/shots/dobby-looking-ominous/?feed=shots"},{"slug":"shots/washing-the-agae-off-the-sidewalk-overflow","title":"Washing The Agae Off The Sidewalk Overflow","href":"/shots/washing-the-agae-off-the-sidewalk-overflow/?feed=shots"},{"slug":"shots/rewashing-the-algae-off-the-sidewalk-f26","title":"Rewashing The Algae Off The Sidewalk F26","href":"/shots/rewashing-the-algae-off-the-sidewalk-f26/?feed=shots"},{"slug":"shots/bike-ride-in-my-mando-shirt","title":"Bike Ride In My Mando Shirt","href":"/shots/bike-ride-in-my-mando-shirt/?feed=shots"},{"slug":"shots/confident-cat-on-a-rail","title":"Confident Cat On A Rail","href":"/shots/confident-cat-on-a-rail/?feed=shots"},{"slug":"shots/friday-afternoon-americano-at-work","title":"Friday Afternoon Americano At Work","href":"/shots/friday-afternoon-americano-at-work/?feed=shots"},{"slug":"shots/models-app-is-working","title":"Models App Is Working","href":"/shots/models-app-is-working/?feed=shots"},{"slug":"shots/second-sentinal-final-audience-wish","title":"Second Sentinal Final Audience Wish","href":"/shots/second-sentinal-final-audience-wish/?feed=shots"},{"slug":"shots/second-sentinal-second-encounter","title":"Second Sentinal Second Encounter","href":"/shots/second-sentinal-second-encounter/?feed=shots"},{"slug":"shots/second-sentinal-first-encounter","title":"Second Sentinal First Encounter","href":"/shots/second-sentinal-first-encounter/?feed=shots"},{"slug":"shots/boomer-chat-achiement-unlocked","title":"Boomer Chat Achiement Unlocked","href":"/shots/boomer-chat-achiement-unlocked/?feed=shots"},{"slug":"shots/caps-bed-adhesion","title":"Caps Bed Adhesion","href":"/shots/caps-bed-adhesion/?feed=shots"},{"slug":"shots/cracked-caps","title":"Cracked Caps","href":"/shots/cracked-caps/?feed=shots"},{"slug":"shots/any-guesses-what-im-printing","title":"Any Guesses What I’M Printing","href":"/shots/any-guesses-what-im-printing/?feed=shots"},{"slug":"shots/cap-sander-v1","title":"Cap Sander V1","href":"/shots/cap-sander-v1/?feed=shots"},{"slug":"shots/caps-fonts","title":"Caps Fonts","href":"/shots/caps-fonts/?feed=shots"},{"slug":"shots/caps-gets-striped-keys","title":"Caps Gets Striped Keys","href":"/shots/caps-gets-striped-keys/?feed=shots"},{"slug":"shots/caps-views","title":"Caps Views","href":"/shots/caps-views/?feed=shots"},{"slug":"shots/dark-foggy-tunnel","title":"Dark Foggy Tunnel","href":"/shots/dark-foggy-tunnel/?feed=shots"},{"slug":"shots/caps-symbols","title":"Caps Symbols","href":"/shots/caps-symbols/?feed=shots"},{"slug":"shots/share-to-plaindown","title":"Share To Plaindown","href":"/shots/share-to-plaindown/?feed=shots"},{"slug":"shots/neovim-cap","title":"Neovim Cap","href":"/shots/neovim-cap/?feed=shots"},{"slug":"shots/cmon-toyota-wheres-your-nerd-font","title":"C’Mon Toyota Where’S Your Nerd Font","href":"/shots/cmon-toyota-wheres-your-nerd-font/?feed=shots"},{"slug":"shots/caps-themes","title":"Caps Themes","href":"/shots/caps-themes/?feed=shots"},{"slug":"shots/nvim-cap-installed","title":"Nvim Cap Installed","href":"/shots/nvim-cap-installed/?feed=shots"},{"slug":"shots/caps-review-with-individual-key-override","title":"Caps Review With Individual Key Override","href":"/shots/caps-review-with-individual-key-override/?feed=shots"},{"slug":"shots/comparing-depth-of-color-in-esc-keys","title":"Comparing Depth Of Color In Esc Keys","href":"/shots/comparing-depth-of-color-in-esc-keys/?feed=shots"},{"slug":"shots/chicken-fried-rice-in-august","title":"Chicken Fried Rice In August","href":"/shots/chicken-fried-rice-in-august/?feed=shots"},{"slug":"shots/mid-print-on-a-new-set-of-caps","title":"Mid Print On A New Set Of Caps","href":"/shots/mid-print-on-a-new-set-of-caps/?feed=shots"},{"slug":"shots/first-set-of-caps-printed-from-caps.waylonwalker.com","title":"First Set Of Caps Printed From Caps.waylonwalker.com","href":"/shots/first-set-of-caps-printed-from-caps.waylonwalker.com/?feed=shots"},{"slug":"shots/caps-got-good-adhesion","title":"Caps Got Good Adhesion","href":"/shots/caps-got-good-adhesion/?feed=shots"},{"slug":"shots/caps-app-is-working","title":"Caps App Is Working","href":"/shots/caps-app-is-working/?feed=shots"},{"slug":"shots/it-kept-printing-sideways","title":"It Kept Printing Sideways","href":"/shots/it-kept-printing-sideways/?feed=shots"},{"slug":"shots/dusty-routing","title":"Dusty Routing","href":"/shots/dusty-routing/?feed=shots"},{"slug":"shots/i-feel-called-out-for-burning-things-in-the-oven","title":"I Feel Called Out For Burning Things In The Oven","href":"/shots/i-feel-called-out-for-burning-things-in-the-oven/?feed=shots"},{"slug":"shots/got-me-my-first-set-of-akko-rosewoods","title":"got me my first set of akko rosewoods","href":"/shots/got-me-my-first-set-of-akko-rosewoods/?feed=shots"},{"slug":"shots/fresh-marin","title":"Fresh Marin","href":"/shots/fresh-marin/?feed=shots"},{"slug":"shots/into-the-tunnel","title":"Into The Tunnel","href":"/shots/into-the-tunnel/?feed=shots"},{"slug":"shots/entering-the-tunnel","title":"Entering The Tunnel","href":"/shots/entering-the-tunnel/?feed=shots"},{"slug":"shots/fresh-marin-in-the-dark","title":"Fresh Marin In The Dark","href":"/shots/fresh-marin-in-the-dark/?feed=shots"},{"slug":"shots/i-did-one-more-prompt-to-a-long-running-session-a-day-later","title":"I Did One More Prompt To A Long Running Session A Day Later","href":"/shots/i-did-one-more-prompt-to-a-long-running-session-a-day-later/?feed=shots"},{"slug":"shots/t-handle-wire-puller-in-action","title":"T Handle Wire Puller In Action","href":"/shots/t-handle-wire-puller-in-action/?feed=shots"},{"slug":"shots/t-handle-wire-puller","title":"T Handle Wire Puller","href":"/shots/t-handle-wire-puller/?feed=shots"},{"slug":"shots/sharpdart","title":"Sharpdart","href":"/shots/sharpdart/?feed=shots"},{"slug":"shots/fleatopia-supplies","title":"Fleatopia Supplies","href":"/shots/fleatopia-supplies/?feed=shots"},{"slug":"shots/out-on-a-night-ride-on-the-trail","title":"Out On A Night Ride On The Trail","href":"/shots/out-on-a-night-ride-on-the-trail/?feed=shots"},{"slug":"shots/the-daylilies-are-in-full-bloom-2026","title":"The Daylilies Are In Full Bloom 2026","href":"/shots/the-daylilies-are-in-full-bloom-2026/?feed=shots"},{"slug":"shots/the-unraveled","title":"The Unraveled","href":"/shots/the-unraveled/?feed=shots"},{"slug":"shots/the-unraveled-fail","title":"The Unraveled Fail","href":"/shots/the-unraveled-fail/?feed=shots"},{"slug":"shots/surgeons-key","title":"Surgeons Key","href":"/shots/surgeons-key/?feed=shots"},{"slug":"shots/liquid-laquer","title":"Liquid Laquer","href":"/shots/liquid-laquer/?feed=shots"},{"slug":"shots/first-sinner","title":"First Sinner","href":"/shots/first-sinner/?feed=shots"},{"slug":"shots/almost-broken-drivetrain","title":"Almost Broken Drivetrain","href":"/shots/almost-broken-drivetrain/?feed=shots"},{"slug":"shots/burgers-for-dinner-on-the-sheetpan","title":"Burgers For Dinner On The Sheetpan","href":"/shots/burgers-for-dinner-on-the-sheetpan/?feed=shots"},{"slug":"shots/power-washing-the-sidewalk-2026","title":"Power Washing The Sidewalk 2026","href":"/shots/power-washing-the-sidewalk-2026/?feed=shots"},{"slug":"shots/whiteward-spool-fragment","title":"Whiteward Spool Fragment","href":"/shots/whiteward-spool-fragment/?feed=shots"},{"slug":"shots/coral-commandment","title":"Coral Commandment","href":"/shots/coral-commandment/?feed=shots"},{"slug":"shots/marrow-skull-tyrant","title":"Marrow Skull Tyrant","href":"/shots/marrow-skull-tyrant/?feed=shots"},{"slug":"shots/pump-sprayer-seal-shot","title":"Pump Sprayer Seal Shot","href":"/shots/pump-sprayer-seal-shot/?feed=shots"},{"slug":"shots/press-escape-to-stop-mid-responses","title":"Press Escape To Stop Mid Responses","href":"/shots/press-escape-to-stop-mid-responses/?feed=shots"},{"slug":"shots/ginger-chillin-laundry-room","title":"Ginger Chillin Laundry Room","href":"/shots/ginger-chillin-laundry-room/?feed=shots"},{"slug":"shots/rhiannons-vocal-velocity-stage","title":"Rhiannon’s Vocal Velocity Stage Setup","href":"/shots/rhiannons-vocal-velocity-stage/?feed=shots"},{"slug":"shots/pilgrims-rhinogrund2","title":"Pilgrims Rhinogrund2","href":"/shots/pilgrims-rhinogrund2/?feed=shots"},{"slug":"shots/voltvessels","title":"Voltvessels","href":"/shots/voltvessels/?feed=shots"},{"slug":"shots/songclave-supplies-fail","title":"Songclave Supplies Fail","href":"/shots/songclave-supplies-fail/?feed=shots"},{"slug":"shots/pilgrims-rhinogrund","title":"Pilgrims Rhinogrund","href":"/shots/pilgrims-rhinogrund/?feed=shots"},{"slug":"shots/pilgrims-rest-supplies","title":"Pilgrims Rest Supplies","href":"/shots/pilgrims-rest-supplies/?feed=shots"},{"slug":"shots/pilgrims-rest-supplies-fail","title":"Pilgrims Rest Supplies Fail","href":"/shots/pilgrims-rest-supplies-fail/?feed=shots"},{"slug":"shots/hivesteel-needle","title":"Hivesteel Needle","href":"/shots/hivesteel-needle/?feed=shots"},{"slug":"shots/great-taste-of-pharloom","title":"Great Taste Of Pharloom","href":"/shots/great-taste-of-pharloom/?feed=shots"},{"slug":"shots/chef-lugoli","title":"Chef Lugoli","href":"/shots/chef-lugoli/?feed=shots"},{"slug":"shots/production-desktop","title":"Turning my Desktop into a Production Machine","href":"/shots/production-desktop/?feed=shots"},{"slug":"shots/couriers-rasher-full","title":"Couriers Rasher Full","href":"/shots/couriers-rasher-full/?feed=shots"},{"slug":"shots/couriers-rasher-so-close","title":"Couriers Rasher So Close","href":"/shots/couriers-rasher-so-close/?feed=shots"},{"slug":"shots/couriers-rasher-so-close-full","title":"Couriers Rasher So Close Full","href":"/shots/couriers-rasher-so-close-full/?feed=shots"},{"slug":"shots/desk-setup-coffee-and-keyboard","title":"Desk Setup with Keepsakes and Tools","href":"/shots/desk-setup-coffee-and-keyboard/?feed=shots"},{"slug":"shots/raging-conchfly","title":"Raging Conchfly","href":"/shots/raging-conchfly/?feed=shots"},{"slug":"shots/when-you-reach-that-f-it-moment-and-screw-your-carpet-to-the-floor","title":"When You Reach That F-It Moment And Screw Your Carpet To The Floor","href":"/shots/when-you-reach-that-f-it-moment-and-screw-your-carpet-to-the-floor/?feed=shots"},{"slug":"shots/vintage-nectar","title":"Vintage Nector Boss Arena","href":"/shots/vintage-nectar/?feed=shots"},{"slug":"shots/horn-fragment-full","title":"Horn Fragment Full Fight","href":"/shots/horn-fragment-full/?feed=shots"},{"slug":"shots/gaming-keeb-complete","title":"3x3-3 Gaming Keeb Complete","href":"/shots/gaming-keeb-complete/?feed=shots"},{"slug":"shots/wonka-letters","title":"Wonka Letters","href":"/shots/wonka-letters/?feed=shots"},{"slug":"shots/hair-whittling-sharp","title":"Hair Whittling Sharp","href":"/shots/hair-whittling-sharp/?feed=shots"},{"slug":"shots/llama-in-pi-thinks-its-claude","title":"Llama In Pi Thinks Its Claude","href":"/shots/llama-in-pi-thinks-its-claude/?feed=shots"},{"slug":"shots/ty-0.0.26","title":"Ty 0.0.26","href":"/shots/ty-0.0.26/?feed=shots"},{"slug":"shots/smassh-monkeytype-clone-in-the-terminal","title":"Smassh Monkeytype Clone In The Terminal","href":"/shots/smassh-monkeytype-clone-in-the-terminal/?feed=shots"},{"slug":"shots/sparklines-on-the-feeds-header","title":"Sparklines On The Feeds Header","href":"/shots/sparklines-on-the-feeds-header/?feed=shots"},{"slug":"shots/getting-excited-for-this-new-feeds-page","title":"Getting Excited For This New Feeds Page","href":"/shots/getting-excited-for-this-new-feeds-page/?feed=shots"},{"slug":"shots/a-person-holds-a-clear-compartmentalized-tray-containing-multiple-small-sections-filled-with-light-colored-granular-material","title":"A person holds a clear, compartmentalized tray containing multiple small sections filled with light-colored, granular material","href":"/shots/a-person-holds-a-clear-compartmentalized-tray-containing-multiple-small-sections-filled-with-light-colored-granular-material/?feed=shots"},{"slug":"shots/wyatts-first-printed-cosplay-scales","title":"Wyatt’s First Printed Cosplay Scales","href":"/shots/wyatts-first-printed-cosplay-scales/?feed=shots"},{"slug":"shots/wreath-of-purity","title":"Wreath Of Purity","href":"/shots/wreath-of-purity/?feed=shots"},{"slug":"shots/longclaw","title":"Longclaw Acuiquired","href":"/shots/longclaw/?feed=shots"},{"slug":"shots/seekers-soul","title":"Seekers Soul","href":"/shots/seekers-soul/?feed=shots"},{"slug":"shots/groal-the-great-bench","title":"Groal The Great Bench","href":"/shots/groal-the-great-bench/?feed=shots"},{"slug":"shots/groal-the-great","title":"Groal The Great","href":"/shots/groal-the-great/?feed=shots"},{"slug":"shots/updating-the-arch-iso","title":"Updating The Arch Iso","href":"/shots/updating-the-arch-iso/?feed=shots"},{"slug":"shots/almost-cheesed-it-to-port-aquelite","title":"trailmakers pioneers second run - Almost Cheesed It To Port Aquelite","href":"/shots/almost-cheesed-it-to-port-aquelite/?feed=shots"},{"slug":"shots/its-a-trap","title":"trailmakers pioneers second run - Its A Trap","href":"/shots/its-a-trap/?feed=shots"},{"slug":"shots/collection-party-balloon","title":"trailmakers pioneers second run - Collection Party Balloon","href":"/shots/collection-party-balloon/?feed=shots"},{"slug":"shots/collection-l-bracket","title":"trailmakers pioneers second run - Collection L Bracket","href":"/shots/collection-l-bracket/?feed=shots"},{"slug":"shots/wyatt-hits-the-gap","title":"trailmakers pioneers second run - Wyatt Hits The Gap","href":"/shots/wyatt-hits-the-gap/?feed=shots"},{"slug":"shots/dummy13-on-a-skateboard","title":"Dummy13 On A Skateboard","href":"/shots/dummy13-on-a-skateboard/?feed=shots"},{"slug":"shots/goal-the-great-fail-1","title":"Groal The Great Fail 1","href":"/shots/goal-the-great-fail-1/?feed=shots"},{"slug":"shots/goal-the-great-fail-2","title":"Groal The Great Fail 2","href":"/shots/goal-the-great-fail-2/?feed=shots"},{"slug":"shots/credits","title":"Silksong Credits","href":"/shots/credits/?feed=shots"},{"slug":"shots/tmk-3x6+3-gaming-keeb-sliced","title":"Tmk 3x6+3 Gaming Keeb Sliced","href":"/shots/tmk-3x6+3-gaming-keeb-sliced/?feed=shots"},{"slug":"shots/tmk-3x6+3-gaming-promo","title":"Tmk 3x6+3 Gaming Promo","href":"/shots/tmk-3x6+3-gaming-promo/?feed=shots"},{"slug":"shots/tgo-v0.1.0","title":"Tgo V0.1.0","href":"/shots/tgo-v0.1.0/?feed=shots"},{"slug":"shots/one-shot-markata-searchcraft","title":"One Shot Markata Searchcraft","href":"/shots/one-shot-markata-searchcraft/?feed=shots"},{"slug":"shots/waiting-for-my-weekly-token-allowance","title":"Waiting For My Weekly Token Allowance","href":"/shots/waiting-for-my-weekly-token-allowance/?feed=shots"},{"slug":"shots/dropper-just-got-the-clip-editor-i've-dreamed-of","title":"Dropper Just Got The Clip Editor I’ve Dreamed Of","href":"/shots/dropper-just-got-the-clip-editor-i've-dreamed-of/?feed=shots"},{"slug":"shots/dropper-gets-video-thumbnail-upgrade","title":"Dropper Gets Video Thumbnail Upgrade","href":"/shots/dropper-gets-video-thumbnail-upgrade/?feed=shots"},{"slug":"shots/gma-silk-fail1","title":"Gma Silk Fail1","href":"/shots/gma-silk-fail1/?feed=shots"},{"slug":"shots/post-lace2-dream","title":"Post Lace2 Dream","href":"/shots/post-lace2-dream/?feed=shots"},{"slug":"shots/lace2","title":"Lace2","href":"/shots/lace2/?feed=shots"},{"slug":"shots/thoughts-cluster-looks-like-a-flower","title":"Thoughts Cluster Looks Like A Flower","href":"/shots/thoughts-cluster-looks-like-a-flower/?feed=shots"},{"slug":"shots/happy-valentines-breakfast-2026","title":"Happy Valentines Breakfast 2026","href":"/shots/happy-valentines-breakfast-2026/?feed=shots"},{"slug":"shots/new-fast-mode-in-markata-go-is-fun","title":"New Fast Mode In Markata-Go Is Fun","href":"/shots/new-fast-mode-in-markata-go-is-fun/?feed=shots"},{"slug":"shots/brotato-balanced-win","title":"Brotato Balanced Win","href":"/shots/brotato-balanced-win/?feed=shots"},{"slug":"shots/gradient-keycap-results","title":"Gradient Keycap Results","href":"/shots/gradient-keycap-results/?feed=shots"},{"slug":"shots/camp-rock-sign","title":"Camp Rock Sign","href":"/shots/camp-rock-sign/?feed=shots"},{"slug":"shots/gradient-keycaps-in-bambu-studio","title":"Gradient Keycaps In Bambu Studio","href":"/shots/gradient-keycaps-in-bambu-studio/?feed=shots"},{"slug":"shots/camp-rock-letters","title":"Camp Rock Letters","href":"/shots/camp-rock-letters/?feed=shots"},{"slug":"shots/trobio-full2","title":"Trobio Full2","href":"/shots/trobio-full2/?feed=shots"},{"slug":"shots/hornet-sitting","title":"Hornet Sitting","href":"/shots/hornet-sitting/?feed=shots"},{"slug":"shots/trobio-fight","title":"Trobio Fight","href":"/shots/trobio-fight/?feed=shots"},{"slug":"shots/trobio-full","title":"Trobio Full","href":"/shots/trobio-full/?feed=shots"},{"slug":"shots/heringbone-fingerboard","title":"Heringbone Fingerboard","href":"/shots/heringbone-fingerboard/?feed=shots"},{"slug":"shots/high-halls-gauntlet-ending","title":"High Halls Gauntlet Ending","href":"/shots/high-halls-gauntlet-ending/?feed=shots"},{"slug":"shots/conductors-melody","title":"Conductors Melody","href":"/shots/conductors-melody/?feed=shots"},{"slug":"shots/top-spool","title":"Top Spool","href":"/shots/top-spool/?feed=shots"},{"slug":"shots/broodmother-eye","title":"Broodmother Eye","href":"/shots/broodmother-eye/?feed=shots"},{"slug":"shots/big-flea-1","title":"Big Flea 1","href":"/shots/big-flea-1/?feed=shots"},{"slug":"shots/cogfly","title":"Cogfly","href":"/shots/cogfly/?feed=shots"},{"slug":"shots/beast-crest","title":"Beast Crest","href":"/shots/beast-crest/?feed=shots"},{"slug":"shots/clawline","title":"Clawline","href":"/shots/clawline/?feed=shots"},{"slug":"shots/portajohn-progress-01-10-2026","title":"Portajohn Progress 01 10 2026","href":"/shots/portajohn-progress-01-10-2026/?feed=shots"},{"slug":"shots/broodmother-ending","title":"Broodmother Ending","href":"/shots/broodmother-ending/?feed=shots"},{"slug":"shots/broodmother","title":"Broodmother","href":"/shots/broodmother/?feed=shots"},{"slug":"shots/faydown-cloak","title":"Faydown Cloak","href":"/shots/faydown-cloak/?feed=shots"},{"slug":"shots/hornet-on-a-bench","title":"Hornet On A Bench","href":"/shots/hornet-on-a-bench/?feed=shots"},{"slug":"shots/kickflip-down-the-3-stair---fingerboarding","title":"Kickflip Down The 3 Stair - Fingerboarding","href":"/shots/kickflip-down-the-3-stair---fingerboarding/?feed=shots"},{"slug":"shots/i'm-loving-these-akko-creamy-yellow-v3s","title":"I’m Loving These Akko Creamy Yellow V3s","href":"/shots/i'm-loving-these-akko-creamy-yellow-v3s/?feed=shots"},{"slug":"shots/tmk-portajohn-switches","title":"A collection of custom mechanical keyboard keycaps, including several sets of purple, white, and other colored keycaps, are arranged on a wooden desk surface","href":"/shots/tmk-portajohn-switches/?feed=shots"},{"slug":"shots/portajohn3-ironing","title":"Portajohn3 Ironing Issues","href":"/shots/portajohn3-ironing/?feed=shots"},{"slug":"shots/portajohn3-plate","title":"Portajohn3 Keyboard Plate","href":"/shots/portajohn3-plate/?feed=shots"},{"slug":"shots/custom-keyboard-keycaps-and-3d-printer","title":"Custom Keyboard Keycaps and 3D Printer","href":"/shots/custom-keyboard-keycaps-and-3d-printer/?feed=shots"},{"slug":"shots/my-first-hand-pressed-fingerboard-complete","title":"My First Hand Pressed Fingerboard Complete","href":"/shots/my-first-hand-pressed-fingerboard-complete/?feed=shots"},{"slug":"shots/new-dart-board-in-the-basement","title":"New Dart Board In The Basement","href":"/shots/new-dart-board-in-the-basement/?feed=shots"},{"slug":"shots/first-fingerboard-in-the-press","title":"First Fingerboard In The Press","href":"/shots/first-fingerboard-in-the-press/?feed=shots"},{"slug":"shots/garmond-and-zaza","title":"Garmond And Zaza","href":"/shots/garmond-and-zaza/?feed=shots"},{"slug":"shots/simon-says-bell-ending","title":"Simon Says Bell Ending","href":"/shots/simon-says-bell-ending/?feed=shots"},{"slug":"shots/simon-says-bell","title":"Simon Says Bell","href":"/shots/simon-says-bell/?feed=shots"},{"slug":"shots/codeium-is-cooked","title":"Codeium Is Cooked","href":"/shots/codeium-is-cooked/?feed=shots"},{"slug":"shots/phantom-end","title":"Phantom End","href":"/shots/phantom-end/?feed=shots"},{"slug":"shots/phantom-fight","title":"Phantom Fight","href":"/shots/phantom-fight/?feed=shots"},{"slug":"shots/phantom","title":"Phantom","href":"/shots/phantom/?feed=shots"},{"slug":"shots/fixing-the-marquee-for-jolly-holiday","title":"Fixing The Marquee For Jolly Holiday","href":"/shots/fixing-the-marquee-for-jolly-holiday/?feed=shots"},{"slug":"shots/finished-elf-house","title":"Finished Elf House","href":"/shots/finished-elf-house/?feed=shots"},{"slug":"shots/cogwork-saved-pill","title":"Cogwork Saved Pill","href":"/shots/cogwork-saved-pill/?feed=shots"},{"slug":"shots/dude-is-focused","title":"Dude Locked In","href":"/shots/dude-is-focused/?feed=shots"},{"slug":"shots/cogwork-core-gang-fight","title":"Cogwork Core Gang Fight","href":"/shots/cogwork-core-gang-fight/?feed=shots"},{"slug":"shots/cogwork-dancers-fight","title":"Cogwork Dancers Fight","href":"/shots/cogwork-dancers-fight/?feed=shots"},{"slug":"shots/slab-fight","title":"Slab Fight","href":"/shots/slab-fight/?feed=shots"},{"slug":"shots/stolen-dress","title":"Stolen Dress","href":"/shots/stolen-dress/?feed=shots"},{"slug":"shots/moss-mother-2-fight","title":"Moss Mother 2 Fight","href":"/shots/moss-mother-2-fight/?feed=shots"},{"slug":"shots/moorwing","title":"Moorwing","href":"/shots/moorwing/?feed=shots"},{"slug":"shots/needle-strike","title":"Needle Strike","href":"/shots/needle-strike/?feed=shots"},{"slug":"shots/conchflies-fight","title":"Conchflies Fight","href":"/shots/conchflies-fight/?feed=shots"},{"slug":"shots/forebrothers-fight","title":"Forebrothers Fight","href":"/shots/forebrothers-fight/?feed=shots"},{"slug":"shots/forebrothers-full","title":"Forebrothers Full","href":"/shots/forebrothers-full/?feed=shots"},{"slug":"shots/forebrothers","title":"Forebrothers","href":"/shots/forebrothers/?feed=shots"},{"slug":"shots/bambu-poop-flinger-unjammed","title":"Bambu Poop Flinger Unjammed","href":"/shots/bambu-poop-flinger-unjammed/?feed=shots"},{"slug":"shots/bambu-poop-flinger-jammed","title":"Bambu Poop Flinger Jammed","href":"/shots/bambu-poop-flinger-jammed/?feed=shots"},{"slug":"shots/apple-boxes-complete","title":"Apple Boxes Complete","href":"/shots/apple-boxes-complete/?feed=shots"},{"slug":"shots/design-for-bosch-colt-dust-collection-v1","title":"Design For Bosch Colt Dust Collection V1","href":"/shots/design-for-bosch-colt-dust-collection-v1/?feed=shots"},{"slug":"shots/dust-collection-for-bosch-colt-v0","title":"Dust Collection For Bosch Colt V0","href":"/shots/dust-collection-for-bosch-colt-v0/?feed=shots"},{"slug":"shots/corner-clamp-v1-isometric","title":"Corner Clamp V1 Isometric","href":"/shots/corner-clamp-v1-isometric/?feed=shots"},{"slug":"shots/act-ii","title":"Act II","href":"/shots/act-ii/?feed=shots"},{"slug":"shots/last-judge","title":"Last Judge","href":"/shots/last-judge/?feed=shots"},{"slug":"shots/3d-printed-thread-test","title":"3d Printed Thread Test","href":"/shots/3d-printed-thread-test/?feed=shots"},{"slug":"shots/3d-printed-dovetails-fanned-out","title":"3d Printed Dovetails Fanned Out","href":"/shots/3d-printed-dovetails-fanned-out/?feed=shots"},{"slug":"shots/handle-jig-alignment-window","title":"Handle Jig Alignment Window","href":"/shots/handle-jig-alignment-window/?feed=shots"},{"slug":"shots/sister-splinter","title":"Sister Splinter","href":"/shots/sister-splinter/?feed=shots"},{"slug":"shots/cling-grip-bind","title":"Cling Grip Bind","href":"/shots/cling-grip-bind/?feed=shots"},{"slug":"shots/wanderers-crest-bind","title":"Wanderers Crest Bind","href":"/shots/wanderers-crest-bind/?feed=shots"},{"slug":"shots/reapers-crest-gangfight","title":"Reapers Crest Gangfight","href":"/shots/reapers-crest-gangfight/?feed=shots"},{"slug":"shots/violent-flintbeetle-2","title":"Violent Flintbeetle 2","href":"/shots/violent-flintbeetle-2/?feed=shots"},{"slug":"shots/violent-flintbeetle-granted","title":"Violent Flintbeetle Granted","href":"/shots/violent-flintbeetle-granted/?feed=shots"},{"slug":"shots/violent-flintbeetle-3","title":"Violent Flintbeetle 3","href":"/shots/violent-flintbeetle-3/?feed=shots"},{"slug":"shots/violent-flintbeetle-1","title":"Violent Flintbeetle 1","href":"/shots/violent-flintbeetle-1/?feed=shots"},{"slug":"shots/kubernetes-keycap-test-print","title":"Kubernetes-Inspired Keycap Test Print","href":"/shots/kubernetes-keycap-test-print/?feed=shots"},{"slug":"shots/covetous-pilgrim","title":"Covetous Pilgrim","href":"/shots/covetous-pilgrim/?feed=shots"},{"slug":"shots/sherwood-gangfight","title":"Sherwood Gangfight","href":"/shots/sherwood-gangfight/?feed=shots"},{"slug":"shots/long-pin","title":"Long Pin","href":"/shots/long-pin/?feed=shots"},{"slug":"shots/halfway-home-gang-fight","title":"Halfway Home Gang Fight","href":"/shots/halfway-home-gang-fight/?feed=shots"},{"slug":"shots/rosary-string","title":"Rosary String","href":"/shots/rosary-string/?feed=shots"},{"slug":"shots/threefold-pin","title":"Threefold Pin","href":"/shots/threefold-pin/?feed=shots"},{"slug":"shots/thread-storm","title":"Thread Storm","href":"/shots/thread-storm/?feed=shots"},{"slug":"shots/funk-track-1","title":"Funk Track 1","href":"/shots/funk-track-1/?feed=shots"},{"slug":"shots/a-full-cheese-board","title":"A Full Cheese Board","href":"/shots/a-full-cheese-board/?feed=shots"},{"slug":"shots/full-box-of-cheese-caps","title":"Full Box Of Cheese Caps","href":"/shots/full-box-of-cheese-caps/?feed=shots"},{"slug":"shots/printing-a-full-plate-of-cheese-hats","title":"Printing A Full Plate Of Cheese Hats","href":"/shots/printing-a-full-plate-of-cheese-hats/?feed=shots"},{"slug":"shots/cheese-cap-on-a-macropad","title":"Cheese Cap On A Macropad","href":"/shots/cheese-cap-on-a-macropad/?feed=shots"},{"slug":"shots/a-box-of-caps-and-a-macropad","title":"A Box Of Caps And A Macropad","href":"/shots/a-box-of-caps-and-a-macropad/?feed=shots"},{"slug":"shots/heart-of-a-macropad","title":"Heart Of A Macropad","href":"/shots/heart-of-a-macropad/?feed=shots"},{"slug":"shots/first-cap-hat,-it's-a-heart","title":"First Cap Hat, It’s A Heart","href":"/shots/first-cap-hat,-it's-a-heart/?feed=shots"},{"slug":"shots/first-box-of-caps","title":"First Box Of Caps","href":"/shots/first-box-of-caps/?feed=shots"},{"slug":"shots/fourth-chorus","title":"Fourth Chorus","href":"/shots/fourth-chorus/?feed=shots"},{"slug":"shots/lace","title":"Lace","href":"/shots/lace/?feed=shots"},{"slug":"shots/beginning-of-little-boxes","title":"Beginning Of Little Boxes","href":"/shots/beginning-of-little-boxes/?feed=shots"},{"slug":"shots/skull-ant","title":"Skull Ant","href":"/shots/skull-ant/?feed=shots"},{"slug":"shots/silkspeer","title":"Silkspeer","href":"/shots/silkspeer/?feed=shots"},{"slug":"shots/berry-picking","title":"Berry Picking","href":"/shots/berry-picking/?feed=shots"},{"slug":"shots/mark-of-pride-hollow-knight-keeb-run","title":"Mark Of Pride Hollow Knight Keeb Run","href":"/shots/mark-of-pride-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/defeating-the-mantis-lords","title":"Defeating The Mantis Lords","href":"/shots/defeating-the-mantis-lords/?feed=shots"},{"slug":"shots/mantis-lords-defeat-hollow-knight-keeb-run","title":"Mantis Lords Defeat Hollow Knight Keeb Run","href":"/shots/mantis-lords-defeat-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/challenging-the-mantis-lords-hollow-knight-keeb-run","title":"Challenging The Mantis Lords Hollow Knight Keeb Run","href":"/shots/challenging-the-mantis-lords-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/thorny-wanderers-journal-hollow-knight-keeb-run","title":"Thorny Wanderers Journal Hollow Knight Keeb Run","href":"/shots/thorny-wanderers-journal-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/spore-shroom-hollow-knight-keeb-run","title":"Spore Shroom Hollow Knight Keeb Run","href":"/shots/spore-shroom-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/thorny-mask-shard-hollow-knight-keeb-run","title":"Thorny Mask Shard Hollow Knight Keeb Run","href":"/shots/thorny-mask-shard-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/cut-away-keycap-down","title":"Cut Away Keycap Down","href":"/shots/cut-away-keycap-down/?feed=shots"},{"slug":"shots/cutaway-key-cap-up","title":"Cutaway Key Cap Up","href":"/shots/cutaway-key-cap-up/?feed=shots"},{"slug":"shots/freshly-cut-keycap-cut-away","title":"Freshly Cut Keycap Cut Away","href":"/shots/freshly-cut-keycap-cut-away/?feed=shots"},{"slug":"shots/aquiring-ismas-tear-hollow-knight-keeb-run","title":"Aquiring Ismas Tear Hollow Knight Keeb Run","href":"/shots/aquiring-ismas-tear-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/ismas-tear-battle-hollow-knight-keeb-run","title":"Ismas Tear Battle Hollow Knight Keeb Run","href":"/shots/ismas-tear-battle-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/climbing-out-of-deep-nest-in-hollow-knight-keeb-run","title":"Climbing Out Of Deep Nest In Hollow Knight Keeb Run","href":"/shots/climbing-out-of-deep-nest-in-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/doing-some-keeb-modeling-and-thought-this-was-cool","title":"Doing Some Keeb Modeling And Thought This Was Cool","href":"/shots/doing-some-keeb-modeling-and-thought-this-was-cool/?feed=shots"},{"slug":"shots/knife-sharpener-double-hinge-wing-nut","title":"Knife Sharpener Double Hinge Wing Nut","href":"/shots/knife-sharpener-double-hinge-wing-nut/?feed=shots"},{"slug":"shots/knife-sharpener-double-hinge-first-try","title":"Knife Sharpener Double Hinge First Try","href":"/shots/knife-sharpener-double-hinge-first-try/?feed=shots"},{"slug":"shots/knife-sharpenter-double-hinge-mid-print","title":"Knife Sharpenter Double Hinge Mid Print","href":"/shots/knife-sharpenter-double-hinge-mid-print/?feed=shots"},{"slug":"shots/kings-station-in-hollow-knight-keeb-run","title":"Kings Station In Hollow Knight Keeb Run","href":"/shots/kings-station-in-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/defeating-the-dung-defender-in-hollow-knight-keeb-run","title":"Defeating The Dung Defender In Hollow Knight Keeb Run","href":"/shots/defeating-the-dung-defender-in-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/unlock-royal-waterway-bench-in-hollow-knight-keeb","title":"Unlock Royal Waterway Bench In Hollow Knight Keeb","href":"/shots/unlock-royal-waterway-bench-in-hollow-knight-keeb/?feed=shots"},{"slug":"shots/entering-royal-waterway-hollow-knight-keeb-run","title":"Entering Royal Waterway Hollow Knight Keeb Run","href":"/shots/entering-royal-waterway-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/unlocking-royal-waterways-in-hollow-knight-keeb-run","title":"Unlocking Royal Waterways In Hollow Knight Keeb Run","href":"/shots/unlocking-royal-waterways-in-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/getting-the-lumafly-lantern-in-my-hollow-knight-keeb-run","title":"Getting The Lumafly Lantern In My Hollow Knight Keeb Run","href":"/shots/getting-the-lumafly-lantern-in-my-hollow-knight-keeb-run/?feed=shots"},{"slug":"shots/helmet-hidden-in-design","title":"Helmet Hidden In Design","href":"/shots/helmet-hidden-in-design/?feed=shots"},{"slug":"shots/wyatt-drew-a-watertower-in-aesprite","title":"Wyatt Drew A Watertower In Aesprite","href":"/shots/wyatt-drew-a-watertower-in-aesprite/?feed=shots"},{"slug":"shots/homelab-update-jul-2025","title":"Homelab Update Jul 2025","href":"/shots/homelab-update-jul-2025/?feed=shots"},{"slug":"shots/2x2-test-board","title":"Custom Keyboard Keycaps","href":"/shots/2x2-test-board/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---nooo-luuucy","title":"Dont Starve Together Session One - Nooo Luuucy","href":"/shots/dont-starve-together-session-one---nooo-luuucy/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---burt-food","title":"Dont Starve Together Session One - Burt Food","href":"/shots/dont-starve-together-session-one---burt-food/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---getting-into-it-with-a-clockwork-bishop","title":"Dont Starve Together Session One - Getting Into It With A Clockwork Bishop","href":"/shots/dont-starve-together-session-one---getting-into-it-with-a-clockwork-bishop/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---getting-a-hat","title":"Dont Starve Together Session One - Getting A Hat","href":"/shots/dont-starve-together-session-one---getting-a-hat/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---opening-up-the-garden","title":"Dont Starve Together Session One - Opening Up The Garden","href":"/shots/dont-starve-together-session-one---opening-up-the-garden/?feed=shots"},{"slug":"shots/dont-starve-together-session-one---setting-up-base","title":"Dont Starve Together Session One - Setting Up Base","href":"/shots/dont-starve-together-session-one---setting-up-base/?feed=shots"},{"slug":"shots/first-encounter-with-a-tall-bird","title":"Dont Starve Together Session One - First Encounter With A Tall Bird","href":"/shots/first-encounter-with-a-tall-bird/?feed=shots"},{"slug":"shots/dont-starve-together-session-one-start","title":"Dont Starve Together Session One Start","href":"/shots/dont-starve-together-session-one-start/?feed=shots"},{"slug":"shots/test-low-profile-keycaps-abcd","title":"My Firs Keycaps with Symbols","href":"/shots/test-low-profile-keycaps-abcd/?feed=shots"},{"slug":"shots/my-first-keycap-symbols","title":"First Self-Designed Keycaps and Symbols","href":"/shots/my-first-keycap-symbols/?feed=shots"},{"slug":"shots/my-first-printed-keycaps","title":"My First Printed Keycaps Are Here","href":"/shots/my-first-printed-keycaps/?feed=shots"},{"slug":"shots/portajohn2-on-portajohn1","title":"Modular Input Device on Wood","href":"/shots/portajohn2-on-portajohn1/?feed=shots"},{"slug":"shots/portajohn-monoblock-keyboard-design","title":"The Portajohn Monoblock Keyboard Design","href":"/shots/portajohn-monoblock-keyboard-design/?feed=shots"},{"slug":"shots/portajohn1-wiring","title":"Laying some wire in PortaJohn 1","href":"/shots/portajohn1-wiring/?feed=shots"},{"slug":"shots/portajohn-first-test","title":"Laying down the first test print of a portajohn on a laptop","href":"/shots/portajohn-first-test/?feed=shots"},{"slug":"shots/corne-keebmaker-palm-rest","title":"Keebmaker Corne on Leather Palm Rest","href":"/shots/corne-keebmaker-palm-rest/?feed=shots"},{"slug":"shots/mcdoc-day-18","title":"Minecraft Doc Day 18","href":"/shots/mcdoc-day-18/?feed=shots"},{"slug":"shots/mcdoc-day-17","title":"Minecraft Doc Day 17","href":"/shots/mcdoc-day-17/?feed=shots"},{"slug":"shots/mcdoc-day-12b","title":"Minecraft Doc Day 12","href":"/shots/mcdoc-day-12b/?feed=shots"},{"slug":"shots/mcdoc-day-12","title":"Minecraft Doc Day 12","href":"/shots/mcdoc-day-12/?feed=shots"},{"slug":"shots/mcdoc-day-11b","title":"Minecraft Doc Day 11","href":"/shots/mcdoc-day-11b/?feed=shots"},{"slug":"shots/mcdoc-day-11","title":"Minecraft Doc Day 11","href":"/shots/mcdoc-day-11/?feed=shots"},{"slug":"shots/mcdoc-day-10","title":"Minecraft Doc Day 10","href":"/shots/mcdoc-day-10/?feed=shots"},{"slug":"shots/mcdoc-day-9","title":"Minecraft Doc Day 9","href":"/shots/mcdoc-day-9/?feed=shots"},{"slug":"shots/mcdoc-day-8","title":"Minecraft Doc Day 8","href":"/shots/mcdoc-day-8/?feed=shots"},{"slug":"shots/mcdoc-day-7","title":"Minecraft Doc Day 7","href":"/shots/mcdoc-day-7/?feed=shots"},{"slug":"shots/mcdoc-day-6","title":"Minecraft Doc Day 6","href":"/shots/mcdoc-day-6/?feed=shots"},{"slug":"shots/mcdoc-day-5","title":"Minecraft Doc Day 5","href":"/shots/mcdoc-day-5/?feed=shots"},{"slug":"shots/mcdoc-day-4","title":"Minecraft Doc Day 4","href":"/shots/mcdoc-day-4/?feed=shots"},{"slug":"shots/mcdoc-day-3","title":"Minecraft Doc Day 3","href":"/shots/mcdoc-day-3/?feed=shots"},{"slug":"shots/mcdoc-day-2","title":"Minecraft Doc Day 2","href":"/shots/mcdoc-day-2/?feed=shots"},{"slug":"shots/mcdoc-day-1","title":"Minecraft Doc Day 1","href":"/shots/mcdoc-day-1/?feed=shots"},{"slug":"shots/minecraft-doc-day-0","title":"Minecraft Doc Day 0","href":"/shots/minecraft-doc-day-0/?feed=shots"},{"slug":"shots/carry-apr-2022","title":"Current /carry April 2022","href":"/shots/carry-apr-2022/?feed=shots"},{"slug":"shots/new-corne-glowing-purple","title":"New Black Corne with purple glow","href":"/shots/new-corne-glowing-purple/?feed=shots"}],"totalPosts":277}],"rotationFeedSlugs":["archive","blog","ping","til","thoughts-feed","pings","shots","all"],"currentFeedIndex":0,"currentPostSlug":"itrsquos-just-the-carpethellip"} (() => { const calendarLink = document.getElementById('feed-nav-calendar-link'); const picker = document.getElementById('feed-nav-select'); if (!calendarLink || !picker) return; const updateCalendarLink = () => { const slug = picker.value || ''; calendarLink.href = (slug ? `/${slug}/` : '/') + '?view=calendar'; }; picker.addEventListener('change', updateCalendarLink); new MutationObserver(updateCalendarLink).observe(picker, { childList: true, subtree: true }); updateCalendarLink(); })(); It’s just the Carpet… ━━━━━━━━━━━━━━━━━━━━━ Waylon Walker Author Sep 5, 2026 Copy this post URL Rich Markdown Text View Markdown View Text curl .ansi {"title":"It’s just the Carpet…","url":"https://waylonwalker.com/itrsquos-just-the-carpethellip/","markdown":"# It’s just the Carpet…\n\nSource: https://waylonwalker.com/itrsquos-just-the-carpethellip/\n\n---\ntitle: \"It\u0026rsquo;s just the Carpet\u0026hellip;\"\ndate: 2026-09-05\npublished: true\ntemplate: link\n---","text":"It’s just the Carpet…\n━━━━━━━━━━━━━━━━━━━━━\n\nDate: September 5, 2026\n\nImage: https://shots.wayl.one/shot/?url=https%3A%2F%2Frhiannonwalker.com%2Fcarpet%2Fog%2F\u0026height=600\u0026width=1200\u0026scaled_width=1200\u0026scaled_height=600\u0026format=jpg\n\nSource: https://waylonwalker.com/itrsquos-just-the-carpethellip/","markdown_url":"https://waylonwalker.com/itrsquos-just-the-carpethellip.md","text_url":"https://waylonwalker.com/itrsquos-just-the-carpethellip.txt","ansi_curl":"curl https://waylonwalker.com/itrsquos-just-the-carpethellip.ansi"} (function() { if (window.__markataPostCopyBound) { return; } window.__markataPostCopyBound = true; function copyText(text) { if (!text) { return Promise.reject(new Error('missing copy text')); } if (navigator.clipboard && navigator.clipboard.writeText) { return navigator.clipboard.writeText(text); } var textarea = document.createElement('textarea'); textarea.value = text; textarea.setAttribute('readonly', ''); textarea.style.position = 'absolute'; textarea.style.left = '-9999px'; document.body.appendChild(textarea); textarea.select(); textarea.setSelectionRange(0, textarea.value.length); var result = document.execCommand('copy'); document.body.removeChild(textarea); return result ? Promise.resolve() : Promise.reject(new Error('execCommand failed')); } function setAbsoluteURLs(container, rootURL) { var attrs = ['href', 'src', 'poster']; attrs.forEach(function(attr) { var selector = '[' + attr + ']'; container.querySelectorAll(selector).forEach(function(node) { var value = node.getAttribute(attr); if (!value) { return; } try { node.setAttribute(attr, new URL(value, rootURL).href); } catch (err) { } }); }); } function removeCopyNoise(container) { container.querySelectorAll('.anchor, .heading-anchor, [aria-hidden="true"], [role="presentation"]').forEach(function(node) { node.remove(); }); container.querySelectorAll('h1 a[href^="#"], h2 a[href^="#"], h3 a[href^="#"], h4 a[href^="#"], h5 a[href^="#"], h6 a[href^="#"]').forEach(function(node) { node.remove(); }); container.querySelectorAll('pre code').forEach(function(node) { var language = ''; (node.className || '').split(/\s+/).forEach(function(className) { if (className.indexOf('language-') === 0) { language = className.slice('language-'.length); } }); var pre = node.parentNode; pre.setAttribute('data-copy-code-block', 'true'); if (language) { pre.setAttribute('data-language', language); node.setAttribute('data-language', language); } node.textContent = (node.textContent || '').replace(/\n+$/, ''); }); } function applyRichStyles(container) { var styles = { h1: 'margin:0 0 16px;font-size:2em;font-weight:700;line-height:1.2;', h2: 'margin:28px 0 14px;font-size:1.5em;font-weight:700;line-height:1.25;', h3: 'margin:24px 0 12px;font-size:1.25em;font-weight:700;line-height:1.3;', h4: 'margin:20px 0 10px;font-size:1.1em;font-weight:700;line-height:1.35;', h5: 'margin:18px 0 8px;font-size:1em;font-weight:700;line-height:1.4;', h6: 'margin:16px 0 8px;font-size:0.95em;font-weight:700;line-height:1.4;', p: 'margin:0 0 14px;line-height:1.6;white-space:normal;', ul: 'margin:0 0 16px;padding-left:24px;', ol: 'margin:0 0 16px;padding-left:24px;', li: 'margin:0 0 6px;', blockquote: 'margin:20px 0;padding:4px 0 4px 16px;border-left:3px solid #cbd5e1;', pre: 'margin:16px 0;padding:12px 14px;white-space:pre-wrap;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;', code: 'font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;', a: 'text-decoration:underline;', hr: 'margin:24px 0;', img: 'max-width:100%;height:auto;', table: 'border-collapse:collapse;margin:16px 0;', th: 'border:1px solid #d0d7de;padding:6px 10px;text-align:left;', td: 'border:1px solid #d0d7de;padding:6px 10px;text-align:left;' }; Object.keys(styles).forEach(function(selector) { container.querySelectorAll(selector).forEach(function(node) { var existing = node.getAttribute('style'); node.setAttribute('style', styles[selector] + (existing ? existing : '')); }); }); container.querySelectorAll('[data-copy-code-block]').forEach(function(node) { var existing = node.getAttribute('style'); node.setAttribute('style', 'margin:16px 0;padding:12px 14px;white-space:pre-wrap;overflow:auto;background:#f8fafc;' + (existing ? existing : '')); }); } function buildRichPayload(root) { var data = readPayload(root); var title = data.title || document.title; var url = data.url || window.location.href; var article = document.querySelector('.post .post-content'); var wrapper = document.createElement('div'); var heading = document.createElement('h1'); var source = document.createElement('p'); var link = document.createElement('a'); heading.textContent = title; link.href = url; link.textContent = url; source.appendChild(link); wrapper.appendChild(heading); wrapper.appendChild(source); if (article) { var content = article.cloneNode(true); removeCopyNoise(content); setAbsoluteURLs(content, url); applyRichStyles(content); wrapper.appendChild(content); } heading.setAttribute('style', 'margin:0 0 16px;font-size:2em;font-weight:700;line-height:1.2;'); source.setAttribute('style', 'margin:0 0 18px;line-height:1.5;white-space:normal;'); link.setAttribute('style', 'text-decoration:underline;'); return { html: wrapper.innerHTML, text: data.text || url }; } function readPayload(root) { var payloadNode = root.querySelector('.post-copy__payload'); var raw = payloadNode ? payloadNode.textContent : '{}'; try { return JSON.parse(raw); } catch (err) { return {}; } } function copyRich(root) { var payload = buildRichPayload(root); if (window.ClipboardItem && navigator.clipboard && navigator.clipboard.write) { var item = new ClipboardItem({ 'text/html': new Blob([payload.html], { type: 'text/html' }), 'text/plain': new Blob([payload.text], { type: 'text/plain' }) }); return navigator.clipboard.write([item]).catch(function() { return copyText(payload.text); }); } return copyText(payload.text); } function feedbackMessage(kind) { if (kind === 'url') { return 'URL copied'; } if (kind === 'rich') { return 'Rich copy ready'; } if (kind === 'markdown') { return 'Markdown copied'; } if (kind === 'text') { return 'Text copied'; } if (kind === 'markdown-url') { return 'Markdown URL copied'; } if (kind === 'text-url') { return 'Text URL copied'; } if (kind === 'ansi-curl') { return 'curl command copied'; } return 'Copied'; } function buildFormatPath(ext) { var path = window.location.pathname || '/'; if (path !== '/' && path.endsWith('/')) { path = path.slice(0, -1); } return path + ext; } document.addEventListener('click', function(event) { var button = event.target.closest('.post-copy__option'); if (!button) { return; } var root = button.closest('[data-post-copy]'); if (!root) { return; } var status = root.querySelector('.post-copy__status'); var details = root.querySelector('.post-copy__details'); var kind = button.dataset.copyKind; var data = readPayload(root); var action; if (kind === 'markdown-url') { if (details) { details.open = false; } window.location.href = buildFormatPath('.md'); return; } if (kind === 'text-url') { if (details) { details.open = false; } window.location.href = buildFormatPath('.txt'); return; } if (kind === 'url') { action = copyText(data.url || window.location.href); } else if (kind === 'rich') { action = copyRich(root); } else if (kind === 'markdown') { action = copyText(data.markdown || ''); } else if (kind === 'ansi-curl') { action = copyText(data.ansi_curl || ''); } else { action = copyText(data.text || ''); } action.then(function() { root.dataset.copyState = 'copied'; if (status) { status.textContent = feedbackMessage(kind); } if (details) { details.open = false; } window.setTimeout(function() { if (status) { status.textContent = ''; } root.dataset.copyState = ''; }, 1800); }).catch(function() { root.dataset.copyState = 'error'; if (status) { status.textContent = 'Unable to copy'; } window.setTimeout(function() { if (status) { status.textContent = ''; } root.dataset.copyState = ''; }, 1800); }); }); })(); Share this post ─────────────── Twitter Bluesky LinkedIn WhatsApp Facebook Telegram Pinterest Reddit Hacker News Email Copy link (function() { if (window.__markataShareCopyBound) { return; } window.__markataShareCopyBound = true; function copyToClipboard(text) { if (!text) { return Promise.reject(); } if (navigator.clipboard && navigator.clipboard.writeText) { return navigator.clipboard.writeText(text); } var textarea = document.createElement('textarea'); textarea.value = text; textarea.setAttribute('readonly', ''); textarea.style.position = 'absolute'; textarea.style.left = '-9999px'; document.body.appendChild(textarea); textarea.select(); textarea.setSelectionRange(0, textarea.value.length); var result = document.execCommand('copy'); document.body.removeChild(textarea); return result ? Promise.resolve() : Promise.reject(); } function showDesktopToast(target, text) { if (!target) { return; } if (window.matchMedia && !window.matchMedia('(min-width: 769px)').matches) { return; } target.textContent = text; target.classList.add('share-toast--visible'); clearTimeout(target._timeout); target._timeout = window.setTimeout(function() { target.classList.remove('share-toast--visible'); }, 1600); } document.addEventListener('click', function(event) { var button = event.target.closest('[data-share-action="copy"]'); if (!button) { return; } event.preventDefault(); var payload = button.dataset.shareCopy; if (!payload) { return; } var hint = button.querySelector('.share-button__hint'); var defaultLabel = button.dataset.shareLabel || button.getAttribute('aria-label') || 'Copy link'; var feedback = button.dataset.shareFeedback || 'Link copied to clipboard'; var panel = button.closest('.share-panel'); var toast = panel ? panel.querySelector('.share-toast') : null; copyToClipboard(payload).then(function() { if (hint) { hint.textContent = feedback; } button.setAttribute('aria-label', feedback); button.classList.add('share-button--copied'); showDesktopToast(toast, feedback); window.setTimeout(function() { if (hint) { hint.textContent = ''; } button.setAttribute('aria-label', defaultLabel); button.classList.remove('share-button--copied'); }, 1800); }).catch(function() { if (hint) { hint.textContent = 'Unable to copy'; } }); }); })(); /about Article /about Husband, dad of two, and hobbyist builder of things on the internet. metaslash /now Article /now This page is meant to be simple view into what is happening in my life right now. Inspired by @NowNowNow. and Derek Sivers. slash /colophon Article /colophon Colophon a page that describes how the site > is made, with what tools, supporting what technologies blogdevmeta /blogroll Followed sites /blogroll The blogs and feeds I follow. 115 sources /reader RSS reader /reader Recent articles, videos, and podcasts from followed RSS feeds. 115 sources /ai Article /ai Last updated Jan 2026. aillmslash Twitter(opens in new tab) GitHub(opens in new tab) LinkedIn(opens in new tab) View as: Markdown Text ANSI Card © 2026 Waylon Walker. Waylon Walker https://waylonwalker.com Waylon Walker's personal blog Keyboard Shortcuts ────────────────── × ### Scrolling +---------+------------------+ | j | Scroll down | +---------+------------------+ | k | Scroll up | | g g | Scroll to top | | Shift G | Scroll to bottom | | d | Half-page down | | u | Half-page up | +---------+------------------+ ### Navigation +-------------+-------------------------------------------------------+ | j / ↓ | Next post (in feeds) | +-------------+-------------------------------------------------------+ | k / ↑ | Previous post (in feeds) | | Enter / o | Open highlighted post | | Shift O | Open in new tab | | g h | Go to home | | g s | Focus search | | [ / Shift K | Previous post in series (or previous page) | | ] / Shift J | Next post in series (or next page) | | b | Toggle left sidebar | | Shift B | Toggle right sidebar | | s | Toggle reader mode (posts) / simple/rich view (feeds) | +-------------+-------------------------------------------------------+ ### Theme +-------+------------------------+ | t | Open theme picker | +-------+------------------------+ | , / . | Previous / Next theme | | < / > | Previous / Next style | | F / f | Previous / Next font | | \ | Toggle dark/light mode | +-------+------------------------+ ### Utility +--------+----------------------------+ | / | Focus search input | +--------+----------------------------+ | ⌘CtrlK | Focus search (alternative) | | y y | Copy URL to clipboard | | ? | Show this help | | Esc | Close / clear highlight | +--------+----------------------------+ Disable Shortcuts Shortcuts are disabled when typing in input fields // Honor prefers-reduced-motion: pause autoplaying preview videos (function() { function handleReducedMotion() { if (!window.matchMedia) return; if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) return; document.querySelectorAll('video[autoplay]').forEach((v) => { try { v.pause(); v.removeAttribute('autoplay'); } catch (_) { // ignore } }); } handleReducedMotion(); if (window.matchMedia) { const mq = window.matchMedia('(prefers-reduced-motion: reduce)'); if (mq && typeof mq.addEventListener === 'function') { mq.addEventListener('change', handleReducedMotion); } } })(); // Custom Navigation Shortcuts from config // Mention Cards - load once, the first time a page has mention links. // SPA navigation can reach such a page after a first page without any; // once loaded the script re-initialises itself on view-transition-complete. (function() { var mentionCardsLoaded = false; function loadMentionCards() { if (mentionCardsLoaded || !document.querySelector('a.mention')) return; mentionCardsLoaded = true; window.removeEventListener('view-transition-complete', loadMentionCards); var mentionScript = document.createElement('script'); mentionScript.src = '/js/mention-cards.eadff291.js'; mentionScript.defer = true; document.body.appendChild(mentionScript); } loadMentionCards(); if (!mentionCardsLoaded) window.addEventListener('view-transition-complete', loadMentionCards); })(); // Keyboard Shortcuts Registry - load the core registry first, then load dependent scripts const shortcutsRegistryScript = document.createElement('script'); shortcutsRegistryScript.src = '/js/shortcuts-registry.47e34d14.js'; // Use onload to ensure registry is fully loaded before dependent scripts shortcutsRegistryScript.onload = function() { // Keyboard Shortcuts - load search and core shortcuts if (document.querySelector('#pagefind-search, #shortcuts-modal, [type="search"]')) { const shortcutsScript = document.createElement('script'); shortcutsScript.src = '/js/search-shortcuts.5d0d8901.js'; document.body.appendChild(shortcutsScript); } // Scrolling Shortcuts - always available const scrollingScript = document.createElement('script'); scrollingScript.src = '/js/scrolling-shortcuts.b3e4e8fa.js'; document.body.appendChild(scrollingScript); // Navigation Shortcuts - load if feed, post cards, or prev/next navigation exist if (document.querySelector('.feed, .feed-sidebar, .doc-sidebar, .post-nav, .card, [data-card], [data-action="prev"], [data-action="next"], .pagination-prev, .pagination-next')) { const navigationScript = document.createElement('script'); navigationScript.src = '/js/navigation-shortcuts.d9c93267.js'; document.body.appendChild(navigationScript); } // History Shortcuts - always available (go back/forward) const historyScript = document.createElement('script'); historyScript.src = '/js/history-shortcuts.06ade051.js'; document.body.appendChild(historyScript); }; document.body.appendChild(shortcutsRegistryScript); // Custom Shortcuts - load if custom shortcuts are defined in config // Pagination (JS mode) - only load if JS pagination element exists if (document.querySelector('.pagination-js')) { const paginationScript = document.createElement('script'); paginationScript.src = '/js/pagination.361bd4f5.js'; paginationScript.defer = true; document.body.appendChild(paginationScript); } if (document.querySelector('video[data-hover-play]')) { const hoverPlayVideoScript = document.createElement('script'); hoverPlayVideoScript.src = '/js/hover-play-video.1e0c4237.js'; hoverPlayVideoScript.defer = true; document.body.appendChild(hoverPlayVideoScript); } // Feed cycling - populates the feed sidebar picker, counter, and prev/next // feed controls when the page ships feed sidebar data. if (document.querySelector('#feed-sidebar-data')) { const feedCyclingScript = document.createElement('script'); feedCyclingScript.src = '/js/feed-cycling.938a27de.js'; feedCyclingScript.defer = true; document.body.appendChild(feedCyclingScript); } // GLightbox - load when page has zoomable images // Lite YouTube embeds (oEmbed) const liteYouTubeScript = document.createElement('script'); liteYouTubeScript.src = 'https://cdn.jsdelivr.net/npm/lite-youtube-embed@0.3.4/src/lite-yt-embed.js'; liteYouTubeScript.defer = true; document.body.appendChild(liteYouTubeScript); window.__markataSearchEndpoint = window.__markataSearchEndpoint || 'https://waylonwalker.com/api/search'; // If a bleve search endpoint is configured, skip pagefind and load bleve search instead. if (window.__markataSearchEndpoint) { (function() { var script = document.createElement('script'); script.src = '/js/bleve-search.132d4e98.js'; document.body.appendChild(script); })(); } else { // Expose globally so view transitions can re-initialize after DOM swap. window.initPagefindSearch = function initPagefindSearch() { var root = document.getElementById('pagefind-search'); if (!root) return; if (typeof PagefindUI === 'undefined') return; // Tear down any previous instance if supported. if (window.__pagefindUI && typeof window.__pagefindUI.destroy === 'function') { try { window.__pagefindUI.destroy(); } catch (_) { // ignore } } // Remove stale markup from previous page. root.innerHTML = ''; window.__pagefindUI = new PagefindUI({ element: '#pagefind-search', showSubResults: true, showImages: true, excerptLength: 200, translations: { placeholder: 'Search…' } }); var pagefindInput = root.querySelector('.pagefind-ui__search-input'); if (pagefindInput) { if (!pagefindInput.id) pagefindInput.id = 'pagefind-search-input'; if (!pagefindInput.name) pagefindInput.name = 'search'; } }; // Lazy-load pagefind: only fetch CSS + JS on first interaction (function() { var loaded = false; var bundleDir = '/_pagefind'; function ensurePagefindCSS() { if (document.querySelector('link[href*="/pagefind-ui.css"]')) return; var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = bundleDir + '/pagefind-ui.css'; document.head.appendChild(link); } function loadPagefind(callback) { ensurePagefindCSS(); if (loaded) { if (window.initPagefindSearch) { window.initPagefindSearch(); } if (callback) callback(); return; } loaded = true; // Inject pagefind JS var script = document.createElement('script'); script.src = bundleDir + '/pagefind-ui.js'; script.onload = function() { if (window.initPagefindSearch) { window.initPagefindSearch(); } if (callback) callback(); }; document.body.appendChild(script); } // Trigger on: hover over search area, focus on search input var searchEl = document.getElementById('pagefind-search'); if (searchEl) { searchEl.addEventListener('mouseenter', function() { loadPagefind(); }, { once: true }); searchEl.addEventListener('focusin', function() { loadPagefind(); }, { once: true }); } // Also trigger from any search input/button in the header var searchControls = document.querySelectorAll('[type="search"], .search-toggle, .search-trigger'); for (var i = 0; i < searchControls.length; i++) { searchControls[i].addEventListener('mouseenter', function() { loadPagefind(); }, { once: true }); searchControls[i].addEventListener('focus', function() { loadPagefind(); }, { once: true }); } // Expose for view transitions re-initialization and search-shortcuts.js window.loadPagefind = loadPagefind; })(); } // end else (pagefind) window.MARKATA_GO_D3_URL = 'https://d3js.org/d3.v7.min.js'; // View Transitions Configuration window.VIEW_TRANSITIONS_CONFIG = { enabled: true, debug: false, skipClasses: [], skipSelectors: [], transitionDuration: 300, updateMeta: true, scrollToTop: true, }; // Special routes that should always use full navigation. // (View-transition navigation swaps DOM without running inline scripts.) (function() { var p = "random"; p = (p || 'random').replace(/^\/+|\/+$/g, ''); window.MARKATA_GO_RANDOM_POST_PATH = '/' + p + '/'; })(); (function() { if (typeof window === 'undefined') { return; } var MIN_VIEWPORT_MULTIPLIER = 1.75; function initArticleProgressIndicator() { if (window.__articleProgressCleanup) { window.__articleProgressCleanup(); window.__articleProgressCleanup = null; } var container = document.querySelector('.article-progress'); var indicator = document.querySelector('.article-progress__indicator'); var article = document.querySelector('article.post'); if (!container || !indicator || !article) { return; } var raf = window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(cb) { return window.setTimeout(cb, 16); }; var scheduled = false; var lastValue = -1; var lastVisibility = null; function clamp(value, min, max) { if (value < min) return min; if (value > max) return max; return value; } function refresh() { scheduled = false; var rect = article.getBoundingClientRect(); var articleTop = window.scrollY + rect.top; var articleHeight = rect.height; var viewportHeight = window.innerHeight || 1; var minHeight = viewportHeight * MIN_VIEWPORT_MULTIPLIER; var shouldShow = articleHeight >= minHeight; if (shouldShow !== lastVisibility) { container.classList.toggle('article-progress--hidden', !shouldShow); lastVisibility = shouldShow; } if (!shouldShow) { if (lastValue !== 0) { lastValue = 0; indicator.style.transform = 'scaleX(0)'; } return; } var scrollableDistance = articleHeight - viewportHeight; var ratio; if (scrollableDistance <= 0) { ratio = 1; } else { ratio = clamp((window.scrollY - articleTop) / scrollableDistance, 0, 1); } if (Math.abs(ratio - lastValue) < 0.001) { return; } lastValue = ratio; indicator.style.transform = 'scaleX(' + ratio + ')'; } function schedule() { if (scheduled) { return; } scheduled = true; raf(refresh); } window.addEventListener('scroll', schedule, { passive: true }); window.addEventListener('resize', schedule); window.__articleProgressCleanup = function() { window.removeEventListener('scroll', schedule); window.removeEventListener('resize', schedule); }; schedule(); } window.initArticleProgressIndicator = initArticleProgressIndicator; window.addEventListener('view-transition-complete', initArticleProgressIndicator); initArticleProgressIndicator(); })(); (() => { // Keep in sync with the active palette's highlight tokens. // Runs on load, palette/theme attribute changes, and content swaps; // it only writes when values change so it never churns style. let lastBackground = null; let lastColor = null; let markFrame = 0; const applyMarkPresentation = (force) => { markFrame = 0; const root = getComputedStyle(document.documentElement); const background = root.getPropertyValue('--color-highlight').trim(); const color = root.getPropertyValue('--color-highlight-text').trim(); const changed = background !== lastBackground || color !== lastColor; if (!changed && force !== true) return; lastBackground = background; lastColor = color; if (background) document.documentElement.style.setProperty('--heading-mark-bg', background, 'important'); if (color) document.documentElement.style.setProperty('--heading-mark-fg', color, 'important'); document.querySelectorAll('mark').forEach(mark => { if (background) mark.style.setProperty('background-color', background, 'important'); if (color) mark.style.setProperty('color', color, 'important'); }); }; const scheduleMarkPresentation = (force) => { if (markFrame) return; markFrame = requestAnimationFrame(() => applyMarkPresentation(force)); }; applyMarkPresentation(true); setTimeout(applyMarkPresentation, 100); window.addEventListener('load', () => applyMarkPresentation()); new MutationObserver(() => scheduleMarkPresentation()).observe(document.documentElement, { attributes: true, attributeFilter: ['class', 'data-palette', 'data-theme', 'data-aesthetic', 'data-fontpack'] }); new MutationObserver(records => { const addedMark = records.some(record => Array.from(record.addedNodes).some(node => node.nodeType === 1 && (node.nodeName === 'MARK' || node.querySelector('mark')))); if (addedMark) scheduleMarkPresentation(true); }).observe(document.body, { childList: true, subtree: true }); window.addEventListener('view-transition-complete', () => scheduleMarkPresentation(true)); })();