Today I Learned

Short TIL posts

1852 posts latest post 2026-05-13
Publishing rhythm
Apr 2026 | 23 posts
[1] MX keycap stem dimensions. I used these to create my new caps and all these dimensions worked great. The one dimension I had issues with was the outer diameter off the cap stem, not shown here. 5.3mm ended up being a good outer diameter for me. I print them at an angle and the bottom of the stem can get a bit of sag, pressing out on the outer wall of the switch and can actually stick the key. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /static/https://telcontar.net/KBK/Cherry/images/MX/Cherry_8_mm_mount.svgz [2]: /thoughts/
[1] This page is gold. It lays out all of the distrobox assemble api with some good examples of how to get access to things like podman and kind from inside of containers. Especially this example. [tumbleweed_distrobox] image=registry.opensuse.org/opensuse/distrobox pull=true additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip" additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp" additional_packages="git git-credential-libsecret" additional_packages="patterns-devel-base-devel_basis" additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3" additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt" additional_packages="kubernetes-client helm" init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest; init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install g...
GitHub - urob/zmk-config: Personal ZMK firmware configuration for various boards (34-keys, Glove80, Planck) Personal ZMK firmware configuration for various boards (34-keys, Glove80, Planck) - urob/zmk-config GitHub · github.com [1] This is a very well thought out zmk config featuring many macros, numword, and timeless homerow mods. The build system to build locally looks on point, I really need to give that a try! 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://github.com/urob/zmk-config?tab=readme-ov-file [2]: /thoughts/
add init hooks and exported bins · WaylonWalker/devtainer@2e4c6da 🐳 (dotfiles) My personal development docker container base image - add init hooks and exported bins · WaylonWalker/devtainer@2e4c6da GitHub · github.com [1] Today I learned that you can use init_hooks to access host machine commands from inside a distrobox container. This is super handy for things that you cannot get to from inside the container and need ran outside (docker, podman, flatpak, xdg-open). init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman; 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://github.com/WaylonWalker/devtainer/commit/2e4c6da537f5672209d1b3922fad754190aef938#diff-38878343c551520f8af2a3986e5f6085b03df197a56a92abc42a44b200f0264aR19 [2]: /thoughts/
I’m really excited about manyfold [1], an amazing project by manyfold3d [2]. It’s worth exploring! A self-hosted [3] digital asset manager for 3d print files. References: [1]: https://github.com/manyfold3d/manyfold [2]: https://github.com/manyfold3d [3]: /self-host/
Taildrop · Tailscale Docs Send files between your personal devices on a Tailscale network. Tailscale · tailscale.com [1] Tailscale comes with a feature called taildrop that lets you easily share files between machines on your tailnet. If you have tailscale on ios/android it shows up as a share target when you try to share something, and you can pick the machine to share with. What was not obvious to me was how to receive the file on linux. The linux tailscale service does not automatically receive the file, which can be kinda nice that you can put it where you want, but was not obvious to me at first. Use this command to receive files. sudo tailscale file get . 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://tailscale.com/kb/1106/taildrop?tab=linux [2]: /thoughts/
I’m really excited about django-admin-tui [1], an amazing project by valberg [2]. It’s worth exploring! Django Admin in the terminal! References: [1]: https://github.com/valberg/django-admin-tui [2]: https://github.com/valberg
GitHub - triliu/Heawood42: Files for the Heawood42 ortholinear split keyboard Files for the Heawood42 ortholinear split keyboard - triliu/Heawood42 GitHub · github.com [1] The Heawood42 is an interesting diodeless keyboard that is not direct wired. According to the repo this is the only keyboard to be diodeless and not direct wired. It does this through the use of a graph. 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://github.com/triliu/Heawood42 [2]: /thoughts/
I came across Heawood42 [1] from triliu [2], and it’s packed with great features and ideas. Files for the Heawood42 ortholinear split keyboard References: [1]: https://github.com/triliu/Heawood42 [2]: https://github.com/triliu
[1] This is a wild key cap that uses a lever to convert horizontal key presses to vertically press the switch down. The leveret v2 uses two of these on thumbs, one to press outward, and what appears to be one straight forward which feels like it would have to be a wrist motion, but who am I to judge without having it in person. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /static/https://kbd.news/Leveret-v2-lever-keycaps-2380.html [2]: /thoughts/
After first setting up a new k3s instance your kubeconfig file will be located in /etc/rancher/k3s/k3s.yaml. You cans use it from here by setting $KUBECONFIG to that file. export KUBECONFIG=/etc/rancher/k3s/k3s.yaml Or you can copy it to ~/.kube/config cp /etc/rancher/k3s/k3s.yaml ~/.kube/config If you have installed k3s on a remote server and need the config on your local machine then you will need to modify the server address to reflect the remote server. scp user@<server-ip>:/etc/rancher/k3s/k3s.yaml ~/.kube/config Warning only do this if you don’t already have a ~/.kube/config file, otherwise copy it to a new file and set your $KUBECONFIG env variable to use it. Now you will need to open that file and change the server address, making sure to keep the port number. apiVersion: v1 clusters: - cluster: certificate-authority-data: **** server: https://<server-ip>:6443 name: default
Alternatives to Using Pure Black (#000000) for Text and Backgrounds In order to achieve maximum contrast in design, interface designers often use a combination of pure black and white colors, which helps… Medium · uxplanet.org [1] A nice set of blacks to use in web design. Subtle variants off of black or white like this can really make your design look nice and modern. 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://uxplanet.org/alternatives-to-using-pure-black-000000-for-text-and-backgrounds-54ef0e733cdb [2]: /thoughts/
External Link X (formerly Twitter) · x.com [1] This is a pretty incredible use of css grid to overlay items overtop of each other without needing to resort to position: absolute and the side effects that it brings. .wrap { display: grid; & > * { grid-row: 1; grid-column: 1; } } 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://x.com/wesbos/status/1834242925401694490 [2]: /thoughts/
Buttery.so Buttery smooth, minimal icons for interfaces. buttery.so [1] Some sick looking icons no attribution needed. 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.buttery.so/icons [2]: /thoughts/
I’m impressed by pifi-openwrt-raspberry-pi [1] from pifi-org [2]. Firmware Files for Raspberry Pi (PiFI) References: [1]: https://github.com/pifi-org/pifi-openwrt-raspberry-pi [2]: https://github.com/pifi-org
Today I gave n8n a try using podman, their docs gave me docker commands, but it ran fine on my machine using podman. podman volume create n8n_data podman run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
NOT - LTT Screwdriver - Fancy by Erer2001 | Download free STL model | Printables.com Printables.com · printables.com [1] Someone has created a knock off of the ltt screwdriver and made it printable, and it works really well. I have one printed with 6 different bitholders. I popped some labels on them in bambu studio as I printed to mark them for metric/inch and so on. [2] I’ve had mine for about a year now, and I use it quite often. I used to be a dedicated screwdriver kind of guy, but as life has changed I’m not working out of a shop with tools at reach as much, I’m grabbing a couple of items and heading to a job in the house or a neighbors house. It’s not 30s to grab just the right dedicated screwdriver anymore. Also having some setup with hex and torx is a game changer. It’s also super handy that you can just pop the bits right into a drill or impact. [3] Highly recommended print. Sorry for not buying the real deal Linux, I got kids to feed here. I owe you a t-shirt order or something. [4] Note This post is a thought [5]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.printables.com/model/580045/files [2]:...
Installing and managing Python | uv A guide to using uv to install Python, including requesting specific versions, automatic installation, viewing installed versions, and more. docs.astral.sh [1] uv now can install python for you. uv is inspired by rust’s cargo, an all in one fast package and installation manager. uv is so fast and becoming feature complete, it’s really changing the python packaging ecosystem. uv python install uv python install 3.12 uv python list 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://docs.astral.sh/uv/guides/install-python/ [2]: /thoughts/
I recently discovered kickstart.css [1] by tjdevries [2], and it’s truly impressive. Kickstart.nvim alternative written in pure CSS. Requires failwind.nvim References: [1]: https://github.com/tjdevries/kickstart.css [2]: https://github.com/tjdevries
Switching configs in Neovim How to maintain multiple Neovim configurations and switch between them Michael Uloth · michaeluloth.com [1] Switching between nvim configs can be really easy to do since they implemented the NVIM_APPNAME Environment Variable. NVIM_APPNAME=nvim-lazyvim nvim Now config will be loaded from ~/.config/nvim-lazyvim Michael lays out some aliases in the full article. alias v='nvim' # default Neovim config alias vz='NVIM_APPNAME=nvim-lazyvim nvim' # LazyVim alias vc='NVIM_APPNAME=nvim-nvchad nvim' # NvChad alias vk='NVIM_APPNAME=nvim-kickstart nvim' # Kickstart alias va='NVIM_APPNAME=nvim-astrovim nvim' # AstroVim alias vl='NVIM_APPNAME=nvim-lunarvim nvim' # LunarVim 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://michaeluloth.com/neovim-switch-configs/ [2]: /thoughts/