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.
References:
[1]: https://stackoverflow.com/questions/75886276/text-cursor-bug-in-my-chrome-browser-that-causes-the-blinking-cursor-to-appear-e
Publishing rhythm
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
-
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
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
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.
References:
[1]: https://unix.stackexchange.com/questions/93531/what-is-stored-in-dev-pts-files-and-can-we-open-them
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.
References:
[1]: https://github.com/svenstaro/miniserve
Looking for inspiration? miniserve [1] by svenstaro [2].
🌟 For when you really just want to serve some files over HTTP right now!
References:
[1]: https://github.com/svenstaro/miniserve
[2]: https://github.com/svenstaro
pacman/Tips and tricks - ArchWiki
wiki.archlinux.org [1]
The arch wiki is always full of good content, and pacman tips and tricks does not disappoint. Today I discovered this command to remove orphaned dependencies on my system.
pacman -Qdtq | pacman -Rns -
References:
[1]: https://wiki.archlinux.org/title/pacman/Tips_and_tricks
Inside 22,734 Steam games
About a year ago I blogged about games that use curl. In that post I listed a bunch of well-known titles I knew use curl and there was a list of 136 additional games giving credit to curl. Kind of ...
daniel.haxx.se · daniel.haxx.se [1]
Interesting to see that curl is used in so many places. I often think of things like games being so windows centric and curl being so linux centric I don’t even think of these things crossing paths as much as they do.
References:
[1]: https://daniel.haxx.se/blog/2024/06/20/inside-22734-steam-games/
wcurl is here
Users tell us that remembering what curl options to use when they just want to download the contents of a URL is hard. This is one often repeated reason why some users reach for wget instead of cur...
daniel.haxx.se · daniel.haxx.se [1]
interesting, seems like such a simple way to completely remove the need of a whole other cli. No offense to anyone working on wget, but generally I use it out of lazyness or something wierd is happening and I am looking for a second opinion. Cool to know that wcurl exists and will start shipping with curl.
References:
[1]: https://daniel.haxx.se/blog/2024/07/03/wcurl-is-here/