Archive

All published posts

2556 posts latest post 2026-08-19 simple view
Publishing rhythm
Aug 2026 | 28 posts
asottile has done a fantastic job with all-repos. Highly recommend taking a look. Clone all your repositories and apply sweeping changes.
If you’re into interesting projects, don’t miss out on tailpipe, created by turbot. select * from logs; Tailpipe is an open source SIEM for instant log insights, powered by DuckDB. Analyze millions of events in seconds, right from your terminal.
Damn these deepseek memes go hard. Wild to see openai get played by their own game. It’s crazy that the normie news that I have seen on deepseek shows that the Chinese made what the Americans did at a fraction of the price, without taking notice that they are building on the shoulders of openai.
👏👏👏 This one is really good. I’m right there with him on most of this. I am very hesitant on subscription models, and all the ai tools feel like they are getting ready to be the next round of death by a thousand cuts, this time with pretty limited free tier and relatively high prices to run. I’m sure we will see companies get taken by huge bills soon by building off of someone else’s service. On the flip side I’m definitely the guy that gets in a rut of just copy paste to the ai, wait for codeium to to inject. I feel like I have issues of momentum more than anything. When I’m on one side or the other I tend to stick it out for too long, but less so on going without because that llm drug is calling you when you hit a hard problem. I’m excited to see him build out a homelab for llm stuff that he mentioned at the top. I’m interested, but probably not building one out for myself until we start to see some cheaper maybe used hardware to do it.

markata search

A side effect of Markata DidYouMean is that we are able to implement some rudimentary search based on slug, title, tags, and description. I made a video of the early work on using this side effect to search for content on markata.dev. This was first implemented to solve 404 pages giving users a way to try to find the page that they tried to access. But it turned out to be a decent way to search through the docs.
Kelsey says several times in this interview, you don’t need kubernetes. If you are running one node you don’t need kubernetes. My question though is, would you use kubernetes? Ya I get it if you are a web developer, data scientist, backend dev, but if you are looking to bee a whole ass engineer, or infrastructure engineer, you know kubernetes, Should you use kubernetes on single node?

Markata DidYouMean

Coming in Markata 0.9.1 is far better documentation. i.e. Documentation that actually exists for everything. As part of poking around I realized that I often go to look up the docs for a plugin and forget that the path is, sometimes I might try or or or I might even forget the plugin name exactly and try something like and get a 404. So I added a plugin to markata that takes care of this. I made a quick recording of this early feature, pay close attention to the url as it automatically updates to the correct page. Happy Path # direct forward If you have one post called, and it is the only post called feeds, any combination of or or will all automatically redirect with an html page (not a server 3xx) to the post. Here is the snippet that does the redirect. You won’t see it unless you are on a really bad network, or you have js disabled, but this is what it would look like if you ever saw it. Notice there is a backup link if you have js disabled. Multiple Similar Posts # list of options…
2 min read
Models Pydantic Docs · docs.pydantic.dev I came accross from_attributes today it allows creation of pydantic models from objects such as a sqlalchemy Model or while nesting pydantic models. I believe in the past I have ran into some inconsistencies with nesting pydantic models and I’ll bet one had from_attributes set and another did not. Arbitrary class instances¶ (Formerly known as “ORM Mode”/from_orm). Pydantic models can also be created from arbitrary class instances by reading the instance > attributes corresponding to the model field names. One common application of this functionality is integration with object-relational mappings (ORMs). To do this, set the from_attributes config value to True (see the documentation on Configuration for more details). The example here uses SQLAlchemy, but the same approach should work for any ORM.
Dang strong stance that tmux and zellij should not exist. I really do get his point though. Theres a good number of terminal features I often miss out on because I run tmux. Its an app that runs apps, and doesn’t let all of the signals back to the host. But its fantastic at what it does, and brings so much to the table that the little bit of downside it brings is well worth it to me. The other thing missing in this discussion is that I can take my hotkeys and session workflow to any machine just by running tmux. I do not need to run a certain terminal, or install it headlessly on a server to get special features just for it.

