Published

All published posts

2565 posts latest post 2026-07-13 simple view
Publishing rhythm
Jun 2026 | 27 posts
I like Textualize’s [1] project transcendent-textual [2]. Textual apps and libraries References: [1]: https://github.com/Textualize [2]: https://github.com/Textualize/transcendent-textual
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. References: [1]: https://github.com/WaylonWalker/zmk-config-ninepad/commit/8b76b76e2f094453aaf7ffe51bb405ce3a25a611
[1] The trackball spinner looks sick here. I can imagine using that spinner like a scroll wheel. References: [1]: /static/https://kbd.news/DragonFruit-2178.html
[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. References: [1]: /static/https://kbd.news/NEC-M-System-1729.html
Laying some wire in PortaJohn 1
Close-up view of a barebones custom mechanical keyboard plate and PCB.
Laying down the first test print of a portajohn on a laptop
A setup featuring an open laptop running Ubuntu next to a detached, custom mechanical keyboard.

animal well codes

fish room # [1] fish bubbles ul d dl l dl ur ul jellyfish d l d l d l u r egg room # [2] bar dir given bar codes top r mid dr bot dl calculated bar codes num dir 1 r 2 dr 3 d 4 dl 5 l 6 ul 7 u 8 ur bar code direction num bar 1 top 2 mid 3 top mid 4 bot 5 top bot 6 mid bot 7 top mid bot 8 empty egg room decode 6 3 3 6 3 1 3 4 2 4 3 2 8 3 5 8 _ 3 5 7 5_ __ 5 2 5 6 3 1 3 3 1 3 6 4 4 6 4 2 4 6 8 6 4 8 7 3 7 6 5 7 6 __ egg room decode dir ul dd __ dd ul dd rr dd __ dl dr dl dd __ dr ur__ dd ll ur __ dd ll uu ll __ ____ ll dr ll ul dd rr dd __ dd rr dd ul dl __ dl ul dl dr dl ul ur ul dl ur uu __ dd uu ul __ ll uu ul ____ References: [1]: #fish-room [2]: #egg-room
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. References: [1]: https://clig.dev/
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> References: [1]: https://fullystacked.net/render-blocking-on-purpose/
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. References: [1]: https://huggingface.co/spaces/Xenova/remove-background-web
Check out volfpeter [1] and their project fasthx [2]. FastAPI [3] server-side rendering with built-in HTMX [4] support. References: [1]: https://github.com/volfpeter [2]: https://github.com/volfpeter/fasthx [3]: /fastapi/ [4]: /htmx/
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) >; }; }; References: [1]: https://nicekeyboards.com/docs/nice-nano/pinout-schematic/
I’m impressed by shmux [1] from typecraft-dev [2]. the shell-script tmux management you didn’t know you needed. baby References: [1]: https://github.com/typecraft-dev/shmux [2]: https://github.com/typecraft-dev
I like iximiuz’s [1] project awesome-container-tinkering [2]. List of awesome tools to tinker with containers. References: [1]: https://github.com/iximiuz [2]: https://github.com/iximiuz/awesome-container-tinkering