Thoughts

Link based "commentary" style posts, commenting on a web link

858 posts latest post 2026-05-13
Publishing rhythm
May 2026 | 12 posts
External Link X (formerly Twitter) · x.com [1] porta-john design update, working on moving the seams to line up with an edge to eliminate long noticable seams. These seams are required because I don’t have a printer big enough to print this in one shot. hotswaps are going in. I’m getting really excited for hotswaps as they will make keebs more repairable, and users can self change out the switches if they want. I can also pre-build them ready to go, and drop in switches at the time of order. I did learn today that these are hyper specific to gateron, damn all these switch manufacturers and their special pinouts. Last thing I gotta make more room for wiring the microcontroller and running wires out to the rows and columns, my first prototype build took waay to long to build. 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/XTicklemykeys/status/1840104423508312273 [2]: /thoughts/
External Link X (formerly Twitter) · x.com [1] This low profile design almost made it to 9. I think blending together the custom brim to make them all one piece really made the final difference here. The custom brim is two layers thick, only touching on the top layer making it very easy to peel off, but gives better adhesion to the bed, and does not loose one like this print did. 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/XTicklemykeys/status/1841646323939864871 [2]: /thoughts/
External Link X (formerly Twitter) · x.com [1] really excited for how these caps of my own design are working out. Having the extra control is the first time I’ve been able to print more than one at a time without some hacky gcode. I’ve got a set of nine here that I have printed 4 times without a single failure. 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/XTicklemykeys/status/1841860763960377732 [2]: /thoughts/
[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/
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/
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/
[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/
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/
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/
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/
[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/
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/
- 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/
- 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...
add quick-tap-ms and require-prior-idle-ms · WaylonWalker/zmk-config-42block@cb2cda4 Contribute to WaylonWalker/zmk-config-42block development by creating an account on GitHub. GitHub · github.com [1] Even after switching to my hm and ht behaviors I am running into some issues where sometimes I am still accidentally hitting mods(&hm) and layers(&ht) while typing and it’s been getting frustrating. My main issue has been on &ht, they are configured the same so I suspect that my pinkies just move a bit slower over the keys than my pointer/middle finger. I just added quick-tap-ms and require-prior-idle-ms to my &hm and &ht behaviors, and a few intentionally sloppy passes through monkeytype seem to show that its working well. A few days of trying this will tell whether it was a good fix or if I have maybe gone too far the other way. The end goal here is to be able to roll over keys faster without worrying about hitting other layers or mods. 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/zmk-config-42block/commit/cb2cda4cf7b3776995dbc2e8608b60670a2cf8b2 [2]: /thoughts/
Tickle My Keys Keyboards so good your fingers will be begging to tickle these keys. ticklemykeys.com [1] I’ve been working on something, I’m gong to combine my mechanical engineering skills with my love of great keyboards and start a custom keyboard shop for building custom keyboards for exactly what people need with an emphasis on portability. 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://ticklemykeys.com/ [2]: /thoughts/
- Damn Prime covers this so well from all angles. Can’t overstate the importance of that last step. Look at the issues, and raise an issue if there is not one before putting in a bunch of hard work. Make sure that the maintainers are open for your changes and no one else is already working on it. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /glossary/git/ [2]: /thoughts/
sqlite-jiff I linked to the brand new Jiff datetime library yesterday. Alex Garcia has already used it for an experimental SQLite extension providing a timezone-aware jiff_duration() function - a useful new … Simon Willison’s Weblog · simonwillison.net [1] Sqlite is getting rust extensions now, and datetimes make it totally worth if if they work well and and fast, two things that don’t always go together in datetime libraries 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://simonwillison.net/2024/Jul/23/sqlite-jiff/ [2]: /thoughts/
There’s a TUI for that with Nick Janetakis (Changelog & Friends #53) Nick Janetakis is back and this time we're talking about TUIs (text-based user interfaces) — some we've tried and some we plan to try. All are collected from Justin Garrison's Awesome TUIs repo o... Changelog · changelog.com [1] 50 minutes into this episode they start a discussion on seo, and naming posts. They give Jerod the task of googling for tmux and see how high up the ranking they find Nick, expecting a number one post, and he cant even get to Nick. The problem? Jerod is such a beginner he doesn’t even know what to search, he starts with a long query about getting started with tmux, but all of Nick’s videos are why you should use advanced features of tmux, but Jerod has yet to discover that these exist. As experts we often come up wtih a post title for the exact thing that we are trying to teach someone how to do, but yet, they haven’t discussed that they need that feature yet, they just want the getting started guide, or tell me why I should start using tmux. Not why sessions are better than windows, and tabs suck all together. Definitely an eye opening conversation listening to two experts sit in...
External Link X (formerly Twitter) · x.com [1] This is a wild keyboard test. This is exactly what I want to see from ticklemykeys.com. I want to make ergomechanical boards that you can use and abuse. I want you to not be afraid to take them with you or to eat a nutrigrain bar in the same room (cough 2015 mac). And If something does go out, I want users to be able to repair it themsleves, key caps, switches, batteries, and microcontrollers should be replacible parts they can get at a good cost from the shop if they have paid for a board. 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/verge/status/984764889754456065 [2]: /thoughts/
all lt keys to hl · WaylonWalker/zmk-config-42block@ce25356 Contribute to WaylonWalker/zmk-config-42block development by creating an account on GitHub. GitHub · github.com [1] Today I swapped out all of my keys that are used dual purpose for letters and layers to homerow layers. This prevents goofy things happening when rolling, and prefers-tap makes it so that keys that are rolled over get hit as letters instead of as layers. This was one of my biggest hurdles jumping into zmk, lt as a homerow key just does not behave the same as the ht/hm behaviors with tap-preferred set. Seealso See previous commit where I added the hl https://github.com/WaylonWalker/zmk-config-42block/commit/9522c859cdf024a2c2b73931c130ddc907c09ffc hl: homerow_layer { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_LAYER"; bindings = <&mo>, <&kp>; #binding-cells = <2>; tapping-term-ms = <150>; flavor = "tap-preferred"; }; 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/zmk-config-42block/commit/ce25356e88eb2439182201700314133de719457e [2]: /thoughts/
Tips for Being Happier, Healthier, More Productive by The GaryVee Audio Experience Today's podcast episode is an interview I did on the Happier with Gretchen Rubin Podcast with Gretchen Rubin and Elizabeth Craft. We discuss balancing ambition, tenacity, humility, and patience. I … Spotify for Creators · podcasters.spotify.com [1] Deep breath, the deepest you can take in Smile, a real fukin smile not some pansy bullshit Say I’m not going to give a shit about this when I’m 90 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://podcasters.spotify.com/pod/show/garyvee/episodes/Tips-for-Being-Happier--Healthier--More-Productive-e2m4184 [2]: /thoughts/
Can't use System update - invalid signature when validating ASN.1 encoded signature · Issue #1316 · ublue-os/bazzite Describe the bug Hello, I installed the nvidia KDE version of bazzite just 2 days ago. Today I wanted to update to the most recent release, but unfortunately, I keep getting the following error: Pu... GitHub · github.com [1] This fixed my bazzite update issues after the signing key was rotated recently. This team is killing it with such a great user experience. curl -sL https://fix.universal-blue.org/ | sudo bash 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/ublue-os/bazzite/issues/1316 [2]: /thoughts/
Update Kconfig.shield rec by bravekarma · WaylonWalker/zmk-config-ninepad@8b76b76 zmk configuration for ninpad keyboard. Contribute to WaylonWalker/zmk-config-ninepad development by creating an account on GitHub. GitHub · github.com [1] This one space killed my whole config and held me back from learning zmk. 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/zmk-config-ninepad/commit/8b76b76e2f094453aaf7ffe51bb405ce3a25a611 [2]: /thoughts/
[1] The trackball spinner looks sick here. I can imagine using that spinner like a scroll wheel. 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/DragonFruit-2178.html [2]: /thoughts/
[1] They had split ergo boards back in 1983??? WTF who the heck keeps these row stagger boards going. This board looks like endgame material, If this thing was more normal, it’d kill a whole section of the ergo mechanical keyboard industry for good reason. 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/NEC-M-System-1729.html [2]: /thoughts/
- This keyboard layout looks weird af the mix of column staggar and row stagger is wild. Not sure if its genius or an abomination. That solenoid though is absolutely wild though, I kinda want one TBH. and the clear plate with the diodes laid out on it in a herringbone pattern is a very nice touch. 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/
External Link stackoverflow.com [1] today I learned that there is an accessibility feature in chrome that allows you to place a text cursor anywhere on the page. I had accidentally done this and it drove me mad that it was there. 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://stackoverflow.com/questions/75886276/text-cursor-bug-in-my-chrome-browser-that-causes-the-blinking-cursor-to-appear-e [2]: /thoughts/
- Hard to argue this take, happy to see that its at the top. With it being such an old language its amazing that it still holds this position, and not surprising that it has warts, and thing that have turn users off from wanting anything to do with it. timestamped in the link 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/
Command Line Interface Guidelines An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. clig.dev [1] This is a pretty sick set of guidelines to help you write better cli programs, I’m definitely coming back to reading this one more in depth later. 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://clig.dev/ [2]: /thoughts/
External Link fullystacked.net [1] You can explicitly make a script render blocking, nothing will be rendered until this js is ready. <script blocking="render" src="important.js" defer></script> 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://fullystacked.net/render-blocking-on-purpose/ [2]: /thoughts/
Remove Background Web - a Hugging Face Space by Xenova In-browser background removal huggingface.co [1] I’ve long been a user of remove.bg, and I just discovered that you can run this transformer right within your browser with no api limits. 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://huggingface.co/spaces/Xenova/remove-background-web [2]: /thoughts/
FastHX - FastHX volfpeter.github.io [1] Very interesting approach to htmx [2] and fast api. It uses separate decorators for returning template partials and json that can be stacked to include both options on a single route. The templates are explicitly set in the decorator. Separate decorators are used for full page and partial pages. I don’t see an example of full and partial pages being combined. I think the demo app must be behaving in a spa like fashion where it does not get all of the data when it calls index and index will ask for user-list. Definitely going to keep my eye on this project and ponder on it. from fastapi import FastAPI from fastapi.templating import Jinja2Templates from fasthx import Jinja from pydantic import BaseModel # Pydantic model of the data the example API is using. class User(BaseModel): first_name: str last_name: str # Create the app. app = FastAPI() # Create a FastAPI Jinja2Templates instance and use it to create a # FastHX Jinja instance that will serve as your decorator. jinja = Jinja(Jinja2Templates("templates")) @app.get("/") @jinja.page("index.html") def index() -> None: ... @app.get("/user-list") @jinja.hx("user-list.html") async...
FastHX - FastHX volfpeter.github.io [1] Very interesting approach to htmx [2] and fast api. It uses separate decorators for returning template partials and json that can be stacked to include both options on a single route. The templates are explicitly set in the decorator. Separate decorators are used for full page and partial pages. I don’t see an example of full and partial pages being combined. I think the demo app must be behaving in a spa like fashion where it does not get all of the data when it calls index and index will ask for user-list. Definitely going to keep my eye on this project and ponder on it. from fastapi import FastAPI from fastapi.templating import Jinja2Templates from fasthx import Jinja from pydantic import BaseModel # Pydantic model of the data the example API is using. class User(BaseModel): first_name: str last_name: str # Create the app. app = FastAPI() # Create a FastAPI Jinja2Templates instance and use it to create a # FastHX Jinja instance that will serve as your decorator. jinja = Jinja(Jinja2Templates("templates")) @app.get("/") @jinja.page("index.html") def index() -> None: ... @app.get("/user-list") @jinja.hx("user-list.html") async...
Pinout and Schematic - nice!nano Pinout and schematic for the nice!nano nicekeyboards.com [1] Pinout for nice!nano boards. Note that P0.15 means gpio port 0 pin 15, they can be referenced in zmk when setting column and row pins. #include <dt-bindings/zmk/matrix_transform.h> / { chosen { zmk,kscan = &default_kscan; zmk,matrix_transform = &default_transform; /delete-property/ zephyr,console; /delete-property/ zephyr,shell-uart; }; default_kscan: kscan { compatible = "zmk,kscan-gpio-matrix"; label = "default_kscan"; diode-direction = "col2row"; col-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH> , <&gpio0 29 GPIO_ACTIVE_HIGH> , <&gpio0 2 GPIO_ACTIVE_HIGH> ; row-gpios = <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> , <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; }; default_transform: matrix_transform { compatible = "zmk,matrix-transform"; columns = <3>; rows = <3>; map = < RC(0,0) RC(0,1) RC(0,2) RC(1,0) RC(1,1) RC(1,2) RC(2,0) RC(2,1) RC(2,2) >; }; }; 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://nicekeyboard...
External Link unix.stackexchange.com [1] today I learned that /dev/pts is a pseudo-tty. It amazes me how much linux is still built around things like hardware terminals. 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://unix.stackexchange.com/questions/93531/what-is-stored-in-dev-pts-files-and-can-we-open-them [2]: /thoughts/
GitHub - svenstaro/miniserve: 🌟 For when you really just want to serve some files over HTTP right now! 🌟 For when you really just want to serve some files over HTTP right now! - svenstaro/miniserve GitHub · github.com [1] miniserve is a sweet http server, replacement for python -m http.server. It’s fast, runs off a small binary, but why would I want to use it over something that already exists on most machines, because it includes a bunch of features like qr codes, pretty themes, and uploads. I’ve used python -m http.server many times to transfer files from one machine to another in a pinch, like at a family members house. But what if they have an android, windows, or something not easy to get a python repl running on, you can run miniserve and upload from their device rather than hosting from their device. 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/svenstaro/miniserve [2]: /thoughts/