cold builds

Here are a list of some cold builds from my site. I’ve ran this site for a long time and would like to have some references to go back to, and wish I had kept a few profiles of cold builds laying around to compare with. The time is now lets keep some cold build links around for reference. 01/27/2025 # https://ec314b08.waylonwalker-com.pages.dev/_profile/ - 429s - markata==0.9.0.dev5 has md_video open cache on every post issue https://27f117fd.waylonwalker-com.pages.dev/_profile/ - 112s- markata==0.9.0.dev5 after fixing md_video issue https://e6b8f64a.waylonwalker-com.pages.dev/_profile/ - 16s - markata==0.9.0.dev5 1 post not skipped, this one https://10b778b4.waylonwalker-com.pages.dev/_profile/ - 5.65s - markata==0.9.0.dev5 fully hot cache build with no changes
1 min read

pesos

Pesos is the act of Publish Elsewhere Syncicate to Own Site. It is an indieweb concept that I recently started applying to my own site. here does it skip again Note See https://indieweb.org/PESOS for more information, they have a ton of information about the indieweb In short it is the concept of pulling data from other sites that you use and republishing it to your own site. This gives a single source of information for you, and protection against sites and apis changing or rug pulling. Other people might have a lot more use cases for this, but I already begin a lot of my data right on my site. GitHub stars # I am using the github api to get a list of my stars and then create posts in the github repo for my blog. This allows me to keep track of things I star on GitHub in my own way, and share them out with my rss feeds.
I came across llama.vim from ggml-org, and it’s packed with great features and ideas. Vim plugin for LLM-assisted code/text completion

hover z-index and positioning

I broke my sick wikilink hover recently in a refactor, today I did some diving in to figure out what happened. Before # As you can see in the screenshot below, the link is in a list of links, and when the hover image pops up it sits behind all of the other text. The z-index of the list-item is supposed to be raised above the others on hover. Manually setting z-index to 20 in the inspector I noticed this message from devtools, “The position: static property prevents z-index from having an effect. Try setting position to something other than static.”, looking back at some of my refactoring I had relative in an old template and it was lost. After # After properly setting position to relative on the list-item, the hover image is raised above the others.
Top Python libraries of 2024 Dive into our 10th annual Python Libraries roundup for 2024, now featuring separate curated lists for General Use and AI / ML / Data tools. Discover this year's most innovative additions to the eco... Tryolabs · tryolabs.com Really good listicle of new modern top python libraries from 2024. Very well done article with images, links, and an actually quality listicle with many things I’ve never even heard of.

analytics

I’ve been posting on this site since 2016, when layoffs were rolling through the company I worked for at the time. Starting a personal blog and a pile of side projects felt like one of the best things I could do for my resume, so off I went. This site is built on markata, more about that in the /colophon. The old version of this page embedded static SVGs from my Python Markata build. Those files are gone in the site, so this page now renders the yearly posting history directly from the current content set. Post Contributions All Time Monthly # Contribution Graph Error: Invalid JSON configuration Post Contributions in 2026 # Post Contributions in 2025 # Post Contributions in 2024 # Post Contributions in 2023 # 2023 was a very busy year for me and I started slowing down. About mid year I felt like I had a lot that I wanted to get out, but felt like I couldn’t, because I did not have the time to blog, so I added Thoughts on 7/22/2023 with this first thought. Notice the huge uptick that st…
poolers.postgresql.cnpg.io CRD metadata.annotations Too long · Issue #325 · cloudnative-pg/charts Unable to deploy helm chart using ArgoCD. Getting following error Failed sync attempt to: one or more objects failed to apply, reason: CustomResourceDefinition.apiextensions.k8s.io "poolers.postgr... GitHub · github.com I’ve never seen or needed to use a serversideapply in kubernetes before, but I ran into this same issue in my k3s homelab while installing cloudnative-pg. You can do it with argo and you can do it with kubectl
ublue-os has done a fantastic job with ucore. Highly recommend taking a look. An OCI base image of Fedora CoreOS with batteries included
Just starred bazzite by ublue-os. It’s an exciting project with a lot to offer. Bazzite is a cloud native image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.

