Ansible Galaxy
galaxy.ansible.com [1]
Great examples for working with s3 buckets with ansible.
References:
[1]: https://galaxy.ansible.com/ui/repo/published/amazon/aws/content/module/s3_bucket/#examples
Thoughts
Link based "commentary" style posts, commenting on a web link
Publishing rhythm
Using OPNsense with Tailscale · Tailscale Docs
Set up a Tailscale VPN on OPNsense. Get secure communication across your devices without the need for complex configuration.
Tailscale · tailscale.com [1]
On reboot of my opnsense router it did not tailscale up. I’m not sure if a key expired or what happened. The fix was to first enable ssh, then ssh in and run tailscale up.
enable ssh # [2]
In opnsense System > Settings > Administration > Secure Shell > Enable Secure Shell
tailscale up # [3]
ssh <opnsense ip>
8 # to select shell
tailscale up
Follow the link to log in.
disable ssh # [4]
now uncheck secure shell to lock down the opnsense machine.
In opnsense System > Settings > Administration > Secure Shell > Enable Secure Shell
References:
[1]: https://tailscale.com/kb/1097/install-opnsense
[2]: #enable-ssh
[3]: #tailscale-up
[4]: #disable-ssh
Fitting two hard drives and an SSD in a Dell OptiPlex 7010 SFF
The Dell OptiPlex 7010 SFF officially only has room for one 2.5" hard drive internally, I fitted two 3.25" hard drives and a 2.5" SSD in one.
willj.net [1]
This guy fit 2 3.5" drives and an sdd in a dell 7050 SFF. It looks tight, and there it probably not much airflow running in it, but its an impressive project.
References:
[1]: https://willj.net/posts/fitting-two-hard-drives-and-an-ssd-in-a-dell-optiplex-7010-usff/
How To Fix An Office Chair Popping Noise? With Root Causes
If you hear a popping noise from under your office chair when you move around or when you spin it, it’s time to repair your office chair. Read more.
ToErgonomics · toergonomics.com [1]
I tried this fix on my secretlabs chair, but unfortunately it did nothing for me. Mine ended up being an issue in the tilt mechanism and not the hydraulic piston. I greased the crap out of it, it can only help the longevity. I did notice that the two washers on either side of my bearing were quite worn in.
References:
[1]: https://toergonomics.com/office-chair-popping-noise/
Reddit
reddit.com [1]
This is definitely happening to my secretlabs chair. I did the fix this morning, its still not perfect, but it’s better now than it has been in a long time. Mine use to be so bad that it would pop and creak every time I sat down or moved the smallest bit. It’s now quiet through the mid range of its motion with the occasional pop when I sit down.
References:
[1]: https://www.reddit.com/r/secretlab/comments/s6ayop/if_anyone_else_is_having_sound_clicking_with/
[1]@changelog [1]) on X — 🗣️@dhh on Kubernetes' migration pitch:
“Oh, we’re on Amazon? Flip the switch, George! Let’s move over to GCP.”
Vs reality:
"Flip the switch, George! We’ll start having the meetings about the meetings about how we can move out four years from now."" loading=“lazy”>
Changelog (@changelog [2]) on X
🗣️@dhh on Kubernetes' migration pitch:
“Oh, we’re on Amazon? Flip the switch, George! Let’s move over to GCP.”
Vs reality:
"Flip the switch, George! We’ll start having the meetin…
X (formerly Twitter) · x.com
switching cloud providers, theres no easy way. K8s was supposed to get us there, haha, the deep integrations with each vendor just keep locking us in
References:
[1]: https://x.com/changelog/status/1860697708463378497
[2]: https://changelog.com/podcast
-
Dang, love this guys branding. Hooks to get stuff offDaBench, what a freaking cool name.
-
This is a really amazing documentary of argocd. I got into k8s pretty late in the game. Which is pretty typical for me. As I went to use k8s for the first time i was using workflows, then cd. both of these tools had a level of polish that made them seem like they had been there forever and not quite as young as they actually are.
I thought it was interesting how they focused on how the name must be two syllables or less, start with a or b, logo needs to be cutesy funny and recognizable seemed interesting, but puts them at the top of lists and makes them look like they’ve been there forever.
External Link
containers.github.io [1]
bootc is the underlying technology that enables OS’s like bazzite, and Aurora from the uBlue ecosystem.
References:
[1]: https://containers.github.io/bootc/
[1]
A new completion plugin that I might give a try. Readme makes it sound like its built on some fast teck that allows them to handle a lot of items and run more frequently. The videos look like they don’t have some of the same issues cmp does for me. Maybe its my configuration, but I’m pretty sure it does not update when you backspace and things like that.
References:
[1]: /static/https://github.com/Saghen/blink.cmp
Wes Bos (@wesbos) on X
CSS Anchors: flip a tooltip to the bottom when it goes offscreen
X (formerly Twitter) · x.com [1]
These css anchors are crazy that you can do this with html [2] and not a bunch of js, probably requiring a library or framework.
[3]
References:
[1]: https://x.com/wesbos/status/1856724739336859713
[2]: /html/
[3]: https://x.com/i/status/1856724739336859713
External Link
cdn.statically.io [1]
Staically makes creating OG [2] images so easy, you can just pop this in your section with some og tags.
<meta name="og:image" name="og:image"
content="https://cdn.statically.io/og/{{post.title}}" />
<meta name="twitter:image" name="twitter:image"
content="https://cdn.statically.io/og/{{post.title}}" />
<meta name="og:image:height" content="640" />
<meta name="og:image:width" content="1280" />
References:
[1]: https://cdn.statically.io/og/statically%20makes%20OG%20images%20**easy**
[2]: /og/
E576: Error while reading ShaDa file: there is an item at position 270498 that must not be there: Missing itemsare for internal uses only · Issue #6875 · neovim/neovim
v0.2.0 Vim 8.0 works well. macOS Sierra 10.12.5 (16F73) iTerm2 v3.0.15 $TERM: screen-256color Actual behaviour When I start neovim by nvim, it prints an error message which is E576: Error while rea...
GitHub · github.com [1]
I hit an interesting error after updating my nvim plugins today. I’m sti not even quite sure what a ShaDa file is, but I found min in my nvim state directory, unlike this issue that mentions it being in share.
The Error.
Error while reading ShaDa file:
The Fix
mv ~/.local/state/nvim/shada/main.shada ~/.local/state/nvim/shada/main.shada.bak
References:
[1]: https://github.com/neovim/neovim/issues/6875
Production-ready Python Docker Containers with uv
Starting with 0.3.0, Astral’s uv brought many great features, including support for cross-platform lock files uv.lock. Together with subsequent fixes, it has become Python’s finest workflow too...
Hynek Schlawack · hynek.me [1]
Hynek has a sick dockerfile setup for using uv in python projects.
References:
[1]: https://hynek.me/articles/docker-uv/
Proper handling of None in WHERE condition · Issue #109 · fastapi/sqlmodel
First Check I added a very descriptive title to this issue. I used the GitHub search to find a similar issue and didn't find it. I searched the SQLModel documentation, with the integrated search. I...
GitHub · github.com [1]
SQLModel models ship with an is_, and is_not that you can use to compare to None without pesky linters complaining.
This comment summed it up quite well.
I believe this is concerned entirely with SQLAlchemy, not with SQLModel, and has to do with the required semantics to construct a BinaryExpression object.
Hero.age == None evaluates to a BinaryExpression object which is eventually used to construct the SQL query that the SQLAlchemy engine issues to your DBMS.
Hero.age is None evaluates to False immediately, and not a BinaryExpression, which short-circuits the query no matter the value of age in a row.
From a cursory search, it does not seem that the is operator can be overridden in Python. This could help explain why the only possibility is by using the == operator, which can be overridden.
so rather than using Team.heros == None we can use Team.seros.is_(None) which checks for...
External Link
printables.com [1]
Non Gridfinity Rugged boxes
References:
[1]: https://www.printables.com/model/637028-rugged-storage-box-parametric-and-customizable
External Link
printables.com [1]
gridfinity rugged box openscad
References:
[1]: https://www.printables.com/model/757297-gridfinity-rugged-storage-box-parametric-and-custo/files
Provider List - The Cluster API Book
cluster-api.sigs.k8s.io [1]
Cluster API book
References:
[1]: https://cluster-api.sigs.k8s.io/reference/providers
Gridfinity Generator
gridfinity.perplexinglabs.com [1]
Gridfinity generator uses open scad, so you can make rugged boxes, bins and base plates with form input. not fully custom fit to things, but you can custom size square bins, hole cut out sides and all. From what I can tell, no bento box either. so as long as what you are looking for is square this generator has you pretty well covered. I’m definitely using this for simple bins and rugged boxes.
References:
[1]: https://gridfinity.perplexinglabs.com/pr/gridfinity-extended/0/0
External Link
printables.com [1]
The BethDeck is a sick looking DIY steam deck competitor built on top of the framework 13" mainboard. No soldering needed, lt with all off the shelf parts. Controllers appear to be an off the shelf controller with the shell removed and plugged into a usb hub.
[2]
References:
[1]: https://www.printables.com/model/1051411-framework-portable-handheld-case-beth-deck
[2]: https://media.printables.com/media/prints/1051411/images/7965723_09c13004-58b9-4868-b078-e3a66073d740_3b514c55-bb6b-4448-a216-842d7de48955/thumbs/inside/1600x1200/jpg/pxl_20240910_005549812.webp
-
I really like how Spencer walked through how to make quite a few unique setups with only a few simple obstacles. It does not take anything fancy to have a cool setup.
Document how to provide a negative number as an argument · fastapi typer · Discussion #798
First Check I added a very descriptive title here. I used the GitHub search to find a similar question and didn't find it. I searched the Typer documentation, with the integrated search. I already ...
GitHub · github.com [1]
Today I learned that you cannot pass negative integers as values to typer. in this case context_settings={"ignore_unknown_options": True} is required so that the - does not look like a flag.
# script name: main.py
import typer
app = typer.Typer()
@app.command()
def failing(value: float):
print(f"{value=}")
@app.command(
context_settings={"ignore_unknown_options": True}
)
def working_good(value: float):
print(f"{value=}")
if __name__ == "__main__":
app()
References:
[1]: https://github.com/fastapi/typer/discussions/798
Aaron Francis (@aarondfrancis) on X
📣 We're excited to announce Mastering Postgres, a video course coming October 15th.
@steve_tenuto and I started this business with dreams to improve the quality of database education.
With the…
X (formerly Twitter) · x.com [1]
Aaron Francis is a database master, pumped for thsi dude and all that he is able to accomplish.
References:
[1]: https://x.com/aarondfrancis/status/1833533150674268469
[1]@willmcgugan [1]) on X — New Version of #Textual released! 😎🤓🦾
The demo has been updated. It's not quite finished, expect an update next release, but it is a lot of fun.
Press C at any point to see the code powering that page (makes a great learning tool).
Video 👇
https://t.co/p2ScsuL7GZ" [2] loading=“lazy”>
Will McGugan (@willmcgugan [3]) on X
New Version of #Textual released! 😎🤓🦾
The demo has been updated. It's not quite finished, expect an update next release, but it is a lot of fun.
Press C at any point to see the code pow…
X (formerly Twitter) · x.com
This new demo of textual is wildly awesome, so many widgets and features being added into the main library. The themes and animations are on point and far surpass my expectations of a tui.
References:
[1]: https://x.com/willmcgugan/status/1849831271289012463
[2]: https://t.co/p2ScsuL7GZ%22
[3]: https://willmcgugan.github.io
ticklemykeys (@XTicklemykeys) on X
Porta john got some pink caps
X (formerly Twitter) · x.com [1]
Loving this 6 pink with blueforward multicolor combo the porta john has going right now. Also my son printed me a cute black pumpkin.
References:
[1]: https://x.com/XTicklemykeys/status/1850361138791195069
Reddit
reddit.com [1]
ploopy just dropped a trackpad that runs qmk. This sounds so cool. I’m excited to see some videos on it. It would be sick to get this incorporated into a porta john running zmk, one bluetooth device to run all the peripherals.
References:
[1]: https://www.reddit.com/r/ErgoMechKeyboards/comments/1g5phts/not_a_split_keyboard_but_perhaps_a_companion_to/
[1]
Zulip was just featured on a changelog clip as a self-hosted [2] chat offering. I’m interested to give this a go and see how it compares to matrix. glancing at it, it looks a lot like slack.
References:
[1]: /static/https://zulip.readthedocs.io/en/stable/production/install.html
[2]: /self-host/
Pin versions of dependencies · Issue #2200 · Kozea/WeasyPrint
Stack trace: pdf = HTML(file_obj=html, base_url='/').write_pdf() File "/service/venv/lib/python3.9/site-packages/weasyprint/__init__.py", line 252, in write_pdf self.render(font_config, counter_sty...
GitHub · github.com [1]
weazyprint was throwing me some errors, turns out that it’s currently not compatible with the latest pydyf package.
my error
TypeError: __init__() takes 1 positional argument but 3 were give
I fixed it by locking in pydyf at 0.8.0
pydyf==0.8.0
References:
[1]: https://github.com/Kozea/WeasyPrint/issues/2200
These are SICK, gonna be using this a lot. (Thanks @evantravers 🥰.) · jesseleite/dotfiles@4979400
My dotfiles 💾. Contribute to jesseleite/dotfiles development by creating an account on GitHub.
GitHub · github.com [1]
helix inspired treesitter select outwards and select inwards.
References:
[1]: https://github.com/jesseleite/dotfiles/commit/49794006cbc9dc0e743925ec1a7122514d7148be
add helix · WaylonWalker/devtainer@71b9b29
🐳 (dotfiles) My personal development docker container base image - add helix · WaylonWalker/devtainer@71b9b29
GitHub · github.com [1]
Helix officially made it in my devtainer. I am installing the binary right out of the github release with wget and tar. I can’t use installer because their release format does not match what installer is looking for.
:
I also move the runtime over to /usr/local/share/helix/runtime.
:
I use /usr/local/bin rather than my home directory as it works better with distrobox.
References:
[1]: https://github.com/WaylonWalker/devtainer/commit/71b9b29baf14f3714601d022ca12c3417437395b
[1]
Here are some really great keybinds to make helix vim-like. It feels very antithetical to use this whole sale and forego the helix motion-verb language, but there are some nuggets like G in here that I find useful.
References:
[1]: /static/https://github.com/LGUG2Z/helix-vim/blob/master/config.toml
Support regex substitution command · Issue #2232 · helix-editor/helix
Support regex substitution, comparable to vim :s or VSCode search & replace. I propose supporting regex replacements for selection s, files/, and the workspace scopes + /. This could be acc...
GitHub · github.com [1]
helix multicursor has the ability to do what vims :s/hello/world/gc does by using ) to cycle through cursors, and n to discard unwanted cursors.
References:
[1]: https://github.com/helix-editor/helix/issues/2232#issuecomment-1250371051
Support regex substitution command · Issue #2232 · helix-editor/helix
Support regex substitution, comparable to vim :s or VSCode search & replace. I propose supporting regex replacements for selection s, files/, and the workspace scopes + /. This could be acc...
GitHub · github.com [1]
Here is a really good vim substitute with regex capture groups, saving this one for a rainy day.
* Reading 1: This is a title to a link
* Reading 2: This is another title
:%s/\v(: )(.+)$/\1\[\2\]\(
* Reading 1: [This is a title to a link](
* Reading 2: [This is another title](
References:
[1]: https://github.com/helix-editor/helix/issues/2232#issuecomment-1228632218
Support regex substitution command · Issue #2232 · helix-editor/helix
Support regex substitution, comparable to vim :s or VSCode search & replace. I propose supporting regex replacements for selection s, files/, and the workspace scopes + /. This could be acc...
GitHub · github.com [1]
Interesting take on refactoring the whole codebase from your editor. In this thread the-mikedavis suggests multicursor as a replacement for substitute, and later in the thread takes the side that larger workspace wide edits are outside the scope of helix and he would reach for a refactoring tool like fastmod [2] to do the job.
References:
[1]: https://github.com/helix-editor/helix/issues/2232#issuecomment-1107644740
[2]: https://github.com/facebookincubator/fastmod?tab=readme-ov-file
Support regex substitution command · Issue #2232 · helix-editor/helix
Support regex substitution, comparable to vim :s or VSCode search & replace. I propose supporting regex replacements for selection s, files/, and the workspace scopes + /. This could be acc...
GitHub · github.com [1]
I am a heavy user off substitutions in vim, helix does not substitutions built in, rather it leans on multicursor support.
to replace every instance of hello with world in vim
:%s/hello/world/g<CR>
and in helix you would
%shello<CR>cworld<ESC>,
References:
[1]: https://github.com/helix-editor/helix/issues/2232
Background Image | Wallpaper · Issue #3059 · helix-editor/helix
Describe your feature request Hey ! It'd be cool to have the ability to set a background-image on supported terminals (like kitty). Like on IntelliJ: Here is an example of what it'd be on helix:
GitHub · github.com [1]
How to make helix themes transparent. You can make any built-in theme transparent in helix with one line, a few extras and you can make all the pop ups, help menus and status line trransparant as well.
mkdir -p ~/.config/helix/themes
hx
:o ~/.config/helix/themes/dracula_transparant.toml
# ~/.config/helix/themes/dracula_transparant.toml
inherits = "dracula"
"ui.background" = { fg = "foreground" }
"ui.menu" = { fg = "white" }
"ui.popup" = { fg = "white" }
"ui.window" = { fg = "white" }
"ui.help" = { fg = "light-gray" }
"ui.statusline" = { fg = "gray" }
"ui.statusline.inactive" = { fg = "black" }
:config-edit
# ~/.config/helix/config.toml
theme="dracula_transparant"
References:
[1]: https://github.com/helix-editor/helix/issues/3059
Reddit
reddit.com [1]
This post shows how to set up multiple LSP’s in helix, the example uses pyright and ruff-lsp for python.
Add this to your ~/.config/helix/languages.toml
a
[[language]]
name = "python"
auto-format = true
language-servers = [
{name = "pyright"},
{name = "ruff-lsp"},
]
[language-server.pyright]
command = "pyright-langserver"
args = ["--stdio"]
config = {}
[language-server.ruff-lsp]
command = "ruff-lsp"
args = []
config = {}
References:
[1]: https://www.reddit.com/r/HelixEditor/comments/17gglgm/help_on_setting_up_ruff_formatter_ruff_pyright/
configuring pylsp · helix-editor helix · Discussion #6623
Hi, I'm trying to make some modifications to the default pylsp settings as I do not strictly follow PEP in my personal projects. I googled some examples but I cannot get them to work, so I am wonde...
GitHub · github.com [1]
How to set your python formatter to black with helix. The following snippet lays out how to set the helix editor to auto-format on save with the black formatter.
[[language]]
name = "python"
language-servers = ["pylsp"]
[language-server.pylsp.config.pylsp]
plugins.pyls_mypy.enabled = true
plugins.pyls_mypy.live_mode = true
plugins.flake8.maxLineLength = 88
plugins.pycodestyle.maxLineLength = 88
[language.formatter]
command = "black"
args = ["--line-length", "88", "--quiet", "-"]
References:
[1]: https://github.com/helix-editor/helix/discussions/6623
Database Remote-Copy Tool For SQLite (draft)
Neat new SQLite utilities often show up in branches of the SQLite repository. Here's a new one from last month: sqlite3-rsync, providing tools for efficiently creating and updating copies of …
Simon Willison’s Weblog · simonwillison.net [1]
Simon shared a really cool new utility tool for sqlite ispired by rsync. It checks hashes of each sqlite page and syncs pages. So if nothing in the database has changed it will only require 0.5% the bandwidth as a copy would.
References:
[1]: https://simonwillison.net/2024/Oct/4/sqlite-rsync/
ticklemykeys (@XTicklemykeys) on X
working on a new model.
seams less visible
hotswap
more room for build
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.
References:
[1]: https://x.com/XTicklemykeys/status/1840104423508312273
Dr. Elvim Ransom 👽 (@jesseleite85) on X
Help, I'm being Helix pilled by my own friends!
X (formerly Twitter) · x.com [1]
Is Jesse going to get sniped by the helix community?
References:
[1]: https://x.com/jesseleite85/status/1841547565575086448
ticklemykeys (@XTicklemykeys) on X
New cap of my own design
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.
References:
[1]: https://x.com/XTicklemykeys/status/1841646323939864871
ticklemykeys (@XTicklemykeys) on X
Full size MX caps, printing flawlessly with minimal cleanup required.
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.
References:
[1]: https://x.com/XTicklemykeys/status/1841860763960377732
[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.
References:
[1]: /static/https://telcontar.net/KBK/Cherry/images/MX/Cherry_8_mm_mount.svgz
[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!
References:
[1]: https://github.com/urob/zmk-config?tab=readme-ov-file
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;
References:
[1]: https://github.com/WaylonWalker/devtainer/commit/2e4c6da537f5672209d1b3922fad754190aef938#diff-38878343c551520f8af2a3986e5f6085b03df197a56a92abc42a44b200f0264aR19
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 .
References:
[1]: https://tailscale.com/kb/1106/taildrop?tab=linux
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.
References:
[1]: https://github.com/triliu/Heawood42
[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.
References:
[1]: /static/https://kbd.news/Leveret-v2-lever-keycaps-2380.html