Published

All published posts

2493 posts latest post 2026-05-11
Publishing rhythm
Apr 2026 | 47 posts
Finished Elf House
Waylon and Rhiannon standing in front of a mostly finished elf house built for the Jolly Holiday Performance at the local theater.
Cogwork Saved Pill
I’ve been using this one for awhile now, I have a post type that I only edit from my phone, but I have all the post numbered. I set up a template in obsidian for using templater, the template goes right in the static site repo, I point templater to the templates directory and this has been working pretty seamlessly for awhile. --- date: <% tp.date.now("YYYY-MM-DD HH:mm:ss") %> templateKey: myposttype published: true tags: - myposttype <%* const folder = "pages/myposttype"; // get all files in the vault, keep only those inside the folder const files = app.vault.getFiles().filter(f => f.path.startsWith(folder + "/")); // extract numeric suffixes from filenames like myposttype-123.md const nums = files.map(f => { const m = f.basename.match(/^myposttype-(\d+)$/); return m ? parseInt(m[1], 10) : null; }).filter(n => n !== null); // next number (start at 1 if none exist) const next = (nums.length ? Math.max(...nums) : 0) + 1; // include the .md extension when moving const newPath = `${folder}/myposttype-${next}`; await tp.file.move(newPath); %> ---
- Kelsey has a really good lightbulb moment here about platform engineering. “if you had to do all the deployments for the entire company what questions would you ask of the development team?” That’s your api, your platform, this is your product as a platform engineer. It’s not images, docker, terraform, hcl, yaml, kubernetes, It’s building out the right api for your company to deploy its products effectively. https://www.youtube.com/watch?v=HdUbTyvrfKo&t=429s [1] timestamped Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.youtube.com/watch?v=HdUbTyvrfKo&amp;t=429s [2]: /thoughts/
Check out andrii-kryvoviaz [1] and their project slink [2]. Self-hosted [3] image sharing service References: [1]: https://github.com/andrii-kryvoviaz [2]: https://github.com/andrii-kryvoviaz/slink [3]: /self-host/

notifications for static site builds

