Published

All published posts

2540 posts latest post 2026-06-16 simple view
Publishing rhythm
May 2026 | 58 posts
- Big fan of Primes setup. I was not far off of his setup before he really came on the scene, but I’ve picked up a ton of nuggets from him and how he operates. I took his first developer productivity course on Front End Masters as it came out. It is interesting to see him roll back his ansible scripts for bash scripts here. I converted my setup to ansible after watching his first, but have also since rolled back to bash scripts for quite similar reasons. Ansible is great for remote tasks that need to be done on a fleet of machines, but like he says here overkill for this purpose and ends up something that you need to read the docs for every change to your dotfiles. Unlike prime I’ve really leaned harder on installing everything in a docker image and developing out of a docker image. I’ve long built docker images of my dotfiles with the idea that its nice to be able to just use them on other machines, but it rarely happened. In the past year I’ve moved bazzite, an immutable distro. It comes with podman and distrobox, so I install very little on it, a few flatpaks from the store for brave and signal, but most of what I really use day to day comes from my devtainer. It’s nice t...

https://www.youtube.com/watch?v=03KsS09YS4E&t=610s

Today I learned about the basic calculator, bc. At the very end of this video prime uses it to add numbers in vim.

REPL #

You can start a calculator repl at the command line, by running bc.

Vim #

Since bc supports standard unix pipes you can easily pipe data from vim into bc and back out using !!bc. All you need is a string of math on the line you want to calculate, go to normal mode and run !!bc to get the answer.

Traditionally I will open my system calculator or ipython to do something like this.

To keep the equation and the result in the same line you can send the equation to stderr and the result to stdout using tee.

:.!tee >(cat >&2) | bc
emoji [1] by carpedm20 [2] is a game-changer in its space. Excited to see how it evolves. emoji terminal output for Python References: [1]: https://github.com/carpedm20/emoji [2]: https://github.com/carpedm20
The work on sqlite-s3vfs [1] by uktrade [2]. Python writable virtual filesystem for SQLite on S3 References: [1]: https://github.com/uktrade/sqlite-s3vfs [2]: https://github.com/uktrade
ERR_SSL_VERSION_OR_CIPHER_MISMATCH Learn how to troubleshoot ERR_SSL_VERSION_OR_CIPHER_MISMATCH when using Cloudflare SSL/TLS. Cloudflare Docs · developers.cloudflare.com [1] Today I learned that cloudflare free tier universal certs do not support multilevel subdomains. By default, Cloudflare Universal SSL certificates only cover your apex domain and one level of subdomain. [2] References: [1]: https://developers.cloudflare.com/ssl/troubleshooting/version-cipher-mismatch/ [2]: https://dropper.waylonwalker.com/api/file/7d1fe806-a3d0-47e3-8eb1-08c1a0965728.webp
[1] Migrating from kedro 0.18.4 to the latest version involves handling the deprecated OmegaConf loader. Switching over does not look as bad as I originally thought. - installing kedro 0.18.5+ - set the CONFIG_LOADER_CLASS in settings.py - swap out import statements - config must be yaml or json - getting values from config must be done with bracket __getattr__ style not with .get - any Exceptions caught from Templated config loader will need to be swapped to OmegaConfig exceptions, similar to #3 - templated values must lead with an _ - Globals are handled different - OmegaConfig does not support jinja2 sytax, but rather a ${variable} syntax References: [1]: /static/https://docs.kedro.org/en/stable/configuration/config_loader_migration.html
[1] Prime mentioned on stream that Whites were his favorite switch. I tend to like lighter switches and want to give it a try. I really like my Durock lupine’s at 55g, the box whites are 45g, that feels like it would take quite a bit more control, floating over the keys. References: [1]: /static/https://www.kailh.net/search?q=box+white&_pos=2&_psq=white&_ss=e&_v=1.0

markdown split panel

Today I was playing with markdown split panels. I want to be able to compare and constrast occasionually, today the inspiration hit to do this using admonitions. [1] Mobile Users 🔄 You will need to rotate your device to see the side by side feature. The Markdown # [2] This is what I am going for, one admonition that is easy to remember, that nests inside of itself , and I can put as much markdown on the inside that I want. !!! vsplit I Have two opinions !!! vsplit Left Opinion supporting arguments * lorem ipsum * ipsum dolor - [x] lorem ipsum - [ ] ipsum dolor !!! vsplit Right Opinion supporting arguments * lorem ipsum * ipsum dolor - [ ] lorem ipsum - [x] ipsum dolor Here is the result of that markdown. I Have two opinions Left Opinion supporting arguments - lorem ipsum - ipsum dolor - lorem ipsum - ipsum dolor Right Opinion supporting arguments - lorem ipsum - ipsum dolor - lorem ipsum - ipsum dolor Vsplit Hello World Here is a hello worl...

Make MinIO Access Key

