arch remove orphaned packages ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Date: July 6, 2024 arch remove orphaned packages | Waylon Walker { "@context": "https://schema.org", "@type": "BlogPosting", "headline": "arch remove orphaned packages", "datePublished": "2024-07-06T11:34:31Z", "dateModified": "2024-07-06T11:34:31Z", "publisher": { "@type": "Organization", "name": "Waylon Walker", "url": "https://waylonwalker.com" }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://waylonwalker.com/arch-remove-orphaned-packages/" }, "image": "https://waylonwalker.com/8bitcc.png", "keywords": [ "linux" ], "url": "https://waylonwalker.com/arch-remove-orphaned-packages/" } 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; try { var stored = localStorage.getItem('color-mode') || localStorage.getItem('theme'); if (stored === 'light' || stored === 'dark') { mode = stored; } } 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: 'dracula-light', dark: 'dracula' }; var modePalette = mode === 'dark' ? palettes.dark : palettes.light; if (modePalette) { document.documentElement.dataset.palette = modePalette; } })(); :root { } html:root { color-scheme: dark; } @media (prefers-color-scheme: light) { html:root { 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 archive rss reader random Text size Small Medium Large X-Large Series In this series ‹ › [ prev ] next {} feeds Lukschangekey to change full disk encryption password how to set up a boot drive helix markata go lsp ^M for carriage return unlock a locked gpg key rpm ostree status fixing a corrupt zshrc one eyed fighting kirby rsync delays zsh source .env setopt HIST_IGNORE_SPACE forgejo push to create nless image compare in markata go testing copilot model flag move zmk keyboard to new bluetooth adapter dot dockerenv gh do I have a pr double gutter diff kubernetes manifest with cluster format markdown with mdformat opencode variants opencode init prompt tpope vim-speeddating light mode screen recording css light mode screen recording YouTube Gemini is Actually Useful numbered posts in obsidian git name status minecraft server memory web snow fall check your kubeconfig expire time gh auth switch setup bambu-studio in distrobox k3s system-upgrade minor by minor COLUMNS env var tea login flag side effect of just stars pydantic settings alias choices uv s3 sync with dotenv starlette head request Don’t copy your gitignore to stignore vanilla html hover text tar over ssh uv script management nvim delete current file vim noa modd bash timestamp qr codes in python Dolphin Remote Storage Previews fc pygments htmlformatter tmux clipboard on hyprland virt manager on bazzite copier vcs quirks using yek to serialize text files into llm friendly file brightnessctl adjust screen brightness rich theme unset multiple environment variables i3lock on AwesomeWM kubernetes node labels javascript b64 web wakelock vhs themes grafana dashboards as k8s configmap ruff single line import Markata list posts by year Use pbpaste for clean shell history pre-commit exclude newlines in css before testing nvim installs vim date aptitude why configure timezone bc tailwind aspect markdown it attrs with slashes dont work setting up nvim-manager starship prompt emoji in headless chrome in docker postiz-file-upload Links rely on color to be distiniquishable urllink debug cloudflared tunnel setup cloudflared tunnel on ubuntu price an stl print on slant3d k3s config after first install Print in place nuts with cura Vim-gq Slug Obsidian-new-file Obsidian-go-to-definition Obsidian Using Templater Like Copier Obsidian Image Converter convert mp4 for twitter with ffmpeg arch remove orphaned packages k8s kustomize diff kubectl dash k animal well keyboard diskcache as debounce Install sealed-secreats via manifest playerctl fixes arch media keys tailwind post template tailscale ssh Latest Page in Markata just picker showmount-e control minio token access How to List Sqlite tables Redka Runs on SQLite Am I vulnerable to the xz backdoor? arch dependencies copier trust ipython f2 sqlmodel indexes python inline snapshot sqlite vacuum Tailwind Animations How to kill ollama server Composing Typer clis tailwind arbitrary values fix npm global install needs sudo darkmode scrollbars Udating Cloudflare Pages using the Wrangler cli scheduling cron jobs in kubernetes jinja macros jinja loop variable and htmx fastapi jinja url_for with query params setting up a kind cluster with argocd installed kubernetes kubeseal nvim stupid gf bind cli auth Hiding Form input During htmx Request Stripe Cancellations in FastAPI and SQLModel Still Loving Tailwind jpillora-installer how to host static content with fastapi Set up minio bucket entrypoint Setup Tailwind for Jinja Python scandir ignores hidden directories setting up paru | installing from the AUR for the first time Releasing a New Version of Your Python Package Just Got Easier Arch Linux Randomly Rejecting Passwords dash e your github docker actions ssh copy id tmux push/pull panes ssh key permissions nvim navic pipx textual devtools textual app devtools obs virtual camera on boot localstack status permission Markata Supports Jinja Plugins 0.5.0.dev2 Getting Started with Django REST framework Markata now uses hatch django create superuser django disallowed host Trying out django how to escape variables in jinja templates I’ve made my ipython config too complicated, let’s fix it. markata extend in configuration Create a new Python Project with the Hatch Cli Versioning Python Projects with Hatch From Markdown to Blog with Markata | lightning talk | python web conf 2022 I spoke at Python Web Conf 2022 I turned on 2FA for all of my pypi packages use vim to remove duplicates Highlighting text ranges with Rich | python vimgrep open buffers markata 0.3.0 is 15-20% faster name it claim it aim it get the version of any python package | python api Two new shell aliases for git IPython q to exit Copier Slugify | python templating | using cookiecutter Textual has devtools Using Different versions of python with pipx | pyenv {"feeds":[{"slug":"til","title":"Today I Learned","priority":"auto","primary":true,"containsCurrentPost":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":"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","active":true},{"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"}],"totalPosts":177,"prev":{"slug":"convert-mp4-for-twitter-with-ffmpeg","title":"convert mp4 for twitter with ffmpeg","href":"/convert-mp4-for-twitter-with-ffmpeg/?feed=til"},"next":{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?feed=til"}},{"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":"textualize-transcendent-textual","title":"⭐ Textualize transcendent-textual","href":"/textualize-transcendent-textual/?feed=archive"},{"slug":"thought-351","title":"Update Kconfig.shield rec by bravekarma · WaylonWalker/zmk-con…","href":"/thought-351/?feed=archive"},{"slug":"thought-350","title":"DragonFruit","href":"/thought-350/?feed=archive"},{"slug":"thought-349","title":"NEC M-System","href":"/thought-349/?feed=archive"},{"slug":"thought-348","title":"Red Herring - Solenoid Edition sound test - YouTube","href":"/thought-348/?feed=archive"},{"slug":"shots/portajohn1-wiring","title":"Laying some wire in PortaJohn 1","href":"/shots/portajohn1-wiring/?feed=archive"},{"slug":"shots/portajohn-first-test","title":"Laying down the first test print of a portajohn on a laptop","href":"/shots/portajohn-first-test/?feed=archive"},{"slug":"thought-347","title":"Text cursor bug in my Chrome browser that causes the blinking …","href":"/thought-347/?feed=archive"},{"slug":"animal-well-codes","title":"animal well codes","href":"/animal-well-codes/?feed=archive"},{"slug":"thought-346","title":"python is simultaneously at the top and the bottom of the tier…","href":"/thought-346/?feed=archive"},{"slug":"thought-345","title":"Command Line Interface Guidelines","href":"/thought-345/?feed=archive"},{"slug":"thought-344","title":"Render-blocking on purpose","href":"/thought-344/?feed=archive"},{"slug":"thought-343","title":"Remove Background Web - a Hugging Face Space by Xenova","href":"/thought-343/?feed=archive"},{"slug":"thought-342","title":"FastHX","href":"/thought-342/?feed=archive"},{"slug":"thought-341","title":"FastHX","href":"/thought-341/?feed=archive"},{"slug":"thought-340","title":"Pinout and Schematic - nice!nano","href":"/thought-340/?feed=archive"},{"slug":"volfpeter-fasthx","title":"⭐ volfpeter fasthx","href":"/volfpeter-fasthx/?feed=archive"},{"slug":"typecraft-dev-shmux","title":"⭐ typecraft-dev shmux","href":"/typecraft-dev-shmux/?feed=archive"},{"slug":"iximiuz-awesome-container-tinkering","title":"⭐ iximiuz awesome-container-tinkering","href":"/iximiuz-awesome-container-tinkering/?feed=archive"},{"slug":"thought-339","title":"linux - What is stored in /dev/pts files and can we open them?…","href":"/thought-339/?feed=archive"},{"slug":"thought-338","title":"svenstaro/miniserve: 🌟 For when you really just want to serve …","href":"/thought-338/?feed=archive"},{"slug":"thought-337","title":"pacman/Tips and tricks - ArchWiki","href":"/thought-337/?feed=archive"},{"slug":"thought-336","title":"Inside 22,734 Steam games | daniel.haxx.se","href":"/thought-336/?feed=archive"},{"slug":"svenstaro-miniserve","title":"⭐ svenstaro miniserve","href":"/svenstaro-miniserve/?feed=archive"},{"slug":"thought-335","title":"wcurl is here | daniel.haxx.se","href":"/thought-335/?feed=archive"},{"slug":"arch-remove-orphaned-packages","title":"arch remove orphaned packages","href":"/arch-remove-orphaned-packages/?feed=archive","active":true},{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?feed=archive"},{"slug":"kubectl-dash-k","title":"kubectl dash k","href":"/kubectl-dash-k/?feed=archive"},{"slug":"animal-well-keyboard","title":"animal well keyboard","href":"/animal-well-keyboard/?feed=archive"},{"slug":"phil997-pydantic-sqlite","title":"⭐ Phil997 pydantic-sqlite","href":"/phil997-pydantic-sqlite/?feed=archive"},{"slug":"thought-334","title":"Email Address Obfuscation · Cloudflare Web Application Firewal…","href":"/thought-334/?feed=archive"},{"slug":"thought-333","title":"Background Tasks - FastAPI","href":"/thought-333/?feed=archive"},{"slug":"thought-332","title":"markdown-it-pyrs · PyPI","href":"/thought-332/?feed=archive"},{"slug":"thought-331","title":"DiskCache API Reference — DiskCache 5.6.1 documentation","href":"/thought-331/?feed=archive"},{"slug":"thought-330","title":"Kustomize: The Best Way to Manage Your Kubernetes Configs - Yo…","href":"/thought-330/?feed=archive"},{"slug":"diskcache-as-debounce","title":"diskcache as debounce","href":"/diskcache-as-debounce/?feed=archive"},{"slug":"doomlab7-homelab-diagrams","title":"⭐ Doomlab7 homelab-diagrams","href":"/doomlab7-homelab-diagrams/?feed=archive"},{"slug":"pypeaday-learn-pdm","title":"⭐ pypeaday learn-pdm","href":"/pypeaday-learn-pdm/?feed=archive"},{"slug":"wyattbubbylee-zmk-config-fourpad","title":"⭐ wyattbubbylee zmk-config-fourpad","href":"/wyattbubbylee-zmk-config-fourpad/?feed=archive"},{"slug":"kind-cluster","title":"kind cluster","href":"/kind-cluster/?feed=archive"},{"slug":"install-sealed-secreats-via-manifest","title":"Install sealed-secreats via manifest","href":"/install-sealed-secreats-via-manifest/?feed=archive"},{"slug":"thought-329","title":"Alternatives · joric/nrfmicro Wiki","href":"/thought-329/?feed=archive"},{"slug":"rothgar-bashscheduler","title":"⭐ rothgar bashScheduler","href":"/rothgar-bashscheduler/?feed=archive"},{"slug":"joric-nrfmicro","title":"⭐ joric nrfmicro","href":"/joric-nrfmicro/?feed=archive"},{"slug":"thought-328","title":"Waylon Walker - handwired macropads on X: “First bit of hand w…","href":"/thought-328/?feed=archive"},{"slug":"thought-327","title":"Find And Replace one eyed kirby","href":"/thought-327/?feed=archive"},{"slug":"thought-326","title":"PolyFill Vulnerability is WILD - YouTube","href":"/thought-326/?feed=archive"},{"slug":"thought-325","title":"Found: OverlayKey X – Thomas Baart’s Microblog","href":"/thought-325/?feed=archive"},{"slug":"thought-324","title":"Queueing – An interactive study of queueing strategies – Encor…","href":"/thought-324/?feed=archive"},{"slug":"thought-323","title":"One Script Tag Just Pwn’d Over 100,000 Websites - YouTube","href":"/thought-323/?feed=archive"},{"slug":"thought-322","title":"Don’t Cheat Yourself - YouTube","href":"/thought-322/?feed=archive"}],"totalPosts":2612,"prev":{"slug":"thought-335","title":"wcurl is here | daniel.haxx.se","href":"/thought-335/?feed=archive"},"next":{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?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":"textualize-transcendent-textual","title":"⭐ Textualize transcendent-textual","href":"/textualize-transcendent-textual/?feed=all"},{"slug":"thought-351","title":"Update Kconfig.shield rec by bravekarma · WaylonWalker/zmk-con…","href":"/thought-351/?feed=all"},{"slug":"thought-350","title":"DragonFruit","href":"/thought-350/?feed=all"},{"slug":"thought-349","title":"NEC M-System","href":"/thought-349/?feed=all"},{"slug":"thought-348","title":"Red Herring - Solenoid Edition sound test - YouTube","href":"/thought-348/?feed=all"},{"slug":"shots/portajohn1-wiring","title":"Laying some wire in PortaJohn 1","href":"/shots/portajohn1-wiring/?feed=all"},{"slug":"shots/portajohn-first-test","title":"Laying down the first test print of a portajohn on a laptop","href":"/shots/portajohn-first-test/?feed=all"},{"slug":"thought-347","title":"Text cursor bug in my Chrome browser that causes the blinking …","href":"/thought-347/?feed=all"},{"slug":"animal-well-codes","title":"animal well codes","href":"/animal-well-codes/?feed=all"},{"slug":"thought-346","title":"python is simultaneously at the top and the bottom of the tier…","href":"/thought-346/?feed=all"},{"slug":"thought-345","title":"Command Line Interface Guidelines","href":"/thought-345/?feed=all"},{"slug":"thought-344","title":"Render-blocking on purpose","href":"/thought-344/?feed=all"},{"slug":"thought-343","title":"Remove Background Web - a Hugging Face Space by Xenova","href":"/thought-343/?feed=all"},{"slug":"thought-342","title":"FastHX","href":"/thought-342/?feed=all"},{"slug":"thought-341","title":"FastHX","href":"/thought-341/?feed=all"},{"slug":"thought-340","title":"Pinout and Schematic - nice!nano","href":"/thought-340/?feed=all"},{"slug":"volfpeter-fasthx","title":"⭐ volfpeter fasthx","href":"/volfpeter-fasthx/?feed=all"},{"slug":"typecraft-dev-shmux","title":"⭐ typecraft-dev shmux","href":"/typecraft-dev-shmux/?feed=all"},{"slug":"iximiuz-awesome-container-tinkering","title":"⭐ iximiuz awesome-container-tinkering","href":"/iximiuz-awesome-container-tinkering/?feed=all"},{"slug":"thought-339","title":"linux - What is stored in /dev/pts files and can we open them?…","href":"/thought-339/?feed=all"},{"slug":"thought-338","title":"svenstaro/miniserve: 🌟 For when you really just want to serve …","href":"/thought-338/?feed=all"},{"slug":"thought-337","title":"pacman/Tips and tricks - ArchWiki","href":"/thought-337/?feed=all"},{"slug":"thought-336","title":"Inside 22,734 Steam games | daniel.haxx.se","href":"/thought-336/?feed=all"},{"slug":"svenstaro-miniserve","title":"⭐ svenstaro miniserve","href":"/svenstaro-miniserve/?feed=all"},{"slug":"thought-335","title":"wcurl is here | daniel.haxx.se","href":"/thought-335/?feed=all"},{"slug":"arch-remove-orphaned-packages","title":"arch remove orphaned packages","href":"/arch-remove-orphaned-packages/?feed=all","active":true},{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?feed=all"},{"slug":"kubectl-dash-k","title":"kubectl dash k","href":"/kubectl-dash-k/?feed=all"},{"slug":"animal-well-keyboard","title":"animal well keyboard","href":"/animal-well-keyboard/?feed=all"},{"slug":"phil997-pydantic-sqlite","title":"⭐ Phil997 pydantic-sqlite","href":"/phil997-pydantic-sqlite/?feed=all"},{"slug":"thought-334","title":"Email Address Obfuscation · Cloudflare Web Application Firewal…","href":"/thought-334/?feed=all"},{"slug":"thought-333","title":"Background Tasks - FastAPI","href":"/thought-333/?feed=all"},{"slug":"thought-332","title":"markdown-it-pyrs · PyPI","href":"/thought-332/?feed=all"},{"slug":"thought-331","title":"DiskCache API Reference — DiskCache 5.6.1 documentation","href":"/thought-331/?feed=all"},{"slug":"thought-330","title":"Kustomize: The Best Way to Manage Your Kubernetes Configs - Yo…","href":"/thought-330/?feed=all"},{"slug":"diskcache-as-debounce","title":"diskcache as debounce","href":"/diskcache-as-debounce/?feed=all"},{"slug":"doomlab7-homelab-diagrams","title":"⭐ Doomlab7 homelab-diagrams","href":"/doomlab7-homelab-diagrams/?feed=all"},{"slug":"pypeaday-learn-pdm","title":"⭐ pypeaday learn-pdm","href":"/pypeaday-learn-pdm/?feed=all"},{"slug":"wyattbubbylee-zmk-config-fourpad","title":"⭐ wyattbubbylee zmk-config-fourpad","href":"/wyattbubbylee-zmk-config-fourpad/?feed=all"},{"slug":"kind-cluster","title":"kind cluster","href":"/kind-cluster/?feed=all"},{"slug":"install-sealed-secreats-via-manifest","title":"Install sealed-secreats via manifest","href":"/install-sealed-secreats-via-manifest/?feed=all"},{"slug":"thought-329","title":"Alternatives · joric/nrfmicro Wiki","href":"/thought-329/?feed=all"},{"slug":"rothgar-bashscheduler","title":"⭐ rothgar bashScheduler","href":"/rothgar-bashscheduler/?feed=all"},{"slug":"joric-nrfmicro","title":"⭐ joric nrfmicro","href":"/joric-nrfmicro/?feed=all"},{"slug":"thought-328","title":"Waylon Walker - handwired macropads on X: “First bit of hand w…","href":"/thought-328/?feed=all"},{"slug":"thought-327","title":"Find And Replace one eyed kirby","href":"/thought-327/?feed=all"},{"slug":"thought-326","title":"PolyFill Vulnerability is WILD - YouTube","href":"/thought-326/?feed=all"},{"slug":"thought-325","title":"Found: OverlayKey X – Thomas Baart’s Microblog","href":"/thought-325/?feed=all"},{"slug":"thought-324","title":"Queueing – An interactive study of queueing strategies – Encor…","href":"/thought-324/?feed=all"},{"slug":"thought-323","title":"One Script Tag Just Pwn’d Over 100,000 Websites - YouTube","href":"/thought-323/?feed=all"},{"slug":"thought-322","title":"Don’t Cheat Yourself - YouTube","href":"/thought-322/?feed=all"}],"totalPosts":2612,"prev":{"slug":"thought-335","title":"wcurl is here | daniel.haxx.se","href":"/thought-335/?feed=all"},"next":{"slug":"kubebernetes-kustomize-diff","title":"k8s kustomize diff","href":"/kubebernetes-kustomize-diff/?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":"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":324},{"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":"thoughts-feed","title":"Thoughts","priority":"primary","primary":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":"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"},{"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":"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":"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-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"},{"slug":"thought-991","title":"How to Install Silksong mods on the Steam Deck | Long Play Tech","href":"/thought-991/?feed=thoughts-feed"},{"slug":"thought-990","title":"Cloudflare cuts 1100","href":"/thought-990/?feed=thoughts-feed"},{"slug":"thought-989","title":"Programming Sucks","href":"/thought-989/?feed=thoughts-feed"},{"slug":"thought-988","title":"Programming Still Sucks. — Writing","href":"/thought-988/?feed=thoughts-feed"},{"slug":"thought-987","title":"Ghostty is leaving GitHub","href":"/thought-987/?feed=thoughts-feed"},{"slug":"thought-986","title":"Red Squares — the GitHub outage graph","href":"/thought-986/?feed=thoughts-feed"},{"slug":"thought-985","title":"Desktop Crash 2026","href":"/thought-985/?feed=thoughts-feed"},{"slug":"thought-984","title":"ARTEMIS II PHOTO TIMELINE","href":"/thought-984/?feed=thoughts-feed"},{"slug":"thought-983","title":"Hacker News RSS","href":"/thought-983/?feed=thoughts-feed"},{"slug":"thought-982","title":"Hybrid theory is the greatest album of our generation - YouTube","href":"/thought-982/?feed=thoughts-feed"},{"slug":"thought-981","title":"Super Slow-Moto: The","href":"/thought-981/?feed=thoughts-feed"},{"slug":"thought-980","title":"“Am I Crazy?” [Wading Through AI - Episode 3]","href":"/thought-980/?feed=thoughts-feed"},{"slug":"thought-979","title":"A love letter to Pi | Lucas Meijer","href":"/thought-979/?feed=thoughts-feed"},{"slug":"thought-978","title":"How Claude Code’s Creator Starts EVERY Project - YouTube","href":"/thought-978/?feed=thoughts-feed"},{"slug":"thought-977","title":"POV: Growing up as a Millennial be like 🤣 AC:@mikemancusi #mil…","href":"/thought-977/?feed=thoughts-feed"},{"slug":"thought-976","title":"Write It First, Then Let AI Drive - Kenneth Reitz","href":"/thought-976/?feed=thoughts-feed"},{"slug":"thought-975","title":"I am slowly coming around to AI assisted programming.","href":"/thought-975/?feed=thoughts-feed"},{"slug":"thought-974","title":"AIs aren’t good rule followers","href":"/thought-974/?feed=thoughts-feed"},{"slug":"thought-973","title":"A quote from Steve Yegge","href":"/thought-973/?feed=thoughts-feed"},{"slug":"thought-972","title":"How does Claude Code actually work? - YouTube","href":"/thought-972/?feed=thoughts-feed"},{"slug":"thought-971","title":"Artemis II Lunar Flyby","href":"/thought-971/?feed=thoughts-feed"},{"slug":"thought-970","title":"Explaining the Most Important Artemis II Photos - YouTube","href":"/thought-970/?feed=thoughts-feed"},{"slug":"thought-969","title":"An AI state of the union: We’ve passed the inflection point \u0026 …","href":"/thought-969/?feed=thoughts-feed"},{"slug":"thought-968","title":"DDR5 Prices are Crashing… Kind Of. - YouTube","href":"/thought-968/?feed=thoughts-feed"},{"slug":"thought-967","title":"@seldo.com on Bluesky","href":"/thought-967/?feed=thoughts-feed"},{"slug":"thought-966","title":"BumpMesh by CNC Kitchen","href":"/thought-966/?feed=thoughts-feed"},{"slug":"thought-965","title":"Bush: Tiny Desk Concert - YouTube","href":"/thought-965/?feed=thoughts-feed"},{"slug":"thought-964","title":"GitHub - kraanzu/smassh at terminaltrove · GitHub","href":"/thought-964/?feed=thoughts-feed"},{"slug":"thought-963","title":"What Happens When AI Stops Being Artificially Cheap | Daniel M…","href":"/thought-963/?feed=thoughts-feed"},{"slug":"thought-962","title":"Tuesday, March 31, 2026 | Baty.net","href":"/thought-962/?feed=thoughts-feed"},{"slug":"thought-961","title":"Release 0.9.17 · astral-sh/uv · GitHub","href":"/thought-961/?feed=thoughts-feed"},{"slug":"thought-960","title":"Package Managers Need to Cool Down","href":"/thought-960/?feed=thoughts-feed"},{"slug":"thought-959","title":"no one read the source","href":"/thought-959/?feed=thoughts-feed"},{"slug":"thought-958","title":"safe words","href":"/thought-958/?feed=thoughts-feed"},{"slug":"thought-957","title":"the cheng lou pretext tweet","href":"/thought-957/?feed=thoughts-feed"},{"slug":"thought-956","title":"you can replace the spinning verbs in Claude Code","href":"/thought-956/?feed=thoughts-feed"},{"slug":"thought-955","title":"@nicknisi.com on Bluesky","href":"/thought-955/?feed=thoughts-feed"},{"slug":"thought-954","title":"To Live In A World Without AI","href":"/thought-954/?feed=thoughts-feed"},{"slug":"thought-953","title":"pype.dev - https://github.com/steveyegge/beads","href":"/thought-953/?feed=thoughts-feed"},{"slug":"thought-952","title":"paynepride dot com outage on vacation","href":"/thought-952/?feed=thoughts-feed"},{"slug":"thought-951","title":"Has 3D Printing Reduced Adam Savage’s Maker’s High? - YouTube","href":"/thought-951/?feed=thoughts-feed"},{"slug":"thought-950","title":"kubernetes is beautiful r/kubernetes","href":"/thought-950/?feed=thoughts-feed"},{"slug":"thought-949","title":"More Details Than You Probably Wanted to Know About Recent Upd…","href":"/thought-949/?feed=thoughts-feed"},{"slug":"thought-948","title":"Notes – 06:34 Mon 23 Mar 2026 – David Bushell – Web Dev (UK)","href":"/thought-948/?feed=thoughts-feed"},{"slug":"thought-947","title":"ten year computer","href":"/thought-947/?feed=thoughts-feed"},{"slug":"thought-946","title":"The future of Coding and Code Quality - YouTube","href":"/thought-946/?feed=thoughts-feed"},{"slug":"thought-945","title":"Do You Have Token anxiety? - YouTube","href":"/thought-945/?feed=thoughts-feed"},{"slug":"thought-944","title":"No one under 18 installs Linux","href":"/thought-944/?feed=thoughts-feed"},{"slug":"thought-943","title":"The web is bearable with RSS","href":"/thought-943/?feed=thoughts-feed"},{"slug":"thought-942","title":"I need a new blog to subscribe to. Know… | justin․searls․co","href":"/thought-942/?feed=thoughts-feed"},{"slug":"thought-941","title":"jack cuts block in half","href":"/thought-941/?feed=thoughts-feed"},{"slug":"thought-940","title":"FFmpeg video crop","href":"/thought-940/?feed=thoughts-feed"},{"slug":"thought-939","title":"Tiny Tool Town 🏘️","href":"/thought-939/?feed=thoughts-feed"},{"slug":"thought-938","title":"FancyGist","href":"/thought-938/?feed=thoughts-feed"},{"slug":"thought-937","title":"Reply guy","href":"/thought-937/?feed=thoughts-feed"},{"slug":"thought-936","title":"Smaller and dumber - daverupert.com","href":"/thought-936/?feed=thoughts-feed"},{"slug":"thought-935","title":"An attempt at a balanced perspective on AI - YouTube","href":"/thought-935/?feed=thoughts-feed"},{"slug":"thought-934","title":"Post by @castpixel.bsky.social — Bluesky","href":"/thought-934/?feed=thoughts-feed"},{"slug":"thought-933","title":"Session: Skate Sim on X: “Our long-awaited Skate Core Update i…","href":"/thought-933/?feed=thoughts-feed"},{"slug":"thought-932","title":"trash on X: “loving the state of development right now https:/…","href":"/thought-932/?feed=thoughts-feed"},{"slug":"thought-931","title":"Silksong Demastered","href":"/thought-931/?feed=thoughts-feed"},{"slug":"thought-930","title":"Blueskii on X: “this underground creator named “sN0UK” made Qu…","href":"/thought-930/?feed=thoughts-feed"},{"slug":"thought-929","title":"Home / X","href":"/thought-929/?feed=thoughts-feed"},{"slug":"thought-928","title":"uvx.sh | Astral","href":"/thought-928/?feed=thoughts-feed"},{"slug":"thought-927","title":"POV: You install Clawdbot on VPS - YouTube","href":"/thought-927/?feed=thoughts-feed"},{"slug":"thought-926","title":"POV: Your AI Models change faster than JS Frameworks - YouTube","href":"/thought-926/?feed=thoughts-feed"},{"slug":"thought-925","title":"OpenClaw: The Viral AI Agent that Broke the Internet - Peter S…","href":"/thought-925/?feed=thoughts-feed"},{"slug":"thought-924","title":"Naya Connect | Hackaday","href":"/thought-924/?feed=thoughts-feed"},{"slug":"thought-923","title":"Background Patterns with CSS corner-radius – Frontend Master…","href":"/thought-923/?feed=thoughts-feed"},{"slug":"thought-922","title":"The shovelware cometh","href":"/thought-922/?feed=thoughts-feed"},{"slug":"thought-921","title":"The shovelware cometh","href":"/thought-921/?feed=thoughts-feed"},{"slug":"thought-920","title":"dax on X: “finally got around to setting up an always on openc…","href":"/thought-920/?feed=thoughts-feed"},{"slug":"thought-919","title":"Short Month, Big Ideas (February 2026 Wallpapers Edition) — Sm…","href":"/thought-919/?feed=thoughts-feed"},{"slug":"thought-918","title":"Peter Steinberger","href":"/thought-918/?feed=thoughts-feed"},{"slug":"thought-917","title":"Stay away from my trash! - tldraw: Build whiteboards in React …","href":"/thought-917/?feed=thoughts-feed"},{"slug":"thought-916","title":"I’m back from the dead","href":"/thought-916/?feed=thoughts-feed"},{"slug":"thought-915","title":"DockFrame - Modular USB-C Hub with Framework-Compatible Expans…","href":"/thought-915/?feed=thoughts-feed"},{"slug":"thought-914","title":"make no mistakes by Beginbot | Suno","href":"/thought-914/?feed=thoughts-feed"},{"slug":"thought-913","title":"I Hope This Email Finds You Before I Do - Last Week in AWS Blog","href":"/thought-913/?feed=thoughts-feed"},{"slug":"thought-912","title":"Hollow Knight: Silksong by Ceen in 54:55 - Awesome Games Done …","href":"/thought-912/?feed=thoughts-feed"},{"slug":"thought-910","title":"“I shipped code I don’t understand and I bet you have too” – J…","href":"/thought-910/?feed=thoughts-feed"},{"slug":"thought-909","title":"Reflections on 13 years and 1,000 posts of writing on my blog","href":"/thought-909/?feed=thoughts-feed"},{"slug":"thought-908","title":"Don’t fall into the anti-AI hype","href":"/thought-908/?feed=thoughts-feed"},{"slug":"thought-907","title":"Salesforces mistake - YouTube","href":"/thought-907/?feed=thoughts-feed"},{"slug":"thought-906","title":"Diffs, from Pierre","href":"/thought-906/?feed=thoughts-feed"},{"slug":"thought-905","title":"Oxide and Friends 1/5/2026 – Predictions 2026!! - YouTube","href":"/thought-905/?feed=thoughts-feed"},{"slug":"thought-904","title":"There’s an Actual Reason You Can’t Recycle Plastic - YouTube","href":"/thought-904/?feed=thoughts-feed"},{"slug":"thought-903","title":"feat: add llms.txt endpoint for LLM-optimized documentation by…","href":"/thought-903/?feed=thoughts-feed"},{"slug":"thought-902","title":"Photoshop for text — Steph Ango","href":"/thought-902/?feed=thoughts-feed"},{"slug":"thought-901","title":"File over app — Steph Ango","href":"/thought-901/?feed=thoughts-feed"},{"slug":"thought-900","title":"The most popular blogs of Hacker News in 2025","href":"/thought-900/?feed=thoughts-feed"},{"slug":"thought-899","title":"Convert a video from dark mode to light mode with FFmpeg!","href":"/thought-899/?feed=thoughts-feed"},{"slug":"thought-898","title":"RAM Prices Are Getting Worse - YouTube","href":"/thought-898/?feed=thoughts-feed"},{"slug":"thought-897","title":"Smartphones are black holes","href":"/thought-897/?feed=thoughts-feed"},{"slug":"thought-896","title":"Using stderr/stdout correctly - YouTube","href":"/thought-896/?feed=thoughts-feed"},{"slug":"thought-895","title":"You Might Also Like: My Notes Blog - Jim Nielsen’s Blog","href":"/thought-895/?feed=thoughts-feed"},{"slug":"thought-894","title":"“You should never build a CMS” | Sanity","href":"/thought-894/?feed=thoughts-feed"},{"slug":"thought-893","title":"The Github Tax (I can’t believe they actually did this…) - Y…","href":"/thought-893/?feed=thoughts-feed"},{"slug":"thought-892","title":"Hollow Knight: Silksong - Sea of Sorrow Teaser","href":"/thought-892/?feed=thoughts-feed"},{"slug":"thought-891","title":"AI, DevOps, and Kubernetes: Kelsey Hightower on What’s Next - …","href":"/thought-891/?feed=thoughts-feed"},{"slug":"thought-890","title":"Why is Everyone So Wrong About AI Water Use?? - YouTube","href":"/thought-890/?feed=thoughts-feed"},{"slug":"thought-889","title":"Notes – 05:09 Tue 9 Dec 2025 – David Bushell – Web Dev (UK)","href":"/thought-889/?feed=thoughts-feed"},{"slug":"thought-888","title":"Deprecations via warnings don’t work for Python libraries","href":"/thought-888/?feed=thoughts-feed"},{"slug":"thought-887","title":"A quote from Claude","href":"/thought-887/?feed=thoughts-feed"},{"slug":"thought-886","title":"3d Printing a Geared Vice - Will It work? - YouTube","href":"/thought-886/?feed=thoughts-feed"},{"slug":"thought-885","title":"Steam Machine CAN Start at $399 with THIS SKU! | Cut Down Yiel…","href":"/thought-885/?feed=thoughts-feed"},{"slug":"thought-884","title":"You’ll own NOTHING and be happy? - YouTube","href":"/thought-884/?feed=thoughts-feed"},{"slug":"thought-883","title":"The Secret of the AWS Outage | The Standup - YouTube","href":"/thought-883/?feed=thoughts-feed"},{"slug":"thought-882","title":"Building the PERFECT Linux PC with Linus Torvalds - YouTube","href":"/thought-882/?feed=thoughts-feed"},{"slug":"thought-881","title":"snow-fall Web Component—zachleat.com","href":"/thought-881/?feed=thoughts-feed"},{"slug":"thought-880","title":"The 3D Printed Ball Vise Every Creative Should Own - YouTube","href":"/thought-880/?feed=thoughts-feed"},{"slug":"thought-879","title":"Deleting Code for Performance – David Bushell – Web Dev (UK)","href":"/thought-879/?feed=thoughts-feed"},{"slug":"thought-877","title":"Self-hosting Github","href":"/thought-877/?feed=thoughts-feed"},{"slug":"thought-876","title":"Malicious Traffic and Static Sites - Jim Nielsen’s Blog","href":"/thought-876/?feed=thoughts-feed"},{"slug":"thought-875","title":"A ChatGPT prompt equals about 5.1 seconds of Netflix","href":"/thought-875/?feed=thoughts-feed"},{"slug":"thought-874","title":"A pretty good email scam","href":"/thought-874/?feed=thoughts-feed"},{"slug":"thought-873","title":"2025-11-27 Notes","href":"/thought-873/?feed=thoughts-feed"},{"slug":"thought-872","title":"K8s Diagram Builder - Free Visual Kubernetes Architecture Desi…","href":"/thought-872/?feed=thoughts-feed"},{"slug":"thought-870","title":"Microsoft keeps losing - YouTube","href":"/thought-870/?feed=thoughts-feed"},{"slug":"thought-869","title":"PETaflop cluster - Justin Garrison","href":"/thought-869/?feed=thoughts-feed"},{"slug":"thought-868","title":"ChatGPT made me delusional","href":"/thought-868/?feed=thoughts-feed"},{"slug":"thought-867","title":"Post | LinkedIn","href":"/thought-867/?feed=thoughts-feed"},{"slug":"thought-866","title":"Ford Thinks We’re Cooked, I agree- YouTube","href":"/thought-866/?feed=thoughts-feed"},{"slug":"thought-865","title":"I refuse to change the way I play… 😂🔥 #comedy #videogames #min…","href":"/thought-865/?feed=thoughts-feed"},{"slug":"thought-864","title":"Rewriting SQLite from prison with Preston Thorpe - YouTube","href":"/thought-864/?feed=thoughts-feed"},{"slug":"thought-863","title":"STOP. Using AI Right now - YouTube","href":"/thought-863/?feed=thoughts-feed"},{"slug":"thought-862","title":"The Glorious Pipe Operator (Elixir for PHP Devs) | Jesse Leite","href":"/thought-862/?feed=thoughts-feed"},{"slug":"thought-861","title":"is AI ruining opensource? - YouTube","href":"/thought-861/?feed=thoughts-feed"},{"slug":"thought-860","title":"You already have a git server: (Maurycy’s blog)","href":"/thought-860/?feed=thoughts-feed"},{"slug":"thought-859","title":"Please don’t give Reflect Orbital money: (Maurycy’s blog)","href":"/thought-859/?feed=thoughts-feed"},{"slug":"thought-858","title":"Post by @letitmelo.bsky.social — Bluesky","href":"/thought-858/?feed=thoughts-feed"},{"slug":"thought-857","title":"Bazzite on X: “@thesvpanda @_Messier_33 @LeagueOfLegends Unfor…","href":"/thought-857/?feed=thoughts-feed"},{"slug":"thought-855","title":"Post by @meredithmeredith.bsky.social — Bluesky","href":"/thought-855/?feed=thoughts-feed"},{"slug":"thought-854","title":"Ellie Huxtable on evolving Atuin (her shell history tool) for …","href":"/thought-854/?feed=thoughts-feed"},{"slug":"thought-853","title":"My Bed Doesn’t Work Because of AWS Outage? TheStandup - YouTube","href":"/thought-853/?feed=thoughts-feed"},{"slug":"thought-852","title":"#artificialintelligence #hiring | Gary Vaynerchuk | 20 comments","href":"/thought-852/?feed=thoughts-feed"},{"slug":"thought-851","title":"This Web Server Is 100% Solar Powered - YouTube","href":"/thought-851/?feed=thoughts-feed"},{"slug":"thought-850","title":"2025 The Year Of The Linux Desktop - YouTube","href":"/thought-850/?feed=thoughts-feed"},{"slug":"thought-849","title":"Litewind","href":"/thought-849/?feed=thoughts-feed"},{"slug":"thought-848","title":"python 3.14 highlights! - YouTube","href":"/thought-848/?feed=thoughts-feed"},{"slug":"thought-847","title":"This $15 Fingerboard Mold from Amazon SHOCKED me!! - YouTube","href":"/thought-847/?feed=thoughts-feed"},{"slug":"thought-846","title":"PEP 735 – Dependency Groups in pyproject.toml | peps.python.org","href":"/thought-846/?feed=thoughts-feed"},{"slug":"thought-845","title":"Running Software on Software You’ve Never Run","href":"/thought-845/?feed=thoughts-feed"},{"slug":"thought-844","title":"Using Litestream to Restore My Database for Easy Development","href":"/thought-844/?feed=thoughts-feed"},{"slug":"thought-843","title":"TIL: Loading .env files with uv run","href":"/thought-843/?feed=thoughts-feed"},{"slug":"thought-842","title":"A quote from Dan Abramov","href":"/thought-842/?feed=thoughts-feed"},{"slug":"thought-841","title":"This printed design holds a steel tube where the tube goes. #o…","href":"/thought-841/?feed=thoughts-feed"},{"slug":"thought-840","title":"Print over Part - YouTube","href":"/thought-840/?feed=thoughts-feed"},{"slug":"thought-839","title":"Haiden Deegan IN for Motocross of Nations?! | The Blair Matthe…","href":"/thought-839/?feed=thoughts-feed"},{"slug":"thought-838","title":"Chris Joslin 360 Flips El Toro!!!!! - YouTube","href":"/thought-838/?feed=thoughts-feed"},{"slug":"thought-837","title":"Big W: A Family Tradition","href":"/thought-837/?feed=thoughts-feed"},{"slug":"thought-836","title":"Meet Gor on X: “SQLite added generated columns in 3.31 (around…","href":"/thought-836/?feed=thoughts-feed"},{"slug":"thought-835","title":"Idea to Product in Seconds #PortalPrints - YouTube","href":"/thought-835/?feed=thoughts-feed"},{"slug":"thought-834","title":"a new chapter","href":"/thought-834/?feed=thoughts-feed"},{"slug":"thought-833","title":"“Pacman is currently in use, please wait.”","href":"/thought-833/?feed=thoughts-feed"},{"slug":"thought-832","title":"How To Become The BEST Engineer At Your Company - YouTube","href":"/thought-832/?feed=thoughts-feed"},{"slug":"thought-829","title":"Ben Dicken on X: “I am once again begging you to put your data…","href":"/thought-829/?feed=thoughts-feed"},{"slug":"thought-828","title":"Hollow Knight: Silksong is breaking Steam, Nintendo’s eShop - …","href":"/thought-828/?feed=thoughts-feed"},{"slug":"thought-827","title":"Chris Coyier","href":"/thought-827/?feed=thoughts-feed"},{"slug":"thought-826","title":"Home","href":"/thought-826/?feed=thoughts-feed"},{"slug":"thought-825","title":"GPT-5 + Codex is so fast that when I… | justin․searls․co","href":"/thought-825/?feed=thoughts-feed"},{"slug":"thought-824","title":"Vibe code is legacy code | Val Town Blog","href":"/thought-824/?feed=thoughts-feed"},{"slug":"thought-823","title":"Rich Pixels","href":"/thought-823/?feed=thoughts-feed"},{"slug":"thought-822","title":"Plastic rollers instead of bearings. Little step forward with …","href":"/thought-822/?feed=thoughts-feed"},{"slug":"thought-821","title":"Learn to use email with git!","href":"/thought-821/?feed=thoughts-feed"},{"slug":"thought-820","title":"Repository Mirrors | Forgejo – Beyond coding. We forge.","href":"/thought-820/?feed=thoughts-feed"},{"slug":"thought-819","title":"Vertical combos are dumb, this makes way more sense. · WaylonW…","href":"/thought-819/?feed=thoughts-feed"},{"slug":"thought-818","title":"Let’s Make Sure Github Doesn’t Become the only Option - Edward…","href":"/thought-818/?feed=thoughts-feed"},{"slug":"thought-817","title":"This Bothers Me - YouTube","href":"/thought-817/?feed=thoughts-feed"},{"slug":"thought-816","title":"Explore - Forgejo","href":"/thought-816/?feed=thoughts-feed"},{"slug":"thought-815","title":"Eric: “This was pushed out with a rus…” - Mastodon","href":"/thought-815/?feed=thoughts-feed"},{"slug":"thought-814","title":"The BIGGEST lie in software development - YouTube","href":"/thought-814/?feed=thoughts-feed"},{"slug":"thought-813","title":"Reflection - AI Work and ADHD","href":"/thought-813/?feed=thoughts-feed"},{"slug":"thought-811","title":"GitHub - cortesi/modd: A flexible developer tool that runs pro…","href":"/thought-811/?feed=thoughts-feed"},{"slug":"thought-810","title":"combos only on default layer · WaylonWalker/zmk-config-42block…","href":"/thought-810/?feed=thoughts-feed"},{"slug":"thought-809","title":"The Death of the User Interface","href":"/thought-809/?feed=thoughts-feed"},{"slug":"thought-808","title":"Why everyone is quitting social media - YouTube","href":"/thought-808/?feed=thoughts-feed"},{"slug":"thought-807","title":"Search Needs a Human Solution: A Manifesto","href":"/thought-807/?feed=thoughts-feed"},{"slug":"thought-806","title":"You Should Be Hiring Mullets. (write that down)","href":"/thought-806/?feed=thoughts-feed"},{"slug":"thought-805","title":"OverType - The Markdown Editor That’s a Textarea","href":"/thought-805/?feed=thoughts-feed"},{"slug":"thought-802","title":"The Internet is Dying: AI, Bots, and The End of Human Content …","href":"/thought-802/?feed=thoughts-feed"},{"slug":"thought-801","title":"The Real Reason Your Power Bill Doubled (It’s Not Inflation) -…","href":"/thought-801/?feed=thoughts-feed"},{"slug":"thought-800","title":"Digitized Signatures","href":"/thought-800/?feed=thoughts-feed"},{"slug":"thought-799","title":"DHH on X: “Rewiring your muscle memory for copy/paste when you…","href":"/thought-799/?feed=thoughts-feed"},{"slug":"thought-798","title":"Performance Difference between RWX and RWO volumes · longhorn/…","href":"/thought-798/?feed=thoughts-feed"},{"slug":"thought-796","title":"GitHub Ensloppification – David Bushell – Web Dev (UK)","href":"/thought-796/?feed=thoughts-feed"},{"slug":"thought-795","title":"Note-taking \u0026 Editors - awesome-selfhosted","href":"/thought-795/?feed=thoughts-feed"},{"slug":"thought-794","title":"Slops | justin․searls․co","href":"/thought-794/?feed=thoughts-feed"},{"slug":"thought-793","title":"noah on X: “this is about to be my go to on plane flights. u d…","href":"/thought-793/?feed=thoughts-feed"},{"slug":"thought-792","title":"blakewatson.com - blakewatson.com turns 20","href":"/thought-792/?feed=thoughts-feed"},{"slug":"thought-791","title":"ThePrimeagen on X: “there is literally no universe that this i…","href":"/thought-791/?feed=thoughts-feed"},{"slug":"thought-790","title":"The Brutalist Report","href":"/thought-790/?feed=thoughts-feed"},{"slug":"thought-789","title":"Omarchy is on the move","href":"/thought-789/?feed=thoughts-feed"},{"slug":"thought-788","title":"YouTube has earned its crown","href":"/thought-788/?feed=thoughts-feed"},{"slug":"thought-787","title":"20 Percent Time – Ted Merz","href":"/thought-787/?feed=thoughts-feed"},{"slug":"thought-786","title":"Blog @ tonsky.me","href":"/thought-786/?feed=thoughts-feed"},{"slug":"thought-785","title":"We shouldn’t have needed lockfiles @ tonsky.me","href":"/thought-785/?feed=thoughts-feed"},{"slug":"thought-784","title":"I Will Fucking Piledrive You If You Mention AI Again — Ludicity","href":"/thought-784/?feed=thoughts-feed"},{"slug":"thought-783","title":"DHH: Future of Programming, AI, Ruby on Rails, Productivity \u0026 …","href":"/thought-783/?feed=thoughts-feed"},{"slug":"thought-782","title":"A quote from greyduet on r/teachers","href":"/thought-782/?feed=thoughts-feed"},{"slug":"thought-780","title":"Colors • Pico CSS","href":"/thought-780/?feed=thoughts-feed"},{"slug":"thought-779","title":"rushter/selectolax: Python binding to Modest and Lexbor engine…","href":"/thought-779/?feed=thoughts-feed"},{"slug":"thought-776","title":"How To Build The Tallest Building In Town","href":"/thought-776/?feed=thoughts-feed"},{"slug":"thought-775","title":"Meet Gor | I kind of hate Agentic IDEs for the sake of product…","href":"/thought-775/?feed=thoughts-feed"},{"slug":"thought-774","title":"Meet Gor | Just Fucking use kubernetes","href":"/thought-774/?feed=thoughts-feed"},{"slug":"thought-773","title":"Quoting Meet Gor | Kubernetes isn’t for you","href":"/thought-773/?feed=thoughts-feed"},{"slug":"thought-772","title":"Kubernetes Isn’t for You","href":"/thought-772/?feed=thoughts-feed"},{"slug":"thought-771","title":"csi-driver-smb/deploy/example/smb-provisioner at master · kube…","href":"/thought-771/?feed=thoughts-feed"},{"slug":"thought-769","title":"DHH on X: “You have all the time you need, you’re just spendin…","href":"/thought-769/?feed=thoughts-feed"},{"slug":"thought-768","title":"Rewriting alt-tab to save 0.1s - YouTube","href":"/thought-768/?feed=thoughts-feed"},{"slug":"thought-767","title":"Copyparty - YouTube","href":"/thought-767/?feed=thoughts-feed"},{"slug":"thought-766","title":"What the EDC Community Gets Wrong About Pry Bars - YouTube","href":"/thought-766/?feed=thoughts-feed"},{"slug":"thought-765","title":"How I Use Computers Now - YouTube","href":"/thought-765/?feed=thoughts-feed"},{"slug":"thought-763","title":"Neovim vs Emacs | Roundtable w/ TJ DeVries, DistroTube, Greg A…","href":"/thought-763/?feed=thoughts-feed"},{"slug":"thought-762","title":"Glossary Web Component – David Bushell – Web Dev (UK)","href":"/thought-762/?feed=thoughts-feed"},{"slug":"thought-761","title":"An Ode To My 10-Year-Old Thinkpad T440","href":"/thought-761/?feed=thoughts-feed"},{"slug":"thought-760","title":"Transparent Textures","href":"/thought-760/?feed=thoughts-feed"},{"slug":"thought-759","title":"uv run for running tests on versions of Python","href":"/thought-759/?feed=thoughts-feed"},{"slug":"thought-756","title":"2025-07-10 Notes","href":"/thought-756/?feed=thoughts-feed"},{"slug":"thought-755","title":"Vimothée Chalamet shares his new favorite shell command from a…","href":"/thought-755/?feed=thoughts-feed"},{"slug":"thought-751","title":"Quickshell","href":"/thought-751/?feed=thoughts-feed"},{"slug":"thought-750","title":"Stop Complaining About Ubuntu…Just Switch To Arch Already! -…","href":"/thought-750/?feed=thoughts-feed"},{"slug":"thought-747","title":"Lab Update | Cloudy with a Chance of Tech","href":"/thought-747/?feed=thoughts-feed"},{"slug":"thought-744","title":"Notes – 17:00 Wed 9 Jul 2025 – David Bushell – Web Dev (UK)","href":"/thought-744/?feed=thoughts-feed"},{"slug":"thought-743","title":"uv cache prune","href":"/thought-743/?feed=thoughts-feed"},{"slug":"thought-741","title":"omarchy/install/webapps.sh at master · basecamp/omarchy","href":"/thought-741/?feed=thoughts-feed"},{"slug":"thought-738","title":"GitHub - chase/awrit: A full graphical web browser for Kitty t…","href":"/thought-738/?feed=thoughts-feed"},{"slug":"thought-734","title":"tailwind hover","href":"/thought-734/?feed=thoughts-feed"},{"slug":"thought-733","title":"I was wrong - YouTube","href":"/thought-733/?feed=thoughts-feed"},{"slug":"thought-731","title":"{ TechDufus }","href":"/thought-731/?feed=thoughts-feed"},{"slug":"thought-726","title":"{ TechDufus } | Building a Talos Kubernetes Homelab with Terra…","href":"/thought-726/?feed=thoughts-feed"},{"slug":"thought-725","title":"Forming URIs for Autofill | Bitwarden","href":"/thought-725/?feed=thoughts-feed"},{"slug":"thought-724","title":"The decline of “i use vim btw” - YouTube","href":"/thought-724/?feed=thoughts-feed"},{"slug":"thought-723","title":"distrobox/docs/posts/run_libvirt_in_distrobox.md at main · 89l…","href":"/thought-723/?feed=thoughts-feed"},{"slug":"thought-718","title":"Notes – 06:11 Sun 22 Jun 2025 – David Bushell – Web Dev (UK)","href":"/thought-718/?feed=thoughts-feed"},{"slug":"thought-717","title":"neverjust","href":"/thought-717/?feed=thoughts-feed"},{"slug":"thought-716","title":"Software engineer get laid off in 2025 - YouTube","href":"/thought-716/?feed=thoughts-feed"},{"slug":"thought-715","title":"If Netflix Made a ‘Day in the Life of a Software Engineer’ - Y…","href":"/thought-715/?feed=thoughts-feed"},{"slug":"thought-708","title":"Notes – 09:32 Thu 19 Jun 2025 – David Bushell – Web Dev (UK)","href":"/thought-708/?feed=thoughts-feed"},{"slug":"thought-704","title":"Bug: Pypi metadata is wrong (Requires: Python \u003e=3.6) · Issue #…","href":"/thought-704/?feed=thoughts-feed"},{"slug":"thought-703","title":"Conventional Commits","href":"/thought-703/?feed=thoughts-feed"},{"slug":"thought-702","title":"FROGS ep1 The home - YouTube","href":"/thought-702/?feed=thoughts-feed"},{"slug":"thought-695","title":"Visualizing My Blog’s Internal Links - Jim Nielsen’s Blog","href":"/thought-695/?feed=thoughts-feed"},{"slug":"thought-694","title":"Your Framework is Showing 😳 – David Bushell – Web Dev (UK)","href":"/thought-694/?feed=thoughts-feed"},{"slug":"thought-693","title":"I DONT KNOW WHY - YouTube","href":"/thought-693/?feed=thoughts-feed"},{"slug":"thought-692","title":"Next.js 15.1+ is unusable outside of Vercel | Omar Abid - Pers…","href":"/thought-692/?feed=thoughts-feed"},{"slug":"thought-684","title":"Think less, ship more","href":"/thought-684/?feed=thoughts-feed"},{"slug":"thought-683","title":"robinroy03/videoeditor: Video Editor Application using React, …","href":"/thought-683/?feed=thoughts-feed"},{"slug":"thought-681","title":"Taming file zoos: Data science with DuckDB database files - Al…","href":"/thought-681/?feed=thoughts-feed"},{"slug":"thought-677","title":"PocketCal Build Log","href":"/thought-677/?feed=thoughts-feed"},{"slug":"thought-675","title":"numtide/treefmt: one CLI to format your repo [maintainers=@zim…","href":"/thought-675/?feed=thoughts-feed"},{"slug":"thought-674","title":"Keynote Speaker - Cory Doctorow - YouTube","href":"/thought-674/?feed=thoughts-feed"},{"slug":"thought-673","title":"Dopamine Driven Development - YouTube","href":"/thought-673/?feed=thoughts-feed"},{"slug":"thought-672","title":"DHH IS RIGHT ABOUT EVERYTHING (Again)? - YouTube","href":"/thought-672/?feed=thoughts-feed"},{"slug":"thought-671","title":"WebTUI","href":"/thought-671/?feed=thoughts-feed"},{"slug":"thought-668","title":"Arch Wizard Brodie Robertson vs My Mac Life - Will He Convert …","href":"/thought-668/?feed=thoughts-feed"},{"slug":"thought-667","title":"Backups interrupted by full disk usage","href":"/thought-667/?feed=thoughts-feed"},{"slug":"thought-666","title":"Queso Notes","href":"/thought-666/?feed=thoughts-feed"},{"slug":"thought-665","title":"The ethics of README ads – Will McGugan – Will McGugan’s essays","href":"/thought-665/?feed=thoughts-feed"},{"slug":"thought-664","title":"minio/minio Tags | Docker Hub","href":"/thought-664/?feed=thoughts-feed"},{"slug":"thought-663","title":"The 1-3-1 Writing Technique","href":"/thought-663/?feed=thoughts-feed"},{"slug":"thought-662","title":"From Prisma Founder to LiveStore: Building local-first apps wi…","href":"/thought-662/?feed=thoughts-feed"},{"slug":"thought-661","title":"DHH on X: “You don’t need a mentor. There’s no secret sauce le…","href":"/thought-661/?feed=thoughts-feed"},{"slug":"thought-660","title":"Self-Host Weekly","href":"/thought-660/?feed=thoughts-feed"},{"slug":"thought-659","title":"DHH on X: “NIH: Not Invented Here Syndrome might come from a g…","href":"/thought-659/?feed=thoughts-feed"},{"slug":"thought-658","title":"feat: add hackernews hits on home page · jimniels/blog@b1a250b","href":"/thought-658/?feed=thoughts-feed"},{"slug":"thought-657","title":"Hackernews query by url","href":"/thought-657/?feed=thoughts-feed"},{"slug":"thought-656","title":"External Links - Jim Nielsen’s Blog","href":"/thought-656/?feed=thoughts-feed"},{"slug":"thought-655","title":"Could I Have Some More Friction in My Life, Please? - Jim Niel…","href":"/thought-655/?feed=thoughts-feed"},{"slug":"thought-654","title":"A Gentle Intro to RSS","href":"/thought-654/?feed=thoughts-feed"},{"slug":"thought-653","title":"Command Line | gitignore.io / docs","href":"/thought-653/?feed=thoughts-feed"},{"slug":"thought-652","title":"My Keyboard Has Sublayers… and It’s Insane - YouTube","href":"/thought-652/?feed=thoughts-feed"},{"slug":"thought-651","title":"Forrest Knight on X: “you’re not allowed to write comments in …","href":"/thought-651/?feed=thoughts-feed"},{"slug":"thought-650","title":"The adapter pattern in python | Rob Parsons","href":"/thought-650/?feed=thoughts-feed"},{"slug":"thought-649","title":"Adding a Dynamic Now Page in Jekyll","href":"/thought-649/?feed=thoughts-feed"},{"slug":"thought-648","title":"CSS if() functions \u0026 reading-flow (in Chrome 137) - YouTube","href":"/thought-648/?feed=thoughts-feed"},{"slug":"thought-647","title":"wants | maya.land","href":"/thought-647/?feed=thoughts-feed"},{"slug":"thought-646","title":"Blogroll","href":"/thought-646/?feed=thoughts-feed"},{"slug":"thought-645","title":"Late Night Linux – Episode 335 - YouTube","href":"/thought-645/?feed=thoughts-feed"},{"slug":"thought-644","title":"Root for Your Friends · Joseph Thacker","href":"/thought-644/?feed=thoughts-feed"},{"slug":"thought-642","title":"Billy Basso on code architecture of Animal Well! - YouTube","href":"/thought-642/?feed=thoughts-feed"},{"slug":"thought-641","title":"Just fucking code.","href":"/thought-641/?feed=thoughts-feed"},{"slug":"thought-640","title":"The Plot of “Hollow Knight” in One Minute - YouTube","href":"/thought-640/?feed=thoughts-feed"},{"slug":"thought-639","title":"k8s-monitoring-helm/charts/k8s-monitoring/docs/examples/privat…","href":"/thought-639/?feed=thoughts-feed"},{"slug":"thought-638","title":"No docs, no bugs","href":"/thought-638/?feed=thoughts-feed"},{"slug":"thought-637","title":"The Subtle Details That Make Hollow Knight Great - YouTube","href":"/thought-637/?feed=thoughts-feed"},{"slug":"thought-636","title":"Python: The Documentary [OFFICIAL TRAILER] - YouTube","href":"/thought-636/?feed=thoughts-feed"},{"slug":"thought-635","title":"Chris Biscardi’s Digital Garden","href":"/thought-635/?feed=thoughts-feed"},{"slug":"thought-634","title":"GrafanaCON 2025 Keynote Livestream - YouTube","href":"/thought-634/?feed=thoughts-feed"},{"slug":"thought-633","title":"The future of Textualize - Textual","href":"/thought-633/?feed=thoughts-feed"},{"slug":"thought-632","title":"What’s next? – Will McGugan – Will McGugan’s essays","href":"/thought-632/?feed=thoughts-feed"},{"slug":"thought-631","title":"Too much magic – Will McGugan – Will McGugan’s essays","href":"/thought-631/?feed=thoughts-feed"},{"slug":"thought-630","title":"Markdown’s biggest hater | Knut Melvær - YouTube","href":"/thought-630/?feed=thoughts-feed"},{"slug":"thought-629","title":"Week Links №2: April 2025 - daverupert.com","href":"/thought-629/?feed=thoughts-feed"},{"slug":"thought-627","title":"What ChatGPT is NOT - Tech Raven Blog","href":"/thought-627/?feed=thoughts-feed"},{"slug":"thought-626","title":"“I’d rather read the prompt” – Chris Coyier","href":"/thought-626/?feed=thoughts-feed"},{"slug":"thought-625","title":"The Rule - YouTube","href":"/thought-625/?feed=thoughts-feed"},{"slug":"thought-624","title":"THE STANDUP - Coding DIRTY Episode 7","href":"/thought-624/?feed=thoughts-feed"},{"slug":"thought-623","title":"Learning monitoring","href":"/thought-623/?feed=thoughts-feed"},{"slug":"thought-622","title":"Kubernetes Monitoring Helm tutorial | Grafana Loki documentation","href":"/thought-622/?feed=thoughts-feed"},{"slug":"thought-621","title":"Configure the Tempo data source | Grafana documentation","href":"/thought-621/?feed=thoughts-feed"},{"slug":"thought-620","title":"Vectorizing Your Databases with Steve Pousty","href":"/thought-620/?feed=thoughts-feed"},{"slug":"thought-618","title":"Recovering from Disaster with Seth Eliot","href":"/thought-618/?feed=thoughts-feed"},{"slug":"thought-617","title":"Red-Knot: Ruff’s new Type Checker - Talk Python Live Stream - …","href":"/thought-617/?feed=thoughts-feed"},{"slug":"thought-616","title":"Playground | Red Knot","href":"/thought-616/?feed=thoughts-feed"},{"slug":"thought-615","title":"pypi package ty","href":"/thought-615/?feed=thoughts-feed"},{"slug":"thought-614","title":"3D Printable Power Brick Bracket Designer","href":"/thought-614/?feed=thoughts-feed"},{"slug":"thought-613","title":"661: Working Vacations, Ripping Out JavaScript, and Non-US Clo…","href":"/thought-613/?feed=thoughts-feed"},{"slug":"thought-612","title":"The Worst OS - YouTube","href":"/thought-612/?feed=thoughts-feed"},{"slug":"thought-611","title":"The Worst OS - YouTube","href":"/thought-611/?feed=thoughts-feed"},{"slug":"thought-610","title":"A quote from Mark Zuckerberg","href":"/thought-610/?feed=thoughts-feed"},{"slug":"thought-609","title":"Chris Coyier","href":"/thought-609/?feed=thoughts-feed"},{"slug":"thought-608","title":"Helm - Postiz Docs","href":"/thought-608/?feed=thoughts-feed"},{"slug":"thought-598","title":"Louis Rossmann’s Keynote Speech on Right to Repair - YouTube","href":"/thought-598/?feed=thoughts-feed"},{"slug":"thought-597","title":"True Non-Planar Slicing is Here - YouTube","href":"/thought-597/?feed=thoughts-feed"},{"slug":"thought-596","title":"Marp: Markdown Presentation Ecosystem","href":"/thought-596/?feed=thoughts-feed"},{"slug":"thought-595","title":"Build UIs that don’t suck - YouTube","href":"/thought-595/?feed=thoughts-feed"},{"slug":"thought-594","title":"Let’s Talk Open Source - Prime Reacts - YouTube","href":"/thought-594/?feed=thoughts-feed"},{"slug":"thought-593","title":"Self-Hosted 29: Perils of Self-Hosting","href":"/thought-593/?feed=thoughts-feed"},{"slug":"thought-592","title":"Spring 2025: Self-Hosted Update – David Bushell – Web Dev (UK)","href":"/thought-592/?feed=thoughts-feed"},{"slug":"thought-591","title":"Characters - Xe Iaso","href":"/thought-591/?feed=thoughts-feed"},{"slug":"thought-590","title":"Comparing Crazy Suspension Setups on a Bumpy Road! [Trailmaker…","href":"/thought-590/?feed=thoughts-feed"},{"slug":"thought-589","title":"adrianlopezroche/fdupes: FDUPES is a program for identifying o…","href":"/thought-589/?feed=thoughts-feed"},{"slug":"thought-588","title":"Diun","href":"/thought-588/?feed=thoughts-feed"},{"slug":"thought-587","title":"Keel","href":"/thought-587/?feed=thoughts-feed"},{"slug":"thought-586","title":"World’s easiest Live dashboard with htmx - YouTube","href":"/thought-586/?feed=thoughts-feed"},{"slug":"thought-585","title":"Resetting a lost admin password — Nextcloud latest Administrat…","href":"/thought-585/?feed=thoughts-feed"},{"slug":"thought-584","title":"Redis configuration | Docs","href":"/thought-584/?feed=thoughts-feed"},{"slug":"thought-583","title":"hotel_bookings.csv","href":"/thought-583/?feed=thoughts-feed"},{"slug":"thought-582","title":"The State of Secrets Sprawl 2025","href":"/thought-582/?feed=thoughts-feed"},{"slug":"thought-581","title":"Mill-Max Hotswap Sockets – Keebio","href":"/thought-581/?feed=thoughts-feed"},{"slug":"thought-580","title":"r.jina.ai","href":"/thought-580/?feed=thoughts-feed"},{"slug":"thought-579","title":"Why did Framework build a desktop? - YouTube","href":"/thought-579/?feed=thoughts-feed"},{"slug":"thought-578","title":"PyApp","href":"/thought-578/?feed=thoughts-feed"},{"slug":"thought-577","title":"CSS Battle - Re-create an Image with CSS in the Fewest Charact…","href":"/thought-577/?feed=thoughts-feed"},{"slug":"thought-576","title":"Ergonomic Laptop — Evan and Katelyn","href":"/thought-576/?feed=thoughts-feed"},{"slug":"thought-575","title":"OpenTools | The open MCP server registry","href":"/thought-575/?feed=thoughts-feed"},{"slug":"thought-574","title":"I Made My Own JBOD Enclosure For CHEAP - YouTube","href":"/thought-574/?feed=thoughts-feed"},{"slug":"thought-573","title":"XCMKB: ZMK/Bluetooth Boards","href":"/thought-573/?feed=thoughts-feed"},{"slug":"thought-572","title":"Mantis Clamp by zuberio | Download free STL model | Printables…","href":"/thought-572/?feed=thoughts-feed"},{"slug":"thought-571","title":"The 3D Printed Mantis Clamp! #3dprinting #shorts #diy - YouTube","href":"/thought-571/?feed=thoughts-feed"},{"slug":"thought-570","title":"There are many Style Guides but this is Mine—zachleat.com","href":"/thought-570/?feed=thoughts-feed"},{"slug":"thought-569","title":"python-build-standalone/.github/workflows/release.yml at main …","href":"/thought-569/?feed=thoughts-feed"},{"slug":"thought-568","title":"fix double slash in url · WaylonWalker/waylonwalker.com@93ca7da","href":"/thought-568/?feed=thoughts-feed"},{"slug":"thought-567","title":"fix json schema · WaylonWalker/waylonwalker.com@deebd40","href":"/thought-567/?feed=thoughts-feed"},{"slug":"thought-566","title":"Weblogging: Part 1 – David Bushell – Web Dev (UK)","href":"/thought-566/?feed=thoughts-feed"},{"slug":"thought-565","title":"fix: Open Graph URL not matching canonical · WaylonWalker/wayl…","href":"/thought-565/?feed=thoughts-feed"},{"slug":"thought-564","title":"Cotton Coder – David Bushell – Web Dev (UK)","href":"/thought-564/?feed=thoughts-feed"},{"slug":"thought-563","title":"valkey-io/valkey: A flexible distributed key-value datastore t…","href":"/thought-563/?feed=thoughts-feed"},{"slug":"thought-562","title":"valkey · PyPI","href":"/thought-562/?feed=thoughts-feed"},{"slug":"thought-561","title":"Fragmentions - linking to any text","href":"/thought-561/?feed=thoughts-feed"},{"slug":"thought-560","title":"hype cp | Hypermedia Copy \u0026 Paste","href":"/thought-560/?feed=thoughts-feed"},{"slug":"thought-559","title":"Chris Coyier","href":"/thought-559/?feed=thoughts-feed"},{"slug":"thought-558","title":"AI workloads on Talos Linux - Sidero Labs","href":"/thought-558/?feed=thoughts-feed"},{"slug":"thought-557","title":"Proompted Kiddies Learning The Hard Way - YouTube","href":"/thought-557/?feed=thoughts-feed"},{"slug":"thought-556","title":"Colors - Core concepts - Tailwind CSS","href":"/thought-556/?feed=thoughts-feed"},{"slug":"thought-555","title":"Don’t Starve Together Forever world","href":"/thought-555/?feed=thoughts-feed"},{"slug":"thought-554","title":"Developer Productivity, v2 with ThePrimeagen | Preview - YouTube","href":"/thought-554/?feed=thoughts-feed"},{"slug":"thought-553","title":"Jhey ʕ·ᴥ· ʔ: “breakin’ down classics CSS background-image + ba…","href":"/thought-553/?feed=thoughts-feed"},{"slug":"thought-552","title":"Fix VERSION_OR_CIPHER_MISMATCH · Cloudflare SSL/TLS docs","href":"/thought-552/?feed=thoughts-feed"},{"slug":"thought-551","title":"Migration guide for config loaders — kedro 0.19.11 documentation","href":"/thought-551/?feed=thoughts-feed"},{"slug":"thought-550","title":"Search: 5 results found for “box white” – Kailh switch","href":"/thought-550/?feed=thoughts-feed"},{"slug":"thought-549","title":"A Cinematic Aspect Ratio Guide for Every Filmmaker | No Film S…","href":"/thought-549/?feed=thoughts-feed"},{"slug":"thought-548","title":"I Think I Love Deepseek R1 - YouTube","href":"/thought-548/?feed=thoughts-feed"},{"slug":"thought-547","title":"RSS is dead - YouTube","href":"/thought-547/?feed=thoughts-feed"},{"slug":"thought-546","title":"Behold, the Steam Brick | Rock Paper Shotgun","href":"/thought-546/?feed=thoughts-feed"},{"slug":"thought-545","title":"OpenAI Is Actually Terrible - YouTube","href":"/thought-545/?feed=thoughts-feed"},{"slug":"thought-544","title":"AI Is Making You An Illiterate Programmer - YouTube","href":"/thought-544/?feed=thoughts-feed"},{"slug":"thought-543","title":"Why is Kubernetes everywhere? | Kelsey Hightower - YouTube","href":"/thought-543/?feed=thoughts-feed"},{"slug":"thought-542","title":"Models - Pydantic","href":"/thought-542/?feed=thoughts-feed"},{"slug":"thought-541","title":"If Mitchell Hashimoto succeeds, Tmux \u0026 Zellij will disappear -…","href":"/thought-541/?feed=thoughts-feed"},{"slug":"thought-540","title":"Top Python libraries of 2024 | Tryolabs","href":"/thought-540/?feed=thoughts-feed"},{"slug":"thought-539","title":"Choosing color palettes — seaborn 0.13.2 documentation","href":"/thought-539/?feed=thoughts-feed"},{"slug":"thought-538","title":"poolers.postgresql.cnpg.io CRD metadata.annotations Too long ·…","href":"/thought-538/?feed=thoughts-feed"},{"slug":"thought-537","title":"Nerd Fonts - Iconic font aggregator, glyphs/icons collection, …","href":"/thought-537/?feed=thoughts-feed"},{"slug":"thought-536","title":"Manufacturer Recertified Drives | Enterprise Grade — ServerPar…","href":"/thought-536/?feed=thoughts-feed"},{"slug":"thought-535","title":"Releases · bootandy/dust","href":"/thought-535/?feed=thoughts-feed"},{"slug":"thought-534","title":"Keycloak","href":"/thought-534/?feed=thoughts-feed"},{"slug":"thought-533","title":"The Worst Thing You Can Do For Your Career - YouTube","href":"/thought-533/?feed=thoughts-feed"},{"slug":"thought-532","title":"The Future of HTMX - YouTube","href":"/thought-532/?feed=thoughts-feed"},{"slug":"thought-531","title":"Why I Write","href":"/thought-531/?feed=thoughts-feed"},{"slug":"thought-530","title":"Availability","href":"/thought-530/?feed=thoughts-feed"},{"slug":"thought-529","title":"SuperMini nRF52840 Wireless Controller Development Board - kri…","href":"/thought-529/?feed=thoughts-feed"},{"slug":"thought-527","title":"Quick Start - kotaemon Docs","href":"/thought-527/?feed=thoughts-feed"},{"slug":"thought-526","title":"Bluesky is more like Twitter than X is","href":"/thought-526/?feed=thoughts-feed"},{"slug":"thought-524","title":"Why You Should Game on Linux (feat. GloriousEggroll of Nobara)…","href":"/thought-524/?feed=thoughts-feed"},{"slug":"thought-523","title":"V2 suddenly getting client-not-enrolled today - X API - X Deve…","href":"/thought-523/?feed=thoughts-feed"},{"slug":"thought-522","title":"containers/podman-compose: a script to run docker-compose.yml …","href":"/thought-522/?feed=thoughts-feed"},{"slug":"thought-521","title":"bic | Static blog generator, in bash","href":"/thought-521/?feed=thoughts-feed"},{"slug":"thought-520","title":"Animate to height: auto; (and other intrinsic sizing keywords)…","href":"/thought-520/?feed=thoughts-feed"},{"slug":"thought-519","title":"awesome-cursorrules/rules/py-fast-api/.cursorrules at main · P…","href":"/thought-519/?feed=thoughts-feed"},{"slug":"thought-518","title":"Generate Custom .cursorrules for Your Project Based on Communi…","href":"/thought-518/?feed=thoughts-feed"},{"slug":"thought-517","title":"cyclotruc/gitingest: Replace ‘hub’ with ‘ingest’ in any github…","href":"/thought-517/?feed=thoughts-feed"},{"slug":"thought-516","title":"Gitingest","href":"/thought-516/?feed=thoughts-feed"},{"slug":"thought-515","title":"olimorris/codecompanion.nvim: ✨ AI-powered coding, seamlessly …","href":"/thought-515/?feed=thoughts-feed"},{"slug":"thought-514","title":"Cracking the Code | Open Sauce 2024 - YouTube","href":"/thought-514/?feed=thoughts-feed"},{"slug":"thought-513","title":"WaylonWalker/nvim-manager: manage dotfiles with nvim_appname","href":"/thought-513/?feed=thoughts-feed"},{"slug":"thought-512","title":"Releases · WaylonWalker/nvim-manager","href":"/thought-512/?feed=thoughts-feed"},{"slug":"thought-511","title":"URL escape codes","href":"/thought-511/?feed=thoughts-feed"},{"slug":"thought-510","title":"GitHub - ngalaiko/tree-sitter-go-template: Golang template gra…","href":"/thought-510/?feed=thoughts-feed"},{"slug":"thought-509","title":"imagegenius/docker-immich: Monolithic (Single) Docker Containe…","href":"/thought-509/?feed=thoughts-feed"},{"slug":"thought-508","title":"Owning It · Matthias Ott","href":"/thought-508/?feed=thoughts-feed"},{"slug":"thought-507","title":"The weirdest controller I’ve ever used","href":"/thought-507/?feed=thoughts-feed"},{"slug":"thought-506","title":"Postiz: The All-in-One Social Media Management Tool","href":"/thought-506/?feed=thoughts-feed"},{"slug":"thought-505","title":"gitroomhq/postiz-helmchart: Helm for Postiz","href":"/thought-505/?feed=thoughts-feed"},{"slug":"thought-503","title":"Realign – Chris Coyier","href":"/thought-503/?feed=thoughts-feed"},{"slug":"thought-502","title":"About Me – Harry Roberts – Web Performance Consultant","href":"/thought-502/?feed=thoughts-feed"},{"slug":"thought-501","title":"Using Obsidian as a Gaming Backlog Library","href":"/thought-501/?feed=thoughts-feed"},{"slug":"thought-500","title":"Harry Roberts: “📡 I’ve been writing a lot lately. I’ve also du…","href":"/thought-500/?feed=thoughts-feed"},{"slug":"thought-499","title":"myRSS/personal-blogs.xml at master · sturobson/myRSS","href":"/thought-499/?feed=thoughts-feed"},{"slug":"thought-497","title":"Own Your Web • Buttondown","href":"/thought-497/?feed=thoughts-feed"},{"slug":"thought-496","title":"Fork Around And Find Out | Remaining Authentic in Retirement w…","href":"/thought-496/?feed=thoughts-feed"},{"slug":"thought-495","title":"Changelog • Robb Knight","href":"/thought-495/?feed=thoughts-feed"},{"slug":"thought-494","title":"slash pages","href":"/thought-494/?feed=thoughts-feed"},{"slug":"thought-493","title":"We need to have a talk… - YouTube","href":"/thought-493/?feed=thoughts-feed"},{"slug":"thought-492","title":"linkding | linkding","href":"/thought-492/?feed=thoughts-feed"},{"slug":"thought-489","title":"Wrapping your favorite CLI in neovim - YouTube","href":"/thought-489/?feed=thoughts-feed"},{"slug":"thought-488","title":"Why Your Backend Shouldn’t Serve Files - YouTube","href":"/thought-488/?feed=thoughts-feed"},{"slug":"thought-487","title":"curl with partial files | daniel.haxx.se","href":"/thought-487/?feed=thoughts-feed"},{"slug":"thought-486","title":"The beautiful sentence that is the web","href":"/thought-486/?feed=thoughts-feed"},{"slug":"thought-485","title":"Teleport to coop partner | Hypixel Forums","href":"/thought-485/?feed=thoughts-feed"},{"slug":"thought-484","title":"How to configure base url for all requests using HTMX? - Stack…","href":"/thought-484/?feed=thoughts-feed"},{"slug":"thought-482","title":"Addy Osmani: “Tip: Chrome DevTools can override the content of…","href":"/thought-482/?feed=thoughts-feed"},{"slug":"thought-481","title":"Gary Vaynerchuk: “2025 : the year of action … who’s finally re…","href":"/thought-481/?feed=thoughts-feed"},{"slug":"thought-475","title":"Ellie Huxtable: “Atuin v18.4 is out now! Including `atuin wrap…","href":"/thought-475/?feed=thoughts-feed"},{"slug":"thought-474","title":"Hybrid Cloud Show – Episode 20 - YouTube","href":"/thought-474/?feed=thoughts-feed"},{"slug":"thought-473","title":"are we cooked w/ o3? - YouTube","href":"/thought-473/?feed=thoughts-feed"},{"slug":"thought-472","title":"Getting a Dev Job in 2025 - YouTube","href":"/thought-472/?feed=thoughts-feed"},{"slug":"thought-471","title":"kitze 🚀 on X: “holy fk I thought package.json was bad but TIL …","href":"/thought-471/?feed=thoughts-feed"},{"slug":"thought-470","title":"Custom Gridfinity Bins For ANYTHING! - YouTube","href":"/thought-470/?feed=thoughts-feed"},{"slug":"thought-469","title":"Ubuntu Summit 2024 | UMU - A unified tool for easily running y…","href":"/thought-469/?feed=thoughts-feed"},{"slug":"thought-468","title":"4 Tips for Building a Production-Ready FastAPI Backend - YouTube","href":"/thought-468/?feed=thoughts-feed"},{"slug":"thought-467","title":"Building Python tools with a one-shot prompt using uv run and …","href":"/thought-467/?feed=thoughts-feed"},{"slug":"thought-466","title":"Status | Depot","href":"/thought-466/?feed=thoughts-feed"},{"slug":"thought-465","title":"Deploy to Fly using a Depot builder","href":"/thought-465/?feed=thoughts-feed"},{"slug":"thought-464","title":"Depot","href":"/thought-464/?feed=thoughts-feed"},{"slug":"thought-463","title":"Cursor + Windsurf Settings to 5x AI’s Output Quality (Works wi…","href":"/thought-463/?feed=thoughts-feed"},{"slug":"thought-462","title":"Dedicated Servers | Intel Servers | AMD Servers - Dedicated Ho…","href":"/thought-462/?feed=thoughts-feed"},{"slug":"thought-461","title":"Talking with Typecraft - YouTube","href":"/thought-461/?feed=thoughts-feed"},{"slug":"thought-460","title":"PEP 723 – Inline script metadata | peps.python.org","href":"/thought-460/?feed=thoughts-feed"},{"slug":"thought-459","title":"Switching from virtualenvwrapper to direnv, Starship, and uv","href":"/thought-459/?feed=thoughts-feed"},{"slug":"thought-458","title":"Lazy self-installing Python scripts with uv","href":"/thought-458/?feed=thoughts-feed"},{"slug":"thought-457","title":"My approach to running a link blog","href":"/thought-457/?feed=thoughts-feed"},{"slug":"thought-456","title":"How I use Obsidian Templater","href":"/thought-456/?feed=thoughts-feed"},{"slug":"thought-455","title":"How I use Obsidian Templater","href":"/thought-455/?feed=thoughts-feed"},{"slug":"thought-454","title":"How I use Obsidian Templater","href":"/thought-454/?feed=thoughts-feed"},{"slug":"thought-453","title":"docker context (and an issue to question your sanity) | Pype.dev","href":"/thought-453/?feed=thoughts-feed"},{"slug":"thought-451","title":"Styling better custom inputs with Dave Rupert - YouTube","href":"/thought-451/?feed=thoughts-feed"},{"slug":"thought-450","title":"I got the ADHD, too - daverupert.com","href":"/thought-450/?feed=thoughts-feed"},{"slug":"thought-449","title":"Damn, I love dropper already","href":"/thought-449/?feed=thoughts-feed"},{"slug":"thought-448","title":"How to make your RSS feed pretty","href":"/thought-448/?feed=thoughts-feed"},{"slug":"thought-447","title":"Dropper","href":"/thought-447/?feed=thoughts-feed"},{"slug":"thought-446","title":"Add a healthcheck to your FastAPI app | Pype.dev","href":"/thought-446/?feed=thoughts-feed"},{"slug":"thought-445","title":"casey/just: 🤖 Just a command runner","href":"/thought-445/?feed=thoughts-feed"},{"slug":"thought-444","title":"pipedream/justfile at main · thechangelog/pipedream","href":"/thought-444/?feed=thoughts-feed"},{"slug":"thought-443","title":"Hurl - Run and Test HTTP Requests","href":"/thought-443/?feed=thoughts-feed"},{"slug":"thought-442","title":"watchfiles","href":"/thought-442/?feed=thoughts-feed"},{"slug":"thought-441","title":"hostnamectl to easily change hostname | Pype.dev","href":"/thought-441/?feed=thoughts-feed"},{"slug":"thought-440","title":"Ansible Galaxy - amazon.aws","href":"/thought-440/?feed=thoughts-feed"},{"slug":"thought-439","title":"Using OPNsense with Tailscale · Tailscale Docs","href":"/thought-439/?feed=thoughts-feed"},{"slug":"thought-438","title":"Fitting two hard drives and an SSD in a Dell OptiPlex 7010 SFF","href":"/thought-438/?feed=thoughts-feed"},{"slug":"thought-437","title":"How To Fix An Office Chair Popping Noise? With Root Causes - T…","href":"/thought-437/?feed=thoughts-feed"},{"slug":"thought-436","title":"If anyone else is having sound clicking with chair : here is t…","href":"/thought-436/?feed=thoughts-feed"},{"slug":"thought-435","title":"Changelog on X: “🗣️@dhh on Kubernetes’ migration pitch: “Oh, w…","href":"/thought-435/?feed=thoughts-feed"},{"slug":"thought-434","title":"How to make a good first impression in business #dewalt #tools…","href":"/thought-434/?feed=thoughts-feed"},{"slug":"thought-433","title":"Inside Argo: Automating the Future - YouTube","href":"/thought-433/?feed=thoughts-feed"},{"slug":"thought-432","title":"Introduction - bootc","href":"/thought-432/?feed=thoughts-feed"},{"slug":"thought-431","title":"Saghen/blink.cmp: Performant, batteries-included completion pl…","href":"/thought-431/?feed=thoughts-feed"},{"slug":"thought-430","title":"Wes Bos on X: “CSS Anchors: flip a tooltip to the bottom when …","href":"/thought-430/?feed=thoughts-feed"},{"slug":"thought-429","title":"statically makes OG images easy","href":"/thought-429/?feed=thoughts-feed"},{"slug":"thought-428","title":"E576: Error while reading ShaDa file: there is an item at posi…","href":"/thought-428/?feed=thoughts-feed"},{"slug":"thought-427","title":"Production-ready Python Docker Containers with uv","href":"/thought-427/?feed=thoughts-feed"},{"slug":"thought-426","title":"Proper handling of None in WHERE condition · Issue #109 · fast…","href":"/thought-426/?feed=thoughts-feed"},{"slug":"thought-424","title":"Rugged Storage Box, Parametric and Customizable by bulbasaur0 …","href":"/thought-424/?feed=thoughts-feed"},{"slug":"thought-423","title":"Gridfinity Rugged Storage Box, Parametric and Customizable by …","href":"/thought-423/?feed=thoughts-feed"},{"slug":"thought-422","title":"Cluster API book","href":"/thought-422/?feed=thoughts-feed"},{"slug":"thought-421","title":"Gridfinity Generator","href":"/thought-421/?feed=thoughts-feed"},{"slug":"thought-420","title":"Framework Portable handheld Case (Beth Deck) by Beth Le | Down…","href":"/thought-420/?feed=thoughts-feed"},{"slug":"thought-419","title":"My Favorite Fingerboard Obstacles \u0026 WHY - YouTube","href":"/thought-419/?feed=thoughts-feed"},{"slug":"thought-418","title":"Document how to provide a negative number as an argument · fas…","href":"/thought-418/?feed=thoughts-feed"},{"slug":"thought-417","title":"Aaron Francis on X: “📣 We’re excited to announce Mastering Pos…","href":"/thought-417/?feed=thoughts-feed"},{"slug":"thought-416","title":"Will McGugan on X: “New Version of #Textual released! 😎🤓🦾 The …","href":"/thought-416/?feed=thoughts-feed"},{"slug":"thought-415","title":"ticklemykeys on X: “Porta john got some pink caps https://t.co…","href":"/thought-415/?feed=thoughts-feed"},{"slug":"thought-414","title":"Not a split keyboard, but perhaps a companion to one: the Ploo…","href":"/thought-414/?feed=thoughts-feed"},{"slug":"thought-413","title":"Install a Zulip server — Zulip 9.2 documentation","href":"/thought-413/?feed=thoughts-feed"},{"slug":"thought-412","title":"Pin versions of dependencies · Issue #2200 · Kozea/WeasyPrint","href":"/thought-412/?feed=thoughts-feed"},{"slug":"thought-411","title":"These are SICK, gonna be using this a lot. (Thanks @evantraver…","href":"/thought-411/?feed=thoughts-feed"},{"slug":"thought-410","title":"add helix · WaylonWalker/devtainer@71b9b29","href":"/thought-410/?feed=thoughts-feed"},{"slug":"thought-409","title":"helix-vim/config.toml at master · LGUG2Z/helix-vim","href":"/thought-409/?feed=thoughts-feed"},{"slug":"thought-408","title":"Support regex substitution command · Issue #2232 · helix-edito…","href":"/thought-408/?feed=thoughts-feed"},{"slug":"thought-407","title":"Support regex substitution command · Issue #2232 · helix-edito…","href":"/thought-407/?feed=thoughts-feed"},{"slug":"thought-406","title":"Support regex substitution command · Issue #2232 · helix-edito…","href":"/thought-406/?feed=thoughts-feed"},{"slug":"thought-405","title":"Support regex substitution command · Issue #2232 · helix-edito…","href":"/thought-405/?feed=thoughts-feed"},{"slug":"thought-404","title":"Background Image | Wallpaper · Issue #3059 · helix-editor/helix","href":"/thought-404/?feed=thoughts-feed"},{"slug":"thought-403","title":"help on setting up ruff formatter + ruff + pyright please : r/…","href":"/thought-403/?feed=thoughts-feed"},{"slug":"thought-402","title":"configuring pylsp · helix-editor/helix · Discussion #6623","href":"/thought-402/?feed=thoughts-feed"},{"slug":"thought-401","title":"Database Remote-Copy Tool For SQLite (draft)","href":"/thought-401/?feed=thoughts-feed"},{"slug":"thought-400","title":"ticklemykeys on X: “working on a new model. * seams less visib…","href":"/thought-400/?feed=thoughts-feed"},{"slug":"thought-399","title":"Elwin Ransom 👽 on X: “Help, I’m being Helix pilled by my own f…","href":"/thought-399/?feed=thoughts-feed"},{"slug":"thought-398","title":"ticklemykeys on X: “New cap of my own design https://t.co/j63q…","href":"/thought-398/?feed=thoughts-feed"},{"slug":"thought-397","title":"ticklemykeys on X: “Full size MX caps, printing flawlessly wit…","href":"/thought-397/?feed=thoughts-feed"},{"slug":"thought-396","title":"Cherry 8 mm keycap mount","href":"/thought-396/?feed=thoughts-feed"},{"slug":"thought-394","title":"distrobox/docs/usage/distrobox-assemble.md at main · 89luca89/…","href":"/thought-394/?feed=thoughts-feed"},{"slug":"thought-393","title":"urob/zmk-config: Personal ZMK firmware configuration for vario…","href":"/thought-393/?feed=thoughts-feed"},{"slug":"thought-392","title":"add init hooks and exported bins · WaylonWalker/devtainer@2e4c6da","href":"/thought-392/?feed=thoughts-feed"},{"slug":"thought-391","title":"Taildrop · Tailscale Docs","href":"/thought-391/?feed=thoughts-feed"},{"slug":"thought-390","title":"triliu/Heawood42: Files for the Heawood42 ortholinear split ke…","href":"/thought-390/?feed=thoughts-feed"},{"slug":"thought-389","title":"Leveret v2 \u0026 lever keycaps","href":"/thought-389/?feed=thoughts-feed"},{"slug":"thought-388","title":"Alternatives to Using Pure Black (#000000) for Text and Backgr…","href":"/thought-388/?feed=thoughts-feed"},{"slug":"thought-387","title":"Wes Bos on X: “Are you using position: absolute; to overlap el…","href":"/thought-387/?feed=thoughts-feed"},{"slug":"thought-386","title":"Buttery icons","href":"/thought-386/?feed=thoughts-feed"},{"slug":"thought-385","title":"NOT - LTT Screwdriver - Fancy by Erer2001 | Download free STL …","href":"/thought-385/?feed=thoughts-feed"},{"slug":"thought-384","title":"Installing Python - uv","href":"/thought-384/?feed=thoughts-feed"},{"slug":"thought-383","title":"Switching Configs in Neovim • Michael Uloth","href":"/thought-383/?feed=thoughts-feed"},{"slug":"thought-382","title":"Keyboard Build Log | Halfwit’s Dev Blog","href":"/thought-382/?feed=thoughts-feed"},{"slug":"thought-381","title":"Hotkey to open link under at the text cursor position while ty…","href":"/thought-381/?feed=thoughts-feed"},{"slug":"thought-379","title":"Make your own luck (do this to stand out in a crowded industry…","href":"/thought-379/?feed=thoughts-feed"},{"slug":"thought-378","title":"I Invented Airless Cornhole Bags - YouTube","href":"/thought-378/?feed=thoughts-feed"},{"slug":"thought-377","title":"The Tank - YouTube","href":"/thought-377/?feed=thoughts-feed"},{"slug":"thought-374","title":"How Fly.io uses Docker (without Docker) - YouTube","href":"/thought-374/?feed=thoughts-feed"},{"slug":"thought-373","title":"Ultimate Modular Macro Keyboard “Kibly” : r/MechanicalKeyboards","href":"/thought-373/?feed=thoughts-feed"},{"slug":"thought-372","title":"This is Goodbye? - YouTube","href":"/thought-372/?feed=thoughts-feed"},{"slug":"thought-369","title":"he’s back again","href":"/thought-369/?feed=thoughts-feed"},{"slug":"thought-361","title":"Note-taking with Zettelkasten - An Introduction - YouTube","href":"/thought-361/?feed=thoughts-feed"},{"slug":"thought-360","title":"add quick-tap-ms and require-prior-idle-ms · WaylonWalker/zmk-…","href":"/thought-360/?feed=thoughts-feed"},{"slug":"thought-359","title":"Tickle My Keys","href":"/thought-359/?feed=thoughts-feed"},{"slug":"thought-358","title":"Git Fork vs Git Clone (Animated) - YouTube","href":"/thought-358/?feed=thoughts-feed"},{"slug":"thought-357","title":"Sqlite-jiff","href":"/thought-357/?feed=thoughts-feed"},{"slug":"thought-356","title":"There’s a TUI for that with Nick Janetakis (Changelog \u0026 Friend…","href":"/thought-356/?feed=thoughts-feed"},{"slug":"thought-355","title":"The Verge on X: “Stress testing a snack-proof keyboard https:/…","href":"/thought-355/?feed=thoughts-feed"},{"slug":"thought-354","title":"all lt keys to hl · WaylonWalker/zmk-config-42block@ce25356","href":"/thought-354/?feed=thoughts-feed"},{"slug":"thought-353","title":"/Tips-for-Being-Happier–Healthier–More-Productive","href":"/thought-353/?feed=thoughts-feed"},{"slug":"thought-352","title":"Can’t use System update - invalid signature when validating AS…","href":"/thought-352/?feed=thoughts-feed"},{"slug":"thought-351","title":"Update Kconfig.shield rec by bravekarma · WaylonWalker/zmk-con…","href":"/thought-351/?feed=thoughts-feed"},{"slug":"thought-350","title":"DragonFruit","href":"/thought-350/?feed=thoughts-feed"},{"slug":"thought-349","title":"NEC M-System","href":"/thought-349/?feed=thoughts-feed"},{"slug":"thought-348","title":"Red Herring - Solenoid Edition sound test - YouTube","href":"/thought-348/?feed=thoughts-feed"},{"slug":"thought-347","title":"Text cursor bug in my Chrome browser that causes the blinking …","href":"/thought-347/?feed=thoughts-feed"},{"slug":"thought-346","title":"python is simultaneously at the top and the bottom of the tier…","href":"/thought-346/?feed=thoughts-feed"},{"slug":"thought-345","title":"Command Line Interface Guidelines","href":"/thought-345/?feed=thoughts-feed"},{"slug":"thought-344","title":"Render-blocking on purpose","href":"/thought-344/?feed=thoughts-feed"},{"slug":"thought-343","title":"Remove Background Web - a Hugging Face Space by Xenova","href":"/thought-343/?feed=thoughts-feed"},{"slug":"thought-342","title":"FastHX","href":"/thought-342/?feed=thoughts-feed"},{"slug":"thought-341","title":"FastHX","href":"/thought-341/?feed=thoughts-feed"},{"slug":"thought-340","title":"Pinout and Schematic - nice!nano","href":"/thought-340/?feed=thoughts-feed"},{"slug":"thought-339","title":"linux - What is stored in /dev/pts files and can we open them?…","href":"/thought-339/?feed=thoughts-feed"},{"slug":"thought-338","title":"svenstaro/miniserve: 🌟 For when you really just want to serve …","href":"/thought-338/?feed=thoughts-feed"},{"slug":"thought-337","title":"pacman/Tips and tricks - ArchWiki","href":"/thought-337/?feed=thoughts-feed"},{"slug":"thought-336","title":"Inside 22,734 Steam games | daniel.haxx.se","href":"/thought-336/?feed=thoughts-feed"},{"slug":"thought-335","title":"wcurl is here | daniel.haxx.se","href":"/thought-335/?feed=thoughts-feed"},{"slug":"thought-334","title":"Email Address Obfuscation · Cloudflare Web Application Firewal…","href":"/thought-334/?feed=thoughts-feed"},{"slug":"thought-333","title":"Background Tasks - FastAPI","href":"/thought-333/?feed=thoughts-feed"},{"slug":"thought-332","title":"markdown-it-pyrs · PyPI","href":"/thought-332/?feed=thoughts-feed"},{"slug":"thought-331","title":"DiskCache API Reference — DiskCache 5.6.1 documentation","href":"/thought-331/?feed=thoughts-feed"},{"slug":"thought-330","title":"Kustomize: The Best Way to Manage Your Kubernetes Configs - Yo…","href":"/thought-330/?feed=thoughts-feed"},{"slug":"thought-329","title":"Alternatives · joric/nrfmicro Wiki","href":"/thought-329/?feed=thoughts-feed"},{"slug":"thought-328","title":"Waylon Walker - handwired macropads on X: “First bit of hand w…","href":"/thought-328/?feed=thoughts-feed"},{"slug":"thought-327","title":"Find And Replace one eyed kirby","href":"/thought-327/?feed=thoughts-feed"},{"slug":"thought-326","title":"PolyFill Vulnerability is WILD - YouTube","href":"/thought-326/?feed=thoughts-feed"},{"slug":"thought-325","title":"Found: OverlayKey X – Thomas Baart’s Microblog","href":"/thought-325/?feed=thoughts-feed"},{"slug":"thought-324","title":"Queueing – An interactive study of queueing strategies – Encor…","href":"/thought-324/?feed=thoughts-feed"},{"slug":"thought-323","title":"One Script Tag Just Pwn’d Over 100,000 Websites - YouTube","href":"/thought-323/?feed=thoughts-feed"},{"slug":"thought-322","title":"Don’t Cheat Yourself - YouTube","href":"/thought-322/?feed=thoughts-feed"},{"slug":"thought-321","title":"PyAnnotate: Auto-generate PEP-484 annotations","href":"/thought-321/?feed=thoughts-feed"},{"slug":"thought-320","title":"qmk_firmware/docs/features/programmable_button.md at master · …","href":"/thought-320/?feed=thoughts-feed"},{"slug":"thought-319","title":"tusharsadhwani/yen: Create virtual environments for any Python…","href":"/thought-319/?feed=thoughts-feed"},{"slug":"thought-318","title":"Where DOESN’T curl run with curl BDFL Daniel Stenberg (Changel…","href":"/thought-318/?feed=thoughts-feed"},{"slug":"thought-317","title":"Keyboard Mounting Styles — Keyboard University","href":"/thought-317/?feed=thoughts-feed"},{"slug":"thought-316","title":"Welcome to RSS Club - daverupert.com","href":"/thought-316/?feed=thoughts-feed"},{"slug":"thought-315","title":"Releases · stackrox/kube-linter","href":"/thought-315/?feed=thoughts-feed"},{"slug":"thought-314","title":"Keycodes Overview | QMK Firmware","href":"/thought-314/?feed=thoughts-feed"},{"slug":"thought-313","title":"How to Build a Handwired Keyboard - YouTube","href":"/thought-313/?feed=thoughts-feed"},{"slug":"thought-312","title":"Adam Wathan, Creator of TailwindCSS - YouTube","href":"/thought-312/?feed=thoughts-feed"},{"slug":"thought-311","title":"Episode #323 Best practices for Docker in production - [Talk P…","href":"/thought-311/?feed=thoughts-feed"},{"slug":"thought-310","title":"Why You Should Build Your Homelab Now - YouTube","href":"/thought-310/?feed=thoughts-feed"},{"slug":"thought-309","title":"podman requries qemu-system on ubuntu","href":"/thought-309/?feed=thoughts-feed"},{"slug":"thought-308","title":"Customize and apply backgrounds fast | SVG Backgrounds","href":"/thought-308/?feed=thoughts-feed"},{"slug":"thought-307","title":"darrenburns/posting: Test your HTTP API using a powerful and m…","href":"/thought-307/?feed=thoughts-feed"},{"slug":"thought-306","title":"Blogmarks that use markdown","href":"/thought-306/?feed=thoughts-feed"},{"slug":"thought-305","title":"A Link Blog in the Year 2024","href":"/thought-305/?feed=thoughts-feed"},{"slug":"thought-304","title":"A Link Blog in the Year 2024 | Kellan Elliott-McCrea: Blog","href":"/thought-304/?feed=thoughts-feed"},{"slug":"thought-303","title":"How to Configure DNS over TLS (DoT) Using Unbound DNS in OPNsense","href":"/thought-303/?feed=thoughts-feed"},{"slug":"thought-302","title":"argoproj/argo-events: Event-driven Automation Framework for Ku…","href":"/thought-302/?feed=thoughts-feed"},{"slug":"thought-301","title":"catppuccin/ulauncher: 🇺 Soothing pastel theme for Ulauncher","href":"/thought-301/?feed=thoughts-feed"},{"slug":"thought-300","title":"Ulauncher — Application launcher for Linux 🐧","href":"/thought-300/?feed=thoughts-feed"},{"slug":"thought-299","title":"Steam Deck dock","href":"/thought-299/?feed=thoughts-feed"},{"slug":"thought-298","title":"basecamp/omakub: Opinionated Ubuntu Setup","href":"/thought-298/?feed=thoughts-feed"},{"slug":"thought-297","title":"From the Circle to Epicycles (Part 1) - An animated introducti…","href":"/thought-297/?feed=thoughts-feed"},{"slug":"thought-296","title":"Darren Burns 🌱 on X: “Here’s an early clip of my new (work in …","href":"/thought-296/?feed=thoughts-feed"},{"slug":"thought-295","title":"How to Force Dark Mode on Every Website in Google Chrome","href":"/thought-295/?feed=thoughts-feed"},{"slug":"thought-293","title":"xxHash - Extremely fast non-cryptographic hash algorithm","href":"/thought-293/?feed=thoughts-feed"},{"slug":"thought-292","title":"xxhash · PyPI","href":"/thought-292/?feed=thoughts-feed"},{"slug":"thought-291","title":"Replicate — Run AI with an API","href":"/thought-291/?feed=thoughts-feed"},{"slug":"thought-290","title":"How to Deliver Code Every Day | Jake Worth","href":"/thought-290/?feed=thoughts-feed"},{"slug":"thought-289","title":"Be Fast | Jake Worth","href":"/thought-289/?feed=thoughts-feed"},{"slug":"thought-288","title":"Zellij on X: “POV your sysadmin rigged your terminal to show t…","href":"/thought-288/?feed=thoughts-feed"},{"slug":"thought-287","title":"Text Decoration - Tailwind CSS","href":"/thought-287/?feed=thoughts-feed"},{"slug":"thought-286","title":"Digital Gardening for Non-Technical Folks","href":"/thought-286/?feed=thoughts-feed"},{"slug":"thought-285","title":"We have a right to repair! with Kyle Wiens, Founder and CEO at…","href":"/thought-285/?feed=thoughts-feed"},{"slug":"thought-284","title":"Try Out the Latest Linux Gnome DE With DistroBox","href":"/thought-284/?feed=thoughts-feed"},{"slug":"thought-283","title":"STLGears.com | The Free STL Gear Designer","href":"/thought-283/?feed=thoughts-feed"},{"slug":"thought-282","title":"eraser-dev/eraser: 🧹 Cleaning up images from Kubernetes nodes","href":"/thought-282/?feed=thoughts-feed"},{"slug":"thought-281","title":"Distrobox","href":"/thought-281/?feed=thoughts-feed"},{"slug":"thought-280","title":"Are We Anti-Cheat Yet?","href":"/thought-280/?feed=thoughts-feed"},{"slug":"thought-279","title":"ublue-os/image-template: Build your own custom Universal Blue …","href":"/thought-279/?feed=thoughts-feed"},{"slug":"thought-278","title":"ublue-os/obs-studio-portable: OCI container image of OBS Studi…","href":"/thought-278/?feed=thoughts-feed"},{"slug":"thought-277","title":"How Ahrefs Gets a Billion Dollar-Worth Infrastructure With a 9…","href":"/thought-277/?feed=thoughts-feed"},{"slug":"thought-276","title":"Safer Bash Shebang Recipes - Just Programmer’s Manual","href":"/thought-276/?feed=thoughts-feed"},{"slug":"thought-275","title":"Justfile Cheat Sheet by linux_china - Download free from Cheat…","href":"/thought-275/?feed=thoughts-feed"},{"slug":"thought-274","title":"A quote from Tim Paul","href":"/thought-274/?feed=thoughts-feed"},{"slug":"thought-273","title":"PopSQL - Collaborative SQL Editor - Bring Order to SQL Chaos","href":"/thought-273/?feed=thoughts-feed"},{"slug":"thought-272","title":"Pricing | PopSQL","href":"/thought-272/?feed=thoughts-feed"},{"slug":"thought-271","title":"Dax Raad - SST, Build modern full-stack applications on AWS wi…","href":"/thought-271/?feed=thoughts-feed"},{"slug":"thought-270","title":"Install Pokemon TCG Live on Steam Deck - Installation Guide - …","href":"/thought-270/?feed=thoughts-feed"},{"slug":"thought-269","title":"Fields - Pydantic","href":"/thought-269/?feed=thoughts-feed"},{"slug":"thought-268","title":"Hatch v1.10.0 - Hatch","href":"/thought-268/?feed=thoughts-feed"},{"slug":"thought-267","title":"Using journalctl - The Ultimate Guide To Logging","href":"/thought-267/?feed=thoughts-feed"},{"slug":"thought-266","title":"Bug #2006590 “gdm3 crashes with SIGTRAP on startup” : Bugs : g…","href":"/thought-266/?feed=thoughts-feed"},{"slug":"thought-265","title":"Alir3z4/html2text: Convert HTML to Markdown-formatted text.","href":"/thought-265/?feed=thoughts-feed"},{"slug":"thought-264","title":"I Interviewed Uncle Bob - YouTube","href":"/thought-264/?feed=thoughts-feed"},{"slug":"thought-263","title":"How an empty S3 bucket can make your AWS bill explode | by Mac…","href":"/thought-263/?feed=thoughts-feed"},{"slug":"thought-262","title":"Media Types","href":"/thought-262/?feed=thoughts-feed"},{"slug":"thought-260","title":"Network Types - Pydantic","href":"/thought-260/?feed=thoughts-feed"},{"slug":"thought-259","title":"rich.panel — Rich 13.6.0 documentation","href":"/thought-259/?feed=thoughts-feed"},{"slug":"thought-258","title":"Handling Errors - FastAPI","href":"/thought-258/?feed=thoughts-feed"},{"slug":"thought-257","title":"Creating SSH Apps with Charm Wish and Laravel Prompts | Joe Ta…","href":"/thought-257/?feed=thoughts-feed"},{"slug":"thought-256","title":"white-space - CSS: Cascading Style Sheets | MDN","href":"/thought-256/?feed=thoughts-feed"},{"slug":"thought-255","title":"\u003c/\u003e htmx ~ The response-targets Extension","href":"/thought-255/?feed=thoughts-feed"},{"slug":"thought-254","title":"How to Restart All Pods in a Kubernetes Namespace | Boot.dev","href":"/thought-254/?feed=thoughts-feed"},{"slug":"thought-253","title":"⭐⭐⭐⭐⭐ Changelog Master Feed","href":"/thought-253/?feed=thoughts-feed"},{"slug":"thought-252","title":"MarkdownDown","href":"/thought-252/?feed=thoughts-feed"},{"slug":"thought-251","title":"Boston Dynamics’ new humanoid moves like no robot you’ve ever …","href":"/thought-251/?feed=thoughts-feed"},{"slug":"thought-250","title":"Rug pull, not cool! (Changelog \u0026 Friends #40)","href":"/thought-250/?feed=thoughts-feed"},{"slug":"thought-249","title":"argocd automated sync","href":"/thought-249/?feed=thoughts-feed"},{"slug":"thought-248","title":"Manual Upgrades | K3s","href":"/thought-248/?feed=thoughts-feed"},{"slug":"thought-247","title":"Devin’s Upwork “side hustle” exposed (Changelog News #90)","href":"/thought-247/?feed=thoughts-feed"},{"slug":"thought-246","title":"sql - How can I list the tables in a SQLite database file that…","href":"/thought-246/?feed=thoughts-feed"},{"slug":"thought-245","title":"inline-snapshot","href":"/thought-245/?feed=thoughts-feed"},{"slug":"thought-244","title":"nalgeon/redka: Redis re-implemented with SQLite","href":"/thought-244/?feed=thoughts-feed"},{"slug":"thought-243","title":"Arch Linux - News: The xz package has been backdoored","href":"/thought-243/?feed=thoughts-feed"},{"slug":"thought-242","title":"My harpoon config","href":"/thought-242/?feed=thoughts-feed"},{"slug":"thought-241","title":"From Vim To Zed - YouTube","href":"/thought-241/?feed=thoughts-feed"},{"slug":"thought-240","title":"Use an llm to automagically generate meaningful git commit mes…","href":"/thought-240/?feed=thoughts-feed"},{"slug":"thought-239","title":"node.js - How to fix npm throwing error without sudo - Stack O…","href":"/thought-239/?feed=thoughts-feed"},{"slug":"thought-238","title":"google chrome - Webkit scrollbar CSS, always a white box in co…","href":"/thought-238/?feed=thoughts-feed"},{"slug":"thought-237","title":"Cache Ruins Everything Around Me - YouTube","href":"/thought-237/?feed=thoughts-feed"},{"slug":"thought-236","title":"building a youtube tool in 24 hours to prove a point - YouTube","href":"/thought-236/?feed=thoughts-feed"},{"slug":"thought-235","title":"Hogwarts Legacy Argyllshire Map: What does the button do? - Do…","href":"/thought-235/?feed=thoughts-feed"},{"slug":"thought-234","title":"How can I add my YouTube videos via RSS? - SocialBee Help Docu…","href":"/thought-234/?feed=thoughts-feed"},{"slug":"thought-233","title":"sql - SQLite: COUNT slow on big tables - Stack Overflow","href":"/thought-233/?feed=thoughts-feed"},{"slug":"thought-232","title":"Optimizing SQLite for servers","href":"/thought-232/?feed=thoughts-feed"},{"slug":"thought-231","title":"From Nursing to Programming ft. Trash Puppy | Backend Banter 0…","href":"/thought-231/?feed=thoughts-feed"},{"slug":"thought-230","title":"Some Git poll results","href":"/thought-230/?feed=thoughts-feed"},{"slug":"thought-229","title":"Sealed Secrets","href":"/thought-229/?feed=thoughts-feed"},{"slug":"thought-228","title":"Middleware Explained - YouTube","href":"/thought-228/?feed=thoughts-feed"},{"slug":"thought-227","title":"fastapi decorators","href":"/thought-227/?feed=thoughts-feed"},{"slug":"thought-224","title":"Simon Willison on X: “TIL Google Chrome has a –headless optio…","href":"/thought-224/?feed=thoughts-feed"},{"slug":"thought-223","title":"fastapi https url_for","href":"/thought-223/?feed=thoughts-feed"},{"slug":"thought-222","title":"Cassidy on X: “I MADE AN APP ✨ https://t.co/BiyX8XZqDK\" / X","href":"/thought-222/?feed=thoughts-feed"},{"slug":"thought-221","title":"learning strawberry","href":"/thought-221/?feed=thoughts-feed"},{"slug":"thought-220","title":"Joining the split keyboards club: a Moonlander story","href":"/thought-220/?feed=thoughts-feed"},{"slug":"thought-219","title":"My workflow, part 1","href":"/thought-219/?feed=thoughts-feed"},{"slug":"thought-218","title":"Using Netlify Analytics to Build a List of Popular Posts - Jim…","href":"/thought-218/?feed=thoughts-feed"},{"slug":"thought-217","title":"605: Jim Nielsen on Subversive URLs, Blogging + AI, and Design…","href":"/thought-217/?feed=thoughts-feed"},{"slug":"thought-216","title":"Configure Liveness, Readiness and Startup Probes | Kubernetes","href":"/thought-216/?feed=thoughts-feed"},{"slug":"thought-215","title":"docker - Where does the convention of using /healthz for appli…","href":"/thought-215/?feed=thoughts-feed"},{"slug":"thought-214","title":"Placehold | A simple, fast and free image placeholder service","href":"/thought-214/?feed=thoughts-feed"},{"slug":"thought-213","title":"My New Python Lsp Setup","href":"/thought-213/?feed=thoughts-feed"},{"slug":"thought-212","title":"flake8-to-ruff · PyPI","href":"/thought-212/?feed=thoughts-feed"},{"slug":"thought-211","title":"searching my thoughts locally","href":"/thought-211/?feed=thoughts-feed"},{"slug":"thought-210","title":"lonecraft","href":"/thought-210/?feed=thoughts-feed"},{"slug":"thought-209","title":"Formatting codes – Minecraft Wiki","href":"/thought-209/?feed=thoughts-feed"},{"slug":"thought-208","title":"jesseduffield/lazydocker: The lazier way to manage everything …","href":"/thought-208/?feed=thoughts-feed"},{"slug":"thought-207","title":"I’m Coming Around To Go… - YouTube","href":"/thought-207/?feed=thoughts-feed"},{"slug":"thought-206","title":"Creating One-To-Many Relationships in Flask-SQLAlchemy - YouTube","href":"/thought-206/?feed=thoughts-feed"},{"slug":"thought-205","title":"python - Concepts of backref and back_populate in SQLalchemy? …","href":"/thought-205/?feed=thoughts-feed"},{"slug":"thought-204","title":"2.5 Admins 180: Email 777 – 2.5 Admins","href":"/thought-204/?feed=thoughts-feed"},{"slug":"thought-203","title":"Replace Github Copilot with a Local LLM - YouTube","href":"/thought-203/?feed=thoughts-feed"},{"slug":"thought-202","title":"Dawn Gate - The Game that Solved Toxicity - 2 - YouTube","href":"/thought-202/?feed=thoughts-feed"},{"slug":"thought-201","title":"I’m Skeptical Of Low Code - YouTube","href":"/thought-201/?feed=thoughts-feed"},{"slug":"thought-200","title":"The One Eyed Fighting Kirby","href":"/thought-200/?feed=thoughts-feed"},{"slug":"thought-199","title":"Java - ArchWiki","href":"/thought-199/?feed=thoughts-feed"},{"slug":"thought-198","title":"charmbracelet/mods: AI on the command line","href":"/thought-198/?feed=thoughts-feed"},{"slug":"thought-197","title":"charmbracelet/mods: AI on the command line","href":"/thought-197/?feed=thoughts-feed"},{"slug":"thought-196","title":"Gridfinity | The modular, open-source grid storage system for …","href":"/thought-196/?feed=thoughts-feed"},{"slug":"thought-195","title":"Read a Range of Data - LIMIT and OFFSET - SQLModel","href":"/thought-195/?feed=thoughts-feed"},{"slug":"thought-194","title":"Template Designer Documentation — Jinja Documentation","href":"/thought-194/?feed=thoughts-feed"},{"slug":"thought-193","title":"Minecraft Server on Docker (Java Edition)","href":"/thought-193/?feed=thoughts-feed"},{"slug":"thought-192","title":"We Finally Agree On Unit Tests - YouTube","href":"/thought-192/?feed=thoughts-feed"},{"slug":"thought-191","title":"Mastodon.py — Mastodon.py 1.8.1 documentation","href":"/thought-191/?feed=thoughts-feed"},{"slug":"thought-190","title":"bunny.net - The Content Delivery platform that truly Hops!","href":"/thought-190/?feed=thoughts-feed"},{"slug":"thought-189","title":"IndieWebify.Me - a guide to getting you on the IndieWeb","href":"/thought-189/?feed=thoughts-feed"},{"slug":"thought-188","title":"FastAPI - dependency inside Middleware? - Stack Overflow","href":"/thought-188/?feed=thoughts-feed"},{"slug":"thought-187","title":"Handling Errors - FastAPI","href":"/thought-187/?feed=thoughts-feed"},{"slug":"thought-186","title":"logs with FastAPI and Uvicorn · Issue #1508 · tiangolo/fastapi","href":"/thought-186/?feed=thoughts-feed"},{"slug":"thought-185","title":"How to group FastAPI endpoints in Swagger UI?","href":"/thought-185/?feed=thoughts-feed"},{"slug":"thought-184","title":"Waylon Walker (getting focus’d fokais.com) on X: “Bloggers whe…","href":"/thought-184/?feed=thoughts-feed"},{"slug":"thought-183","title":"Show some equivalent list comprehensions in filter examples · …","href":"/thought-183/?feed=thoughts-feed"},{"slug":"thought-182","title":"nvim: vim.o.cmdheight=0","href":"/thought-182/?feed=thoughts-feed"},{"slug":"thought-181","title":"DataDog/ddqa: Datadog’s QA manager for releases of GitHub repo…","href":"/thought-181/?feed=thoughts-feed"},{"slug":"thought-180","title":"ImageMagick – Color Names","href":"/thought-180/?feed=thoughts-feed"},{"slug":"thought-179","title":"Adam Wathan on X: “Hear me out. https://t.co/QHkEI6SJYZ\" / X","href":"/thought-179/?feed=thoughts-feed"},{"slug":"thought-178","title":"Why YOU should write a blog","href":"/thought-178/?feed=thoughts-feed"},{"slug":"thought-177","title":"Path Operation Advanced Configuration - FastAPI","href":"/thought-177/?feed=thoughts-feed"},{"slug":"thought-176","title":"Protect API docs behind authentication? · Issue #364 · tiangol…","href":"/thought-176/?feed=thoughts-feed"},{"slug":"thought-175","title":"Cancel subscriptions | Stripe Documentation","href":"/thought-175/?feed=thoughts-feed"},{"slug":"thought-174","title":"Retrieve an upcoming invoice | Stripe API Reference","href":"/thought-174/?feed=thoughts-feed"},{"slug":"thought-173","title":"Search | Stripe Documentation","href":"/thought-173/?feed=thoughts-feed"},{"slug":"thought-172","title":"Stripe keys and IDs","href":"/thought-172/?feed=thoughts-feed"},{"slug":"thought-171","title":"Overworked - YouTube","href":"/thought-171/?feed=thoughts-feed"},{"slug":"thought-170","title":"CSS @media print issues with background-color; - Stack Overflow","href":"/thought-170/?feed=thoughts-feed"},{"slug":"thought-169","title":"page-break-after - CSS: Cascading Style Sheets | MDN","href":"/thought-169/?feed=thoughts-feed"},{"slug":"thought-168","title":"Go by Example","href":"/thought-168/?feed=thoughts-feed"},{"slug":"thought-167","title":"How to Build a Website or App","href":"/thought-167/?feed=thoughts-feed"},{"slug":"thought-165","title":"Will McGugan on X: “Just a wee thing that came up today. I thi…","href":"/thought-165/?feed=thoughts-feed"},{"slug":"thought-164","title":"Sebastián Ramírez on X: “Now @FastAPI has 65k+ GitHub stars! ✨…","href":"/thought-164/?feed=thoughts-feed"},{"slug":"thought-163","title":"Separations of Concerns is a Lie - YouTube","href":"/thought-163/?feed=thoughts-feed"},{"slug":"thought-162","title":"Pype|Dev🐍 (py-puh-day) on X: “@wtravishubbard Management is ab…","href":"/thought-162/?feed=thoughts-feed"},{"slug":"thought-161","title":"Heroicons","href":"/thought-161/?feed=thoughts-feed"},{"slug":"thought-160","title":"Uptime Kuma","href":"/thought-160/?feed=thoughts-feed"},{"slug":"thought-158","title":"kv - Command | Vault | HashiCorp Developer","href":"/thought-158/?feed=thoughts-feed"},{"slug":"thought-157","title":"johanhaleby/kubetail: Bash script to tail Kubernetes logs from…","href":"/thought-157/?feed=thoughts-feed"},{"slug":"thought-156","title":"Kubernetes Secrets in 5 Minutes! - YouTube","href":"/thought-156/?feed=thoughts-feed"},{"slug":"thought-155","title":"Waylon Walker 🐍 on X: “Which is more complicated” / X","href":"/thought-155/?feed=thoughts-feed"},{"slug":"thought-154","title":"Wes Bos on X: “🔥 The stale-while-revalidate header is suuuuuup…","href":"/thought-154/?feed=thoughts-feed"},{"slug":"thought-153","title":"\u003c/\u003e htmx ~ Locality of Behaviour (LoB)","href":"/thought-153/?feed=thoughts-feed"},{"slug":"thought-152","title":"Creating k8s jobs with python","href":"/thought-152/?feed=thoughts-feed"},{"slug":"thought-151","title":"Diagnostic - Neovim docs","href":"/thought-151/?feed=thoughts-feed"},{"slug":"thought-149","title":"How to kill process based on the port number in Linux - Linux …","href":"/thought-149/?feed=thoughts-feed"},{"slug":"thought-148","title":"mkimuram/k8sviz: Generate Kubernetes architecture diagrams fro…","href":"/thought-148/?feed=thoughts-feed"},{"slug":"thought-147","title":"casey/just: 🤖 Just a command runner","href":"/thought-147/?feed=thoughts-feed"},{"slug":"thought-146","title":"Translate a Docker Compose File to Kubernetes Resources | Kube…","href":"/thought-146/?feed=thoughts-feed"},{"slug":"thought-145","title":"Daniel Nashed’s Blog","href":"/thought-145/?feed=thoughts-feed"},{"slug":"thought-144","title":"Kubernetes Persistent Volumes with Deployment and StatefulSet","href":"/thought-144/?feed=thoughts-feed"},{"slug":"thought-143","title":"Inspect a Kubernetes PersistentVolumeClaim | Frank Sauerburger","href":"/thought-143/?feed=thoughts-feed"},{"slug":"thought-142","title":"Can’t create Secret in Kubernetes: illegal base64 data at inpu…","href":"/thought-142/?feed=thoughts-feed"},{"slug":"thought-141","title":"Can I access k3s using just kubectl (no sudo and no k3s comman…","href":"/thought-141/?feed=thoughts-feed"},{"slug":"thought-140","title":"Quick-Start Guide | K3s","href":"/thought-140/?feed=thoughts-feed"},{"slug":"thought-139","title":"Tailwind Connect 2023 — Keynote - YouTube","href":"/thought-139/?feed=thoughts-feed"},{"slug":"thought-138","title":"Episode #433 Litestar: Effortlessly Build Performant APIs - [T…","href":"/thought-138/?feed=thoughts-feed"},{"slug":"thought-137","title":"Delete a Postgres Cluster · Fly Docs","href":"/thought-137/?feed=thoughts-feed"},{"slug":"thought-136","title":"Twitter Requires full image_urls","href":"/thought-136/?feed=thoughts-feed"},{"slug":"thought-135","title":"Has Web Development Regressed? A Conversation with Wes Bos | B…","href":"/thought-135/?feed=thoughts-feed"},{"slug":"thought-134","title":"David-Kunz/gen.nvim: Neovim plugin to generate text using LLMs…","href":"/thought-134/?feed=thoughts-feed"},{"slug":"thought-133","title":"Ollama","href":"/thought-133/?feed=thoughts-feed"},{"slug":"thought-132","title":"sysid/sse-starlette","href":"/thought-132/?feed=thoughts-feed"},{"slug":"thought-131","title":"Overflow - Tailwind CSS","href":"/thought-131/?feed=thoughts-feed"},{"slug":"thought-130","title":"How To Create a Custom Scrollbar","href":"/thought-130/?feed=thoughts-feed"},{"slug":"thought-129","title":"wincent/aspects/dotfiles/files/.zshrc at 85fc42d9e96d408a5b367…","href":"/thought-129/?feed=thoughts-feed"},{"slug":"thought-128","title":"Change Autocomplete Styles in WebKit Browsers | CSS-Tricks - C…","href":"/thought-128/?feed=thoughts-feed"},{"slug":"thought-127","title":"florimondmanca/arel: Lightweight browser hot reload for Python…","href":"/thought-127/?feed=thoughts-feed"},{"slug":"thought-126","title":"Automatic browser reloading in FastAPI","href":"/thought-126/?feed=thoughts-feed"},{"slug":"thought-124","title":"Bob Belderbos on X: “Forget Python for a sec, here’s how Vim h…","href":"/thought-124/?feed=thoughts-feed"},{"slug":"thought-123","title":"teej dv 🔭 on X: “Hypermedia fixes this HATEOAS gonna hate” / X","href":"/thought-123/?feed=thoughts-feed"},{"slug":"thought-122","title":"Open source, not open contribution with Ben Johnson (Changelog…","href":"/thought-122/?feed=thoughts-feed"},{"slug":"thought-121","title":"Point-in-time recovery - Wikipedia","href":"/thought-121/?feed=thoughts-feed"},{"slug":"thought-120","title":"DjangoCon Europe 2023 | Use SQLite in production - YouTube","href":"/thought-120/?feed=thoughts-feed"},{"slug":"thought-119","title":"benbjohnson/litestream: Streaming replication for SQLite.","href":"/thought-119/?feed=thoughts-feed"},{"slug":"thought-118","title":"Why I Built Litestream - Litestream","href":"/thought-118/?feed=thoughts-feed"},{"slug":"thought-117","title":"I’m All-In on Server-Side SQLite · The Fly Blog","href":"/thought-117/?feed=thoughts-feed"},{"slug":"thought-116","title":"LiteFS Cloud: Distributed SQLite with Managed Backups · The Fl…","href":"/thought-116/?feed=thoughts-feed"},{"slug":"thought-115","title":"jpillora/installer: One-liner for installing binaries from Git…","href":"/thought-115/?feed=thoughts-feed"},{"slug":"thought-114","title":"How to run pods as systemd services with Podman | Enable Sysadmin","href":"/thought-114/?feed=thoughts-feed"},{"slug":"thought-112","title":"Pagefind | Pagefind — Static low-bandwidth search at scale","href":"/thought-112/?feed=thoughts-feed"},{"slug":"thought-111","title":"Bo Burnham, I mean Miriah, says lower your programming expecta…","href":"/thought-111/?feed=thoughts-feed"},{"slug":"thought-110","title":"Simon Willison on X: “Anyone got a lead on a good embedding mo…","href":"/thought-110/?feed=thoughts-feed"},{"slug":"thought-109","title":"aca/emmet-ls: Emmet support based on LSP.","href":"/thought-109/?feed=thoughts-feed"},{"slug":"thought-108","title":"LLM now provides tools for working with embeddings","href":"/thought-108/?feed=thoughts-feed"},{"slug":"thought-107","title":"Formatter","href":"/thought-107/?feed=thoughts-feed"},{"slug":"thought-106","title":"\u003c/\u003e htmx ~ The disable-element Extension","href":"/thought-106/?feed=thoughts-feed"},{"slug":"thought-105","title":"\u003c/\u003e htmx ~ hx-indicator Attribute","href":"/thought-105/?feed=thoughts-feed"},{"slug":"thought-104","title":"The Truth About HTMX | Prime Reacts - YouTube","href":"/thought-104/?feed=thoughts-feed"},{"slug":"thought-103","title":"\u003c/\u003e htmx ~ Examples ~ Updating Other Content","href":"/thought-103/?feed=thoughts-feed"},{"slug":"thought-102","title":"Bigger Applications - Multiple Files - FastAPI","href":"/thought-102/?feed=thoughts-feed"},{"slug":"thought-100","title":"Custom pages and templates - Datasette documentation","href":"/thought-100/?feed=thoughts-feed"},{"slug":"thought-99","title":"Preline UI - Tailwind CSS component library | Preline UI, craf…","href":"/thought-99/?feed=thoughts-feed"},{"slug":"thought-98","title":"Tailwind CSS Cheat Sheet","href":"/thought-98/?feed=thoughts-feed"},{"slug":"thought-97","title":"cURL Command Without Using Cache | Baeldung on Linux","href":"/thought-97/?feed=thoughts-feed"},{"slug":"thought-96","title":"SQLite FTS5 Extension","href":"/thought-96/?feed=thoughts-feed"},{"slug":"thought-95","title":"sharkdp/bat: A cat clone with wings.","href":"/thought-95/?feed=thoughts-feed"},{"slug":"thought-94","title":"sqlite_utils Python library - sqlite-utils","href":"/thought-94/?feed=thoughts-feed"},{"slug":"thought-93","title":"How to Format All Files in a Directory with Prettier | by Dr. …","href":"/thought-93/?feed=thoughts-feed"},{"slug":"thought-90","title":"simonw/datasette-render-markdown: Datasette plugin for renderi…","href":"/thought-90/?feed=thoughts-feed"},{"slug":"thought-89","title":"simonw/shot-scraper: A command-line utility for taking automat…","href":"/thought-89/?feed=thoughts-feed"},{"slug":"thought-88","title":"shot-scraper: automated screenshots for documentation, built o…","href":"/thought-88/?feed=thoughts-feed"},{"slug":"thought-81","title":"#learning #webdevelopment - YouTube","href":"/thought-81/?feed=thoughts-feed"},{"slug":"thought-80","title":"HTML Over The Wire | Hotwire","href":"/thought-80/?feed=thoughts-feed"},{"slug":"thought-79","title":"How do I post form data using Curl?","href":"/thought-79/?feed=thoughts-feed"},{"slug":"thought-78","title":"Lifecycle Hooks | Vue.js","href":"/thought-78/?feed=thoughts-feed"},{"slug":"thought-77","title":"How to Use HTML to Open a Link in a New Tab","href":"/thought-77/?feed=thoughts-feed"},{"slug":"thought-76","title":"Create Models with a Many-to-Many Link - SQLModel","href":"/thought-76/?feed=thoughts-feed"},{"slug":"thought-75","title":"python - How to use a Pydantic model with Form data in FastAPI…","href":"/thought-75/?feed=thoughts-feed"},{"slug":"thought-74","title":"chebykinn/sedmario: NES Super Mario Bros level 1 written in pu…","href":"/thought-74/?feed=thoughts-feed"},{"slug":"thought-73","title":"Formatting on save · jose-elias-alvarez/null-ls.nvim Wiki","href":"/thought-73/?feed=thoughts-feed"},{"slug":"thought-72","title":"Debugging | pywebview","href":"/thought-72/?feed=thoughts-feed"},{"slug":"thought-71","title":"ValueError: Constraint must have a name in alembic 1.10.0 · …","href":"/thought-71/?feed=thoughts-feed"},{"slug":"thought-70","title":"Use Alembic Check to check for possible upgrades","href":"/thought-70/?feed=thoughts-feed"},{"slug":"thought-69","title":"API — Jinja Documentation","href":"/thought-69/?feed=thoughts-feed"},{"slug":"thought-68","title":"API — Jinja Documentation","href":"/thought-68/?feed=thoughts-feed"},{"slug":"thought-67","title":"Tailwind CSS Crash Course - YouTube","href":"/thought-67/?feed=thoughts-feed"},{"slug":"thought-66","title":"GitHub - wagoodman/dive: A tool for exploring each layer in a …","href":"/thought-66/?feed=thoughts-feed"},{"slug":"thought-65","title":"GZIP Compression Test | GiftOfSpeed","href":"/thought-65/?feed=thoughts-feed"},{"slug":"thought-64","title":"Read a Range of Data - LIMIT and OFFSET - SQLModel","href":"/thought-64/?feed=thoughts-feed"},{"slug":"thought-63","title":"DuckDB vs. MotherDuck — should you switch to the cloud version…","href":"/thought-63/?feed=thoughts-feed"},{"slug":"thought-62","title":"Center things - Textual","href":"/thought-62/?feed=thoughts-feed"},{"slug":"thought-61","title":"s3-tree · PyPI","href":"/thought-61/?feed=thoughts-feed"},{"slug":"thought-60","title":"python - SQLAlchemy ORDER BY DESCENDING? - Stack Overflow","href":"/thought-60/?feed=thoughts-feed"},{"slug":"thought-59","title":"kndndrj/nvim-dbee: Interactive database client for neovim","href":"/thought-59/?feed=thoughts-feed"},{"slug":"thought-58","title":"Relocating the Docker root directory - IBM Documentation","href":"/thought-58/?feed=thoughts-feed"},{"slug":"thought-57","title":"containers/aardvark-dns: Authoritative dns server for A/AAAA c…","href":"/thought-57/?feed=thoughts-feed"},{"slug":"thought-56","title":"Podman - ArchWiki","href":"/thought-56/?feed=thoughts-feed"},{"slug":"thought-55","title":"TestDisk Step By Step - CGSecurity","href":"/thought-55/?feed=thoughts-feed"},{"slug":"thought-54","title":"Using Rich Inspect to interrogate Python objects - Textual","href":"/thought-54/?feed=thoughts-feed"},{"slug":"thought-53","title":"Wesley Aptekar-Cassels | Reasons to avoid Javascript CDNs","href":"/thought-53/?feed=thoughts-feed"},{"slug":"thought-9","title":"How to Manage ‘Systemd’ Services and Units Using ‘Systemctl’ i…","href":"/thought-9/?feed=thoughts-feed"},{"slug":"thought-8","title":"How to fix ZFS pool not importing at boot :: ./techtipsy — Her…","href":"/thought-8/?feed=thoughts-feed"},{"slug":"thought-7","title":"Flask Trailing Slashes 404","href":"/thought-7/?feed=thoughts-feed"},{"slug":"thought-6","title":"Deleting Specific Lines in a File with sed or yq","href":"/thought-6/?feed=thoughts-feed"},{"slug":"thought-52","title":"\u003c/\u003e htmx ~ The json-enc Extension","href":"/thought-52/?feed=thoughts-feed"},{"slug":"thought-51","title":"Header Parameters - FastAPI","href":"/thought-51/?feed=thoughts-feed"},{"slug":"thought-50","title":"1j01/textual-paint: 🎨 MS Paint… in your terminal.","href":"/thought-50/?feed=thoughts-feed"},{"slug":"thought-5","title":"Dear Red Hat… featuring Jeff Geerling (Changelog \u0026 Friends #…","href":"/thought-5/?feed=thoughts-feed"},{"slug":"thought-49","title":"sqlite-utils now supports plugins","href":"/thought-49/?feed=thoughts-feed"},{"slug":"thought-48","title":"Session vs Token Authentication in 100 Seconds - YouTube","href":"/thought-48/?feed=thoughts-feed"},{"slug":"thought-47","title":"Form Data - FastAPI","href":"/thought-47/?feed=thoughts-feed"},{"slug":"thought-46","title":"pywebview","href":"/thought-46/?feed=thoughts-feed"},{"slug":"thought-45","title":"Column INSERT/UPDATE Defaults — SQLAlchemy 1.4 Documentation","href":"/thought-45/?feed=thoughts-feed"},{"slug":"thought-44","title":"Template Designer Documentation — Jinja Documentation","href":"/thought-44/?feed=thoughts-feed"},{"slug":"thought-43","title":"Templates - FastAPI","href":"/thought-43/?feed=thoughts-feed"},{"slug":"thought-42","title":"\u003c/\u003e htmx ~ Documentation","href":"/thought-42/?feed=thoughts-feed"},{"slug":"thought-40","title":"python 3.x - FastAPI redirection for trailing slash returns no…","href":"/thought-40/?feed=thoughts-feed"},{"slug":"thought-4","title":"How to pull from images from docker.io with podman","href":"/thought-4/?feed=thoughts-feed"},{"slug":"thought-39","title":"\u003c/\u003e htmx ~ The client-side-templates Extension","href":"/thought-39/?feed=thoughts-feed"},{"slug":"thought-38","title":"Static Files - FastAPI","href":"/thought-38/?feed=thoughts-feed"},{"slug":"thought-37","title":"HTMX looks pretty neat #coding #javascript - YouTube","href":"/thought-37/?feed=thoughts-feed"},{"slug":"thought-36","title":"First-class session support in FastAPI · Issue #754 · tiangolo…","href":"/thought-36/?feed=thoughts-feed"},{"slug":"thought-35","title":"Harlequin SQL IDE - DuckDB","href":"/thought-35/?feed=thoughts-feed"},{"slug":"thought-34","title":"Python API - DuckDB","href":"/thought-34/?feed=thoughts-feed"},{"slug":"thought-33","title":"SQL on Pandas - DuckDB","href":"/thought-33/?feed=thoughts-feed"},{"slug":"thought-32","title":"pytest-subtests · PyPI","href":"/thought-32/?feed=thoughts-feed"},{"slug":"thought-31","title":"Dark Form","href":"/thought-31/?feed=thoughts-feed"},{"slug":"thought-3","title":"python script is not found","href":"/thought-3/?feed=thoughts-feed"},{"slug":"thought-29","title":"doyensec/wsrepl: WebSocket REPL for pentesters","href":"/thought-29/?feed=thoughts-feed"},{"slug":"thought-28","title":"Doyensec on Twitter: “Announcing wsrepl, the WebSocket testing…","href":"/thought-28/?feed=thoughts-feed"},{"slug":"thought-27","title":"Filter Data - WHERE - SQLModel","href":"/thought-27/?feed=thoughts-feed"},{"slug":"thought-26","title":"URL Decoding query strings or form parameters in Python | URLD…","href":"/thought-26/?feed=thoughts-feed"},{"slug":"thought-25","title":"encodeURIComponent() - JavaScript | MDN","href":"/thought-25/?feed=thoughts-feed"},{"slug":"thought-2","title":"LazyVim Installation","href":"/thought-2/?feed=thoughts-feed"},{"slug":"thought-16","title":"Python Sucks And I LOVE It | Prime Reacts - YouTube","href":"/thought-16/?feed=thoughts-feed"},{"slug":"thought-15","title":"Changelog on Twitter: “🗣️ @kelseyhightower on his demos: That …","href":"/thought-15/?feed=thoughts-feed"},{"slug":"thought-14","title":"Chris Coyier on Twitter: “I was unaware of `text-wrap: pretty;…","href":"/thought-14/?feed=thoughts-feed"},{"slug":"thought-13","title":"Full-text search - Datasette documentation","href":"/thought-13/?feed=thoughts-feed"},{"slug":"thought-12","title":"sqlite-utils command-line tool - sqlite-utils","href":"/thought-12/?feed=thoughts-feed"},{"slug":"thought-11","title":"sqlite-utils command-line tool - sqlite-utils","href":"/thought-11/?feed=thoughts-feed"},{"slug":"thought-10","title":"jq Cheat Sheet","href":"/thought-10/?feed=thoughts-feed"}],"totalPosts":897},{"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/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/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":274}],"rotationFeedSlugs":["archive","blog","ping","til","thoughts-feed","pings","shots","all"],"currentFeedIndex":0,"currentPostSlug":"arch-remove-orphaned-packages"} arch remove orphaned packages ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Waylon Walker Author Jul 6, 2024 linux Copy this post URL Rich Markdown Text View Markdown View Text curl .ansi {"title":"arch remove orphaned packages","url":"https://waylonwalker.com/arch-remove-orphaned-packages/","markdown":"# arch remove orphaned packages\n\nSource: https://waylonwalker.com/arch-remove-orphaned-packages/\n\n---\ntitle: \"arch remove orphaned packages\"\ndate: 2024-07-06\npublished: true\ntags:\n - linux\ntemplate: til\n---","text":"arch remove orphaned packages\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nDate: July 6, 2024\n\nSource: https://waylonwalker.com/arch-remove-orphaned-packages/","markdown_url":"https://waylonwalker.com/arch-remove-orphaned-packages.md","text_url":"https://waylonwalker.com/arch-remove-orphaned-packages.txt","ansi_curl":"curl https://waylonwalker.com/arch-remove-orphaned-packages.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 /now /colophon /blogroll /reader /ai Twitter(opens in new tab) GitHub(opens in new tab) LinkedIn(opens in new tab) View as: Markdown Text ANSI Card © 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 simple/rich feed view | +-------------+--------------------------------------------+ ### Theme +---+------------------------+ | \ | 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 // Wikilink Hover Tooltips - only load if wikilinks with data-title exist if (document.querySelector('.wikilink[data-title]')) { const script = document.createElement('script'); script.src = '/js/tooltips.6095364a.js'; script.defer = true; document.body.appendChild(script); } // Mention Cards - only load if mention links exist if (document.querySelector('a.mention')) { const mentionScript = document.createElement('script'); mentionScript.src = '/js/mention-cards.87c3096e.js'; mentionScript.defer = true; document.body.appendChild(mentionScript); } // Keyboard Shortcuts Registry - load the core registry first, then load dependent scripts const shortcutsRegistryScript = document.createElement('script'); shortcutsRegistryScript.src = '/js/shortcuts-registry.40ec96fb.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.56e99af6.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(); })(); (() => { const applyMarkPresentation = () => { const root = getComputedStyle(document.documentElement); const background = root.getPropertyValue('--color-highlight').trim(); const color = root.getPropertyValue('--color-highlight-text').trim(); 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'); }); }; applyMarkPresentation(); setTimeout(applyMarkPresentation, 0); setTimeout(applyMarkPresentation, 100); setInterval(applyMarkPresentation, 250); new MutationObserver(applyMarkPresentation).observe(document.documentElement, { childList: true, subtree: true }); })();