This morning I set up notifications for changes to my static site builds leveraging git name status [1] and ntfy. ![notification of changes](https://dropper.waylonwalker.com/file/1c69e648-5aa3-4f66-9085-a045b99450a5.webp) References: [1]: /git-name-status/
--name-status is a great way to see what files have changed in a git [1] diff alongside the status code. I recently used this in a script to create a report of new and modified files during a build. git diff --name-status git diff --name-status origin/main git diff --name-status --staged git diff --name-status 'HEAD@{3 days ago}' References: [1]: /glossary/git/
git
Dude Locked In
My son wanted to help shovel snow, usually this means, I'll piddle around, have Fun, maybe make things worse, but it's ok cause I'll make it a good time. Tonight he was LOCKED IN and got a good chunk of the neighbors drive and entire sidewalk done.

fast changing dev server today

The dev server is cooking today, I've dropped markata builds from 2m40s (hot cache) in prod to 15s (hot cache) in dev. Currently building 2745 posts and 274 feeds. ![screenshot of the dev builds from k9s](https://dropper.waylonwalker.com/file/c3e8b9de-d4be-4c7c-ab9b-a13a25c7673c.webp)

The Right Reasons To Run Kubernetes In Your Homelab

Running kubernetes in your homelab [1] is a fantastic way to learn, explore, express yourself, and run services that you use. The Right Reasons To Run Kubernetes In Your Homelab # [2] There are not many - You want to learn kubernetes - You like kubernetes - You want to learn to scale There are also The Wrong Reasons To Run Kubernetes In Your Homelab [3] You want to learn kubernetes # [4] Homelabbing is a such a great way to learn new skills, deploy real apps that you use. Create new custom apps for your specific use cases that no one else has. You should absolutely run kubernetes in your homelab if you want to learn it. I would recommend to start locally, pull up kind, minikube, or k3d and start from your local machine before putting it on a server. When you decide you are ready for a server, you probably don’t need any crazy hardware. You can probably run on some old retired Dell Optiplex or an old desktop someone is throwing out as it no longer runs windows. You like ku...
I learned to today that setting MEMORY on your minecraft server causes the JVM to egregiously allocate all of that memory. Not setting it causes slow downs and potential crashes, but setting INIT_MEMORY and MAX_MEMORY gives us the best of both worlds. It is allowed to use more, but does not gobble it all up on startup. In this economy we need to save all the memory we can! Here is a non-working snippet for a minecraft server deployment in kubernetes. containers: - name: dungeon image: itzg/minecraft-server env: - name: EULA value: "true" - name: INIT_MEMORY value: "512M" - name: MAX_MEMORY value: "3G" and in docker compose dungeon: image: itzg/minecraft-server environment: EULA: "true" INIT_MEMORY: "512M" MAX_MEMORY: "3G"
Cogwork Core Gang Fight
- I did not realize all the places to be considered as AI water usage. Hank goes deep highlighting all of the sources he is aware of, most reports leave off a lot of these sources, some reports go maybe too far adding sources that may not make sense depending on the question you are asking. As someone that runs computers with gpus in their house, and watching LTT make AIO installs on GPUs I’ve wondered what would AI use water for, now I understand that its a lot. No where near agriculture, but a lot. Unlike running a gpu in your house, potentially with a closed loop AIO, data centers are filled with hardware making heat and it all must go somewhere. Current technology has this done with evaporative cooling, i.e. its not a closed loop, the water goes into the sky. He goes on to point out that its not just the data center, using water, but also chip fab and power plants. Something I hadn’t put a lot of thought into is the type of water. While a lot of agriculture and power applications do not use municipal water, a lot of data centers do, putting excess strain on water treatment. Something I find interesting is that Altman is doing the same thing here that he does on his fin...
Notes – 05:09 Tue 9 Dec 2025 Notes – 05:09 Tue 9 Dec 2025 dbushell.com · dbushell.com [1] Age verification hitting bluesky?? At least its not yet requiring your govt issued id or anything, but stepping that direction. I don’t know how I feel about age checks, does it actually protect kids when parents aren’t involved? I can’t say anything there, but it really does feel like its about ready to hurt the rest of us, requiring us to whip out ids and personal data for anything done online. This is a real problem that is hard to solve, and reasons why it has not been solved yet. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://dbushell.com/notes/2025-12-09T05:09Z/ [2]: /thoughts/
Deprecations via warnings don’t work for Python libraries Seth Larson reports that urllib3 2.6.0 released on the 5th of December and finally removed the HTTPResponse.getheaders() and HTTPResponse.getheader(name, default) methods, which have been marked as... Simon Willison’s Weblog · simonwillison.net [1] Deprecation warnings are so easy to miss, ignore, become numb to. Creating tools and processes to catch and address these issues is important. I’m surprised such big projects let deprecations just hang around for years. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://simonwillison.net/2025/Dec/9/deprecations-via-warnings/#atom-everything [2]: /thoughts/
A quote from Claude I found the problem and it's really bad. Looking at your log, here's the catastrophic command that was run: rm -rf tests/ patches/ plan/ ~/ See that ~/ at the … Simon Willison’s Weblog · simonwillison.net [1] damn this is a rough one. A users entire home directory removed by claude code from an rm command. rm -rf tests/ patches/ plan/ ~/ Reading the first half of that command it LGTM. If you had approved rm, you are hosed. If this is inside a larger script its running, you really gotta read close. This one still feels pretty obvious, but I can imagine some bash doing some nasty things I miss if I read it and understand it let alone glance at it. I’ll take this as a reminder that I really need to be paying full-ass attention to agents, and moving towards a better sandbox for them, something in docker, maybe something like distrobox that is a magic wrapper over podman that just gives you the things you need for what it does. Something that starts up with access to start web servers, run agentic cli of choice, see project, git [2] commit. It feels like the right thing has a lot of what distrobox does, but distrobox has too much and would be prone to this us...
Cogwork Dancers Fight
OG is short for open graph, a set of standard meta tags that are used for social media sharing. This is what tells other websites how to describe and display your site when shared on social media, text messages, or discord.

One Year Of Shots

I’ve been running my shot scraper api for a year now. It creates og [1] images for my website and thumbnails for my [[ reader ]] using a headless chrome instance. - 25870 shots - 73 shots per day on average - 12-09-2025 first shot taken Histogram # [2] [3] a histogram of shot counts by day You can see in the histogram that I’ve had a few big spike days, This has been mostly for days that I’ve integrated into a new service or changed the endpoint. On February 13, 2025 I swapped over from using the post to using template specific to open graph images. -content = "https://shots.waylonwalker.com/shot/?url={{ config.url }}{{ post.slug }}&height=600&width=1200&scaled_width=1200&scaled_height=600" +content = "https://shots.waylonwalker.com/shot/?url={{ config.url }}{{ post.slug }}/og/&height=600&width=1200&scaled_width=1200&scaled_height=600" Image Comparison Original Post Image [4] originally I simply used an image of the post itself New OG Image [5] In Feb 2025 I made OG s...
2 min read
I found snow-fall component from zachleat [1], and its beautiful… to me. I like the way it looks, its simple and whimsical. Install # [2] There is an npm package @zachleat/snow-fall if that’s your thing. I like vendoring in small things like this. curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js I generally save it in my justfile so that I remember how I got it and how to update…. yaya I could use npm, but I don’t for no build sites. get-snowfall: curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js Usage # [3] Now add the component to your page. <!-- This belongs somewhere inside <head> --> <script type="module" src="snow-fall.js"></script> <!-- Adjust the src to your path --> <!-- This belongs somewhere inside <body> --> <!-- Anything before will be below the snow. --> <snow-fall></snow-fall> <!-- Anything after will show above the snow. --> References: [1]: https://www.zachleat.com/web/snow-fall/ [2]: #install [3]: #usage