TIL feed ¶ #
Here are the latest snippets from the /til directory:
I keep forgetting about the double gutter problem with nested containers. When you put padding on a parent and the child also has padding, you get twice the spacing you wanted. ## The Problem ```css .container { padding: 2rem; } .child { padding: 2rem; } ``` Now your content is 4rem from the edge. Not what I meant at all....
Like a dufus this morning I did a hard reset on a git repo for getting I was working on a manifest for. You see I generally use argo, but occasionally I have no idea what I am doing or want yet and I start raw doggin it, fully aware that I'm going to just nuke this namespace before getting...
I really wish I would have got this right a few years ago. Theres a couple of flags I had to use to get mdformat to do hard wraps at 80 characters and not wreck tables. This mix of flags and plugins is workign really well for me so far. ```bash mdfmt() { uvx \ --with "mdformat-ruff" \ --with "mdformat-beautysh"...
Opencode is changing on the daily right now, today I noticed the word `low` pop up in Orange text in my opencode window. Looking into this they are exposing [variants](https://opencode.ai/docs/models/#variants) to the user. This allows you to change between fast or slow and thinking, the later taking more time to prepare before doing an action.  It...
This is opencode's init prompt. ``` markdown Please analyze this codebase and create an AGENTS.md file containing: 1. Build/lint/test commands - especially for running a single test 2. Code style guidelines including imports, formatting, types, naming conventions, error handling, etc. The file you create will be given to agentic coding agents (such as yourself) that operate in this repository. Make...
**POG**: **P**lay **O**f the **G**ame - used to express shock or excitement after a noteworthy moment.
Today I discovered [vim-speeddating](https://github.com/tpope/vim-speeddating) by tpope. I'm sure I've seen years ago but it did not click for my workflow until today. I often go through pictures from my phone for the past few days and make [[shots]] posts, but I want to date them to about when the image was taken most of the time. This allows me to...
Yesterday I wrote about a way to do [[ light-mode-screen-recording ]] to convert to light mode from dark mode with ffmpeg. I was wondering if it could be done entirely on the front end for web applications. Turns out you can. I'm sure there are limited wikis and site builders that don't allow adding style like this, but it works...
I saw this tip from [Cassidoo](https://cassidoo.co/post/ffmpeg-dark-light/) and had to try it out for myself. I kicked on a screen recording right from where my terminal was, converted it, and it actually looks pretty good. ``` bash ffmpeg \ -i screenrecording-2026-01-01_10-10-49.mp4 \ -vf "negate,hue=h=180,eq=contrast=1.2:saturation=1.1" \ screenrecording-2026-01-01_10-10-49-light.mp4 ```  > Dark Mode  > Light Mode There are a few unsettling things...
I've found Gemini to be very useful lately, especially for finding information within long form content. When writing [thought-896](https://thoughts.waylonwalker.com/post/896), I wanted to use a direct quote from Jeff Dickey, Gemini popped it out very quickly. ``` md give me a quote from jeff just before the timestamp I'm at the interviewer asked what makes a good cli and he started...
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...
`--name-status` is a great way to see what files have changed in a git 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}'
```</p></div><footer class="card-meta"><time>2025-12-12 07:53:57 +0000 UTC</time><div class="card-tags"><a href="/tags/git/" class="tag p-category">git</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/minecraft-server-memory/">minecraft server memory</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">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...</p></div><footer class="card-meta"><time>2025-12-10 08:46:36 +0000 UTC</time><div class="card-tags"><a href="/tags/kubernetes/" class="tag p-category">kubernetes</a><a href="/tags/compose/" class="tag p-category">compose</a><a href="/tags/docker/" class="tag p-category">docker</a><a href="/tags/homelab/" class="tag p-category">homelab</a><a href="/tags/minecraft/" class="tag p-category">minecraft</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/web-snow-fall/">web snow fall</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">I found snow-fall component from [zachleat](https://www.zachleat.com/web/snow-fall/), and its beautiful... to me. I like the way it looks, its simple and whimsical. ## Install There is an npm package `<a href="https://zachleat.com" class="mention" data-name="Zach Leatherman" data-bio="A post by Zach Leatherman (zachleat)" data-avatar="https://screenshot.11ty.app/https%3A%2F%2Fwww.zachleat.com%2F%3Fcache%3D_20251031/opengraph/" data-handle="@zachleat">@zachleat</a>/snow-fall` if that's your thing. I like vendoring in small things like this. ``` bash 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...</p></div><footer class="card-meta"><time>2025-12-09 10:21:17 +0000 UTC</time><div class="card-tags"><a href="/tags/webdev/" class="tag p-category">webdev</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/check-your-kubeconfig-expire-time/">check your kubeconfig expire time</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">Today I learned an important lesson that you should periodically check on your kubeconfigs expiration date. It's easy to do. You can ask for the client-certificate-data from your kubeconfig, decode it, and use openssl to get the expiration date. ``` bash kubectl config view --raw -o jsonpath='{.users[0].user.client-certificate-data}' \ | base64 -d 2>/dev/null \ | openssl x509 -noout -dates ``` !!!...</p></div><footer class="card-meta"><time>2025-12-08 20:59:27 +0000 UTC</time><div class="card-tags"><a href="/tags/kubenetes/" class="tag p-category">kubenetes</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/gh-auth-switch/">gh auth switch</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">When using two GitHub accounts the gh cli gives very easy `gh auth switch` workflow from the cli. !!! hint from the docs gh auth switch --help Switch the active account for a GitHub host. This command changes the authentication configuration that will be used when running commands targeting the specified GitHub host. If the specified host has two accounts,...</p></div><footer class="card-meta"><time>2025-12-07 10:55:55 +0000 UTC</time><div class="card-tags"><a href="/tags/gh/" class="tag p-category">gh</a><a href="/tags/cli/" class="tag p-category">cli</a><a href="/tags/github/" class="tag p-category">github</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/setup-bambu-studio-in-distrobox/">setup bambu-studio in distrobox</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary"><a href="/gpus-are-awesome/" class="wikilink" data-title="gpus are awesome" data-description="GPU's are awesome. I just added gpu support to my bambu-studio distrobox and its flying! On my wayland based system the native package has never worked,..." data-date="2025-12-03">gpus are awesome</a> and I need one for Bambu Studio to be usable in a distrobox. Adding the `--nvidia` flag to `distrobox create` bind mounts the nvidia `/dev/` devices and sets up the necessary environment variables. Once we are in there are a couple of packages to install to make it work. ``` bash distrobox create --name bambu-studio --image archlinux:latest...</p></div><footer class="card-meta"><time>2025-12-06 21:17:39 +0000 UTC</time><div class="card-tags"><a href="/tags/linux/" class="tag p-category">linux</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/k3s-system-upgrade-minor-by-minor/">k3s system-upgrade minor by minor</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">The k3s system-upgrade controller is a fantastic tool for upgrading k3s automatically. It has done a fantastic job for me every time I've used it. Today I ran it on a cluster that needed to upgrade several minors and I learned that the controller does not pick up on changes to the channel url if you change from minor to...</p></div><footer class="card-meta"><time>2025-12-05 09:25:39 +0000 UTC</time><div class="card-tags"><a href="/tags/k8s/" class="tag p-category">k8s</a><a href="/tags/k3s/" class="tag p-category">k3s</a><a href="/tags/kubernetes/" class="tag p-category">kubernetes</a></div></footer></article><article class="card card-link h-entry"><div class="card-link-wrapper"><div class="card-link-content"><a class="card-title p-name u-url" href="/columns-env-var/">COLUMNS env var</a></div></div><div class="card-link-body"><p class="card-link-snippet p-summary">setting `COLUMNS` env var to a number greater than 0 will make the terminal resize to that number of columns. ``` bash COLUMNS=80 uvx --from rich-cli rich myscript.py ``` !!! NOTE Not all programs respct the `COLUMNS` env var, but rich does, and a lot of stuff I'm building uses rich. I discovered this when I was trying to make...</p></div><footer class="card-meta"><time>2025-11-26 13:24:38 +0000 UTC</time><div class="card-tags"><a href="/tags/python/" class="tag p-category">python</a><a href="/tags/bash/" class="tag p-category">bash</a><a href="/tags/terminal/" class="tag p-category">terminal</a></div></footer></article></div></div>