I fixed lists in my blog

A small improvement to my blog today. I was checking out my /now post and noticed that lists have left padding but no discs or numbers. I popped open my added these lines and rebuilt. And rebuild, which I actually do with ⭐ casey just, but showing the command here for clarity. WHY the applies # Before # After #
1 min read

I built out a tool for myself to manage my nvim configuration, and I wanted to quickly see which one I am running in my starship prompt. Here’s the config I ended up with. It warns if the NVIM_APPNAME environment variable is not set, and it shows which nvim I am using if it is set.

[custom.nvim-manager-system]
when = '[[ ! -n "${NVIM_APPNAME}" ]]'
style = "bold yellow"
symbol = '[ ](fg:#15AABF)'
format = '$symbol[USING SYSTEM NVIM]($style)'

[env_var.NVIM_APPNAME]
style = "green"
symbol = '[ ](fg:#15AABF)'
format = '[$symbol${env_value}]($style)'
variable = "NVIM_APPNAME"
Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher Iconic font aggregator, collection, & patcher: 10,000+ glyph/icons, 70+ patched fonts: Hack, Source Code Pro, more. Popular glyph collections: Font Awesome, Octicons, Material Design Icons, and more Nerd Fonts · nerdfonts.com Nerdfont cheatsheet is a fantastic way to copy paste icons into your shell. I just used it to juice up my starship prompt with my current managed by nvim-manager
snorlax by moonbeam-nyc is a game-changer in its space. Excited to see how it evolves. wake and sleep Kubernetes deployments on a schedule
I came across headlamp from kubernetes-sigs, and it’s packed with great features and ideas. A Kubernetes web UI that is fully-featured, user-friendly and extensible
Just starred headlamp by headlamp-k8s. It’s an exciting project with a lot to offer. A Kubernetes web UI that is fully-featured, user-friendly and extensible
If you’re into interesting projects, don’t miss out on gitui, created by gitui-org. Blazing 💥 fast terminal-ui for git written in rust 🦀

I recently noticed that my og images were missing emoji. They were taken using headless chrome in a container. I fixed it by adding an emoji font in the containerfile / dockerfile.

RUN apt-get update && apt-get install -y \
    # Add fonts with emoji support
    fonts-noto-color-emoji \
    && rm -rf /var/lib/apt/lists/*

Before #

Here’s what they were looking like with broken emoji fonts.

image

After #

And now with the fixed emoji font.

image

I put thought bubbles on my thoughts posts and stars on my github stars posts

Manufacturer Recertified Drives | Enterprise Grade Manufacturer Recertified enterprise drives work and look like new. Rebuilt by the manufacturer and quality tested to ensure they function as new, our recertified drives save on cost. Shop now! ServerPartDeals.com · serverpartdeals.com For my next drive upgrade in my homelab I am gong to be using one of these factory recertified drives from serverpartdeals.com. Found them on an LTT video awhile back. They are some lightly used and recertified, fully burnt in drives. Shop for drives that are certified once again by the manufacturer to work like new. Factory ReCertified drives are cost-effective alternatives compared to factory-sealed new counter parts. Additionally, unlike in mass production, the re-certification process involves closer attention to the overall operation of the hardware so that the re-certification will not have to happen a 2nd time
GitHub - bootandy/dust: A more intuitive version of du in rust A more intuitive version of du in rust. Contribute to bootandy/dust development by creating an account on GitHub. GitHub · github.com dust is one of my favorite rust rewrite tools. Its so useful for narrowing down file system bloat and cleaning up some disk space on your nearly full disks. It runs right in your terminal and gives you a nice bar graph on the top directories in use.
Check out dust by bootandy. It’s a well-crafted project with great potential. A more intuitive version of du in rust
Keycloak Keycloak - the open source identity and access management solution. Add single-sign-on and authentication to applications and secure services with minimum effort. Keycloak · keycloak.org Keycloak looks like an interesting way to setup sso. It’s part of the cncf so it’s got a good backing. I want something better for argo workflows and this might be it. I’m curious what else I can tie into it.
I’m impressed by mini.ai from nvim-mini. Neovim Lua plugin to extend and create / textobjects. Part of ‘mini.nvim’ library.
Check out echasnovski and their project mini.ai. Neovim Lua plugin to extend and create / textobjects. Part of ‘mini.nvim’ library.
Don’t stop learning! Stop trying because you have a doomer outlook on ai, llms, industry and think they are taking over. If you have no hope for the future, if you stop now you are cementing in that you will be no good and the ai will be better. Many, maybe most of us in this industry go here by hard work, long nights of learning, trying to solve problems that our job had. If llms take over then the world is going to be a whole lot different, it will be a world you cannot predict or plan for. For now put your head down and succeed in the world we have today. TEEJ has some great thoughts on this whole sentiment, put this on for you morning walk or whatever you do.
The work on swark by swark-io. Create architecture diagrams from code automatically using large language models (LLMs).

a night of rounds

Tonight my son and I played rounds, I pulled clips of all the final rounds of each set of rounds. We play hardly any games with guns in them, this is one of the few exceptions, it feels quite whimsical, fun, and strategic, and not at all realistic or first person. The strategy part really brings me back to the fps games I would play with friends in my teens. Round 1 - Orange # I thought I had him on this one. I had this rare power up that allows me to shot through walls. It came down to the very last round and he had too much firepowerfor me. Sorry, your browser doesn't support embedded videos. Round 2 - Blue # The final round of round 2 was Super fast. I felt like I nerfed my homing power up by adding fastball to it and it didn’t really home in anymore. What made it so quick, I think he had glass cannon and I laid down two well placed shots. Sorry, your browser doesn't support embedded videos. Round 3 - Orange # Round three he got some really good cards, but too much firepower and sta…
2 min read

wondercraft session one

My son and I are starting a new Minecraft server today called wondercraft. setup # We are running a few mods on this server notably FTB Ultimine for less grindy resource gathering, Sodium for shaders, and Universal Shops. We are runninng on Minecraft 1.20.1, I think this is because it was the latest supported by Universal Shops, its at least one major release old at this point. I grabbed a few shaders, the ones that you see in this post are rethinking voxels. spawn # We initially spawned in a plains biome near an acacia and forest biome. We ended up going straight for the forest, only coming back for some sheep and wheat seeds. Night one Zombie fight # On the first night we had the obligitory zombie fight before getting beds and bases set. Salmon Wrangler # I was the designated food provider. I setup a small wheat farm with about 64 seeds, then went out to hunt down some salmon for the immediate food need. I ended up with about a stack of salmon at the end of the session. Setting up Sh…
I like the charts that Theo brings to to these videos. Shout out for a positive k8s reference and not shitting on it. Htmx brings html /css just a bit further down the complexity graph with little to no extra effort, while react allows us to go all the way full complexity at the cost of build and dev complexity to go from zero to 100 as soon as its introduced. htmx brings us back to the ease of jquery ajax without any complex swapping or json parsing, all of the object parsing and html templating is done in the backend, the front end just tracks where to put it. HTMX couples the frontend and backend much tigher, since all of the front end html is generated in the backend, done correctly it is not possible for the front end to get out of sync and try to do things that the back end does not know how to handle, vice versa.
Why I Write Software Engineer at Bluesky specializing in developer productivity, AI-assisted development, and accessibility. Creator of The Balanced Engineer newsletter and co-host of the Overcommitted podcast. Brittany Ellich · brittanyellich.com It’s interesting how many people in tech maintain a blog. I think part of this brings us back to web 1.0 days when so many individual websites owned the web it was a free for all unindexed land and you got to own a small piece of it. I agree with most of Brittany’s points here I write a lot to keep my skills sharp, and to refer back to. Brittany mentions keeping all her old posts, even the cringy ones. I’m all with you here, I’m just wodering how you look back at anything you wrote in the past and not get a bit of that feel, maybe its just me, but I see cringe and mistakes gallore, but it all makes me better moving forward.
Availability Software Engineer at Bluesky specializing in developer productivity, AI-assisted development, and accessibility. Creator of The Balanced Engineer newsletter and co-host of the Overcommitted podcast. Brittany Ellich · brittanyellich.com nice overview of availability measurements and what they really mean. The crazy world we live in today depends on so many things runnig, its also so hard to measure your uptime, The uptime metrics can mean a lot of different things. The site is up and accepting traffic, but can users make changes or submit orders, there is a lot more to it than just up or down. I really appreciate Brittany’s story from Nike nested in there.
nRF52840 Wireless Controller Development Board - kriscables SuperMini nRF52840 Wireless Controller Development Board kriscables - Custom Ergo Keyboards and Cables · kriscables.com The SuperMini nrf52840 is a sick controller for building keyboards, affordable, easy to get, and compact. Bluetooth and wired setup just works in zmk. This page has a nice image of the pinout.

nvim-manager

I recently built a cli application as a nearly-one-shot-app called nvim-manager. It manages your nvim dotfiles install. Why # How is nvim manager any better # nvim-manager allows you to install pinned versions of your dotfiles, your friends dotfiles, and distros in ~/.config. This allows you to have stable versions that will not break installed while you change things. I’m sure most of us have experienced the pain of installing one plugin, only to update all of your plugins and break something. Or, you have small changes on every machine you use, because they are all just a bit different and now you have big merge conflicts to deal with. All of this aside you can install a distro to get you by, or a known working version of your own dotfiles. So all these versions in ~/.config # ya, thats the magic of, I can boot up any of these intalled working versions in an instant with. I can still cowboy up and break my main install, but as long as I am diligent to keep these installs untouched I…

/now

This page is meant to be simple view into what is happening in my life right now. Inspired by @NowNowNow. and Derek Sivers. testing md.waylonwalker.com to trigger builds, second time is a charm, testing new deploy testing build in prod again now Last Update 2025-10-29 Silksong has my attention, it’s great Working on new features for dropper Vibe coding sucks Images will soon be able to be resized and be more efficient over the network. Trying to branch out and add more than software to the blog. Things like design and 3d printing. Last Update 2025-05-22 14:27:47 Working on [[ninesui]] Working on [[krayt]] learning observability with grafana Fairly happy with markata, at the moment, less focus and some small fixes The blog is fully k8s, love the experience replacing Google apps with self hosted apps [[replacing-google-search-apps-with-self-hosted-web-apps]] Doing a second run through hollow knight home row layout Also second run of animal well put a pause on the thps gap project Posts t…
2 min read

one-shot-s3-cleanup

So I made a mistake in an app I am working on and ended up creating thumbnails of thumbnails, and thumbnails of thumbnails of thumbnails… etc. I was able to delete them all, but I wanted to make a one-shot script to do it. One Shot App # I got the idea of the one shot app from Simon Willison and replicated his setup in a chatgpt project Initial Prompt # s3_cleanup # Here is the result of the s3_cleanup script. It ended up being 5 or 6 passes to get everything I wanted with soft-delete enabled. Nice preview outputs in the dry run. This was 90% created by chatgpt 4o, with some slight hand edits by me along the way. full help text output # Here is the help text for all of the commands in the script.
1 min read