Today I Learned

Short TIL posts

1852 posts latest post 2026-05-13
Publishing rhythm
Apr 2026 | 23 posts
infused-kim [1] has done a fantastic job with kb_zmk_ps2_mouse_trackpoint_driver [2]. Highly recommend taking a look. A PS/2 mouse & trackpoint driver module for keyboards running the zmk firmware References: [1]: https://github.com/infused-kim [2]: https://github.com/infused-kim/kb_zmk_ps2_mouse_trackpoint_driver
I recently discovered failwind.nvim [1] by tjdevries [2], and it’s truly impressive. KEKW References: [1]: https://github.com/tjdevries/failwind.nvim [2]: https://github.com/tjdevries
[1] This is the coolest scrappy build, no printer or modeling required, no fancy tools, just straight chisel and claw hammer in soft pine. Im here for it, create the thing that you want to create. 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://halfwit.github.io/2017/05/08/keyboardblog.html [2]: /thoughts/
Vim has a handy feature to format text with gq. You can use it in visual mode, give it a motion, or if you give it gqq it will format the current line. I use this quite often while writing in markdown, I do not use softwraps in vim, so gqq quickly formats my current line into a paragraph. Once I have done this for a single line one time I typically switch to the motion for around paragraph gqap to format the whole paragraph and not just the current line. before formatting # [1] [2] after formattting # [3] [4] References: [1]: #before-formatting [2]: https://dropper.waylonwalker.com/api/file/01c19159-c0b5-4920-b73c-774284b09940.webp [3]: #after-formattting [4]: https://dropper.waylonwalker.com/api/file/e068e445-43e0-4e27-ac30-ac11e9cb9088.webp
A slug is the part of the url that comes after the domain. Commonly matches the file name of a markdown file many blogging systems. These are typically human readable, unique identifiers for pages within the site.
Wikilinks are a core concept within obsidian to link to documents by Slug [1] wrapped in double square brackets. These are commonly used within wiki site generators. [[slug]] Obsidian gives you a keybinding alt+enter to go to that file, but if it does not exist it will create the file for you in the root of the project. It’s a nice way to quickly make new documents. References: [1]: /slug/
Hotkey to open link under at the text cursor position while typing in edit mode I find myself not wanting to leave the keyboard for navigation and think a keyboard-only shortcut that could open a link at the text cursor position is at would be really handy for this case. Obsidian Forum · forum.obsidian.md [1] Obsidian has a go to definition like feature, the keybind is alt+enter, I would have never guessed this one. 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://forum.obsidian.md/t/hotkey-to-open-link-under-at-the-text-cursor-position-while-typing-in-edit-mode/8144 [2]: /thoughts/
It was not obvious to me, but if you have a wikilink such as Trying Obsidian [1], you can jump to the file in obsidian, just like you can with lsp go to definition, the keybinding is alt + enter. References: [1]: /trying-obsidian/
The work on KLP-Lame-Keycaps [1] by braindefender [2]. Sculpted and curved keycaps for Kailh Choc and MX switches References: [1]: https://github.com/braindefender/KLP-Lame-Keycaps [2]: https://github.com/braindefender
- Very inspiring video Jason, these people faced adversity and crushed it. The market is so hard right now, its not easy to get a job, move around, and recover from a layoff. Everyone in this video just showed that you can make it in this industry right now, you just have to be willing to work harder than the rest. The bar is raising, a lot of great people are already putting in hard work to make it. Community is Key, Theo mentioned that a lot of the companies he works with don’t even post openings, they go to their community first and are often filling spots through lower risk community hires. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
- Thor always comes in hard with fire takes in his shorts. Especially if you are early in our career take this in. If you dont yet have kids, but plan to, double take this in. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
I’ve long used copier to create all of my posts for my blog, and it works really well for my workflow. I think of a title, call a template, and give it a title. out of the box obsidian did not seem to work this way. It seems like it wants me to right click a file tree and make a new file using the tree, this is not my jam. Here is what I came up with to replace my til template. --- date: <% tp.file.creation_date() %> templateKey: til title: <%* const originalFileName = await tp.system.prompt("Enter file name"); const toTitleCase = str => str.replace( /\w\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() ); const title = toTitleCase(originalFileName); tR += title + '\n'; // Add the title to the template result -%> published: true tags: - --- <%* const fileName = originalFileName.toLowerCase().replace(/\s+/g, '-'); const newFilePath = `pages/til/${fileName}`; await tp.file.move(newFilePath); -%> <% tp.file.cursor() %> - tR is a return value, and it gets placed directly into the place it is in the file - to.file.cursor() creates a tab-index point so I can tab into the content
I’m giving obsidian a go as an editor for my blog and one of the main things I want to fix in my workflow is the ability to quickly drop in images. on first look through the community plugins I found Image Converter. I set it up to convert to webp and drop them in a git [1] submodule. I may make it something other than a git repo in the future, but I’ve learned that adding images to my blog repo quickly makes it heavy and hard to clone on other machines. [2] Once the images are there they are pushed and deployed as their own site to cloudflare pages. I made a quick edit to my sick wikilink hover [3] plugin for my blog. if it sees a wikilink ending in webp, convert the domain over to obsidian-assets.waylonwalker.com, and clean up the remaining "! " that the python md-it library leaves behind. Note after first try I needed to increase the width from 600 to 1400, the image in this post was unreadable. This is part of me getting set up and Trying Obsidian [4] References: [1]: /glossary/git/ [2]: https://dropper.waylonwalker.com/api/file/626d85b1-5588-45c4-a4f4-c372dc7c8ff3.webp [3]: /sick-wikilink-hover/ [4]: /trying-obsidian/
- Docker no Docker, what!!! So fly.io uses Dockerfiles to deploy your app, but no docker. They use containerd to download your docker images into firecracker microvms to run your app. Firecracker is the same tech that runs aws lambda functions. Fascinating short post on the beans under the hood at fly.io and how they scale your app globally. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
Ultimate Modular Macro Keyboard "Kibly" Ultimate Modular Macro Keyboard "Kibly" Reddit · reddit.com [1] This is a pretty sick design, touch screen macropad, trackball, ring, and knobs for days. I just want to play with it and see what I can make it do. As I’m typing I think I just realized that its modular, each rectangle is it’s own section! 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.reddit.com/r/MechanicalKeyboards/comments/1dyf0d8/ultimate_modular_macro_keyboard_kibly/ [2]: /thoughts/
- Damn Johnny is always such a positive vibe, just getting steamrolled by this braille shit. WTF are these brand sleeping on. Happy to hear that Andy and Brian are supporting him well. Also kinds shows what shoes are good when he goes to buy shoes cause no one will send him any and he goes with Etnies. Johnny keep it going! Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
- Niklas Luhmann created the Zettelkasten method of notetaking, He was the Da Vinci of writing, holding a high standard that we can take inspiration from even today in this digital era. As many times as I have seem the Zettelkasten covered, I never knew that it roughly translated to little cards in a box. Four Principles # [1] Mischa lays out four principles of Zettelkasten. - Atomic - each card conains one idea - Link - cards are linked together - Structure - comes from the links - Own Words - You write the note in your own words My blog, tils, and thoughts make up my own zettelkasten. I am not going to say that mine is a perfect representation of his method, but the components are here. rather than building books, my thoughts and tils build up to blog posts. The rate of blog posts I write definitely changes with the seasons of life, as seasons change it becomes a bigger or smaller part of the season. I really like Mischa’s most important note to Write in your own words, this is what really promotes learning, and proves to yourself that you can form a thought around the topic. Up until recently I’ve wrote everything, but lately I’ve taken to copy pasting some quotes i...