Today in my homelab [1] I wanted to setup a new service that needed a MinIO access key. So I created a new user and a new access key with the MinIO CLI rather than poking through the ui like I have before. [2] Global Level vs User Level # [3] The MinIO CLI has two levels of access, global and user level. Most of the commands in this post will have several ways to do similar tasks that would potentially work. We are going to prefer to use the user level commands for more control. For some commands such as listing Keys it is handy to use the global level. The Policy # [4] First we are going to make a new policy file named mypages_rw_policy.json. { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::mybucket" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [...
Check out cloudnative-pg [1] and their project cloudnative-pg [2]. CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments, covering the entire operational lifecycle from initial deployment to ongoing maintenance References: [1]: https://github.com/cloudnative-pg [2]: https://github.com/cloudnative-pg/cloudnative-pg
Just starred open-webui [1] by open-webui [2]. It’s an exciting project with a lot to offer. User-friendly AI Interface (Supports Ollama, OpenAI API, …) References: [1]: https://github.com/open-webui/open-webui [2]: https://github.com/open-webui
I like fcsonline’s [1] project tmux-thumbs [2]. A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator References: [1]: https://github.com/fcsonline [2]: https://github.com/fcsonline/tmux-thumbs

I’ve been back to putting some images on my blog lately and thinking about making them a bit thinner through the use of aspect ratio for simplicity. I’m leaning pretty heavy on tailwindcss these days due to some weird quirks of markdown-it-attrs I cannot have slashes in classes from markdown so I made a .cinematic class to achieve this.

.cinematic {
  @apply aspect-[2.39/1];
}

Example

screenshot-2025-01-31T14-50-00-094Z.png

An Aspect Ratio Guide for Every Filmmaker How can the aspect ratio of your film or TV show contribute to your story? No Film School · nofilmschool.com [1] A good reference of common screen ratios. I just realized that 16:9 is also 1.78:1. I’ve been putting some images on my blog again, and thinking about using some 2.39:1 ratio on them. References: [1]: https://nofilmschool.com/cinematic-aspect-ratio
- There is a glimmer of hope out there that normal people can scrap together enough gpu to really run the latest models themselves. The ui really appears to be having huge leaps forward such that doing things like rag is no longer such a research project that it was just a few years ago. So excited to see Prime go through this homelab [1] exercise. References: [1]: /homelab/

Attrs does not like ‘/’ characters in its classes, so to use some tailwind classes with custom values we must make new classes in our tailwind input css.

.cinematic {
  @apply aspect-[2.39/1];
}

Given the following markdown with attrs added to the image and to the paragraph block.

![screenshot-2025-01-31T14-50-00-094Z.png](https://dropper.waylonwalker.com/api/file/50cfa8dc-9d46-4f02-877b-688fa5510a83.png){.aspect-[2.39/1]}

![screenshot-2025-01-31T14-50-00-094Z.png](https://dropper.waylonwalker.com/api/file/50cfa8dc-9d46-4f02-877b-688fa5510a83.png){.cinematic}

{.cinematic}
![screenshot-2025-01-31T14-50-00-094Z.png](https://dropper.waylonwalker.com/api/file/50cfa8dc-9d46-4f02-877b-688fa5510a83.png)

We get the following output with only the middle one working correctly.

screenshot-2025-01-31T14-50-00-094Z.png{.aspect-[2.39/1]}

screenshot-2025-01-31T14-50-00-094Z.png

screenshot-2025-01-31T14-50-00-094Z.png

Note

The inline version of `.cinematic` works, but `.aspect-[2.39/1]` does not,

it turns into text after the image. The block version with the class before the image applies to the paragraph, not the image.

- Oh, this kills me to hear it. RSS is the OG [1] way to subscribe and share content out to others. It gives you control of what you subscribe to and reminds you when new content lands on your favorite sites. It is a huge component of web 1.0 and I feel is the most decentralized social media can ever hope to be. References: [1]: /og/

markata 0.8.0

I realize that I never did a post on markata 0.8.0, so here it is. 0.8.0 was released on Jan 2, 2024, just over a year ago at this point. This was the release that we got pydantic support, and multi feeds. [1] Pydantic Support Was kinda big # [2] Markata is leaning on pydanttic for configuration and Post models. These models are filled with validators such that you can give it an empty markdown post and it will figure out some pretty sane default values for the frontmatter. From there you can progressivly enhance your post with more information like title, date, tags, slug, description. validators are awesome!! for instance I don’t set the description on many of my posts by hand, I let the auto_description grab the first bit of text from the post most of the time. Multi Feeds # [3] Markata==0.8.1 brought multiple feeds into the mix, and started to take place of rss and sitemap. Feeds are a list of posts that are configured with a slug, filter, sort, reverse, description, and ...
2 min read

markata 0.8.0

I realize that I never did a post on markata 0.8.0, so here it is. 0.8.0 was released on Jan 2, 2024, just over a year ago at this point. This was the release that we got pydantic support, and multi feeds. [1] Pydantic Support Was kinda big # [2] Markata is leaning on pydantic for configuration and Post models. These models are filled with validators such that you can give it an empty markdown post and it will figure out some pretty sane default values for the frontmatter. From there you can progressively enhance your post with more information like title, date, tags, slug, description. validators are awesome!! for instance I don’t set the description on many of my posts by hand, I let the auto_description grab the first bit of text from the post most of the time. Multi Feeds # [3] Markata==0.8.1 brought multiple feeds into the mix, and started to take place of RSS and sitemap. Feeds are a list of posts that are configured with a slug, filter, sort, reverse, description, and ...