Latest Shots #

Dobby Looking Ominous
Dobby Looking Ominous
Washing The Agae Off The Sidewalk Overflow
washing the agae off the sidewalk overflow
Rewashing The Algae Off The Sidewalk F26
washing the slippery algae off the sidewalk where the sump pump keeps wet all the time.
Bike Ride In My Mando Shirt
Bike Ride in my Mando Shirt
Confident Cat On A Rail
Ginger has no fear
Friday Afternoon Americano At Work
Friday afternoon americano at work
Work in progress on hosting stl models in my homelab.
Second Sentinal Final Audience Wish
Second Sentinal Second Encounter

See all shots →

Latest Blog Posts #

Stl Text Lab Update

Stl Text Lab Update

I’m building out a set of tools for 3d printing. Things that I have not found out there yet, they may exist, they may not. The first was Posts tagged: caps, Now I’m taking the core of that project and starting a new one. Not sure if it counts as an update when I have had a lack of really posting about it. putting text on stl

Keys.waylonwalker.com

Today I got sick of my go to online keyboard tester not supporting holds and fighting an issue with holds on one of my boards, I vibed out a replacement. I did a bit of work with it to get it how I wanted. gpt5.4 still likes to make lots of cards and build readable sites with a reasonable width for reading, not full page apps. keyboard tester A keyboard tester that works for me, how I like it keys.waylonwalker.com The main feature is to be able to see when alt+key or shift+key is pressed, the keyboard tester was not able to do this. I tend to use keyboard tester a lot as I build a lot of weird keyboards so I suspect this one to get a lot of use and may grow over time, but for now it works good enough for me. I can already think of a whole list of features like supporting keycodes for js, pygame, zmk, qmk. But for now I’m just building what I need and not overcomplicating it. test commit

Malicious Aur Packages Jun 2026

Recent Arch linux vulnerabilities are a good reminder of a few things. AUR is not the official package repo The AUR is community driven AUR packages are not always safe The first thing I’m doing to stop myself from running any aur updates automatically is removing any arch helper. Currently the reported vulnerabilities are supply chain attacks limited to the aur, keep your arch system up do date, BUT do not update packages from the AUR right now. In fact I’m auditing my aur usage and removing anything I have not used in awhile. Here is a nice script I’m using to walk through my packages and get rid of things I installed and probably don’t need anymore. Supply chain attacks are getting real scary in 2026, maybe we should listen to Ginger Bill a bit closer.
1 min read

Prompt Seagulls

I was listening to @syntaxfm this morning and @wesbos said at 328s “The prompt seagulls are driving me nutty”. 100% hard agree Wes. Now I didnt just come off of a conference where they dropped fable 5. I’ve not logged into twitter in months, but I see it around work. prompt-seagulls “Prompt, PR-ompt, promt, PROMT” There is no such thing as magic Asking for the prompt as a first question here, is a clear sign you are looking for magic. What are the magical incantations I must pass to all master clanker to get it to do the things that I want. Wrong, there is no magic prompt to get impressive results, its people that know and understand their craft that get amazing results. They have taste. They have design in mind, They see what the end product should be. They are guiding the model to do what they want and are not surprised when they get it. prompt-seagulls “Prompt, PR-ompt, promt, PROMT” process No one is one shotting their work and kicking up their feet for the other 39 3/4 hours of the work week. Theres…
4 min read

agents are never done

Agentic coding has this nice trick of letting you bang out a project in an afternoon, something complex that would have take some real time to implement, not just some rounding error that can slip right in between the jira board. Then it will be perpetually never done. There will always be bugs and thorns rear their head up, new features no one ever thought of, and now no one really has to think much about beyond having the idea. This part of software engineering has always been here, its the root of the never complete 200 side projects. But now it feels like fuel has been poured on the fire, like we can get more done than ever. But we are tricking ourselves, these projects will never be “done”. There’s always more to add. Without feeling any of the pain of implementing it yourself, why not just keep adding new features forever. This is the mentality that is crushing me right now. It pulls at your token anxiety like crazy. You look at the usage board and you are almost cooked so you sw…
2 min read

See all blog posts →

Recent TIL #

I’m playing with omarchy on an old laptop and decided I want to share it with my kids without sharing what I also set up as my sudo password.

Lsblk -f

Look for the one labeled crypto_LUKS

Sudo cryptsetup luksChangeKey /dev/nvme0n1p2

Then you will be asked for your sudo password, previous full disk encryption password, then the new one twice.

Now my laptop can be shared without sharing my private sudo password.

First Find your usb disk. You should be able to identify it by size and name using lsblk.

lsblk -o NAME,SIZE,MODEL,TRAN,RM,MOUNTPOINTS

Here I see my good ol Trans-It Drive. It’s not fancy, it wasnt even at the time it was new, but I have it and it works. next we run the disk destroyer dd to copy raw bytes right on to the drive.

Warning

This is a full reformat of the drive, nothing on the drive will be recoverable afterwards. I keep this drive around as a boot disk and it just changes distro occasionally.

sudo dd if=~/Downloads/omarchy-4.0.1.iso of=/dev/sdb bs=4M status=progress conv=fsync

Note

Don’t forget the bs, the default block size is so slow it will take an eternity to copy a linux iso on to a boot drive.

Installing omarchy #

I wanted to give omarchy quatro a try, here is the session to get it.

~  NO PYTHON VENV SET  USING SYSTEM NVIM
❯ lsblk -o NAME,SIZE,MODEL,TRAN,RM,MOUNTPOINTS
NAME          SIZE MODEL                      TRAN   RM MOUNTPOINTS
sda         119.2G SAMSUNG MZNLN128HAHQ-000H1 sata    0 
├─sda1          1G                                    0 
└─sda2      118.2G                                    0 
sdb           7.6G Trans-It Drive             usb     1 
├─sdb1        5.8G                                    1 
└─sdb2         23M                                    1 
zram0        93.9G                                    0 [SWAP]
nvme0n1     931.5G Samsung SSD 980 1TB        nvme    0 
├─nvme0n1p1     1G                            nvme    0 /boot
└─nvme0n1p2 930.5G                            nvme    0 /var/log
                                                        /var/cache/pacman/pkg
                                                        /home
                                                        /

~  NO PYTHON VENV SET  USING SYSTEM NVIM
❯ sudo dd if=~/Downloads/omarchy-4.0.1.iso of=/dev/sdb bs=4M status=progress conv=fsync

Helix has got to have one of the easiest configurations. It is this easy to get the markata-go lsp in helix.

markata-go lsp setup --editor helix
# Helix languages.toml (usually ~/.config/helix/languages.toml)
[language-server.markata-go]
command = "markata-go"
args = ["lsp"]

[[language]]
name = "markdown"
language-servers = ["markata-go"]

I don’t run into windows file endings very often, so when I see little ^M’s all over your file, I think “shit I know what these are and cant remember” They represent the windows carriage return.

Linux vs Unix Line Endings #

The difference here is that Unix uses \n and Linux uses \r\n, going all the way back to the typewriter it represents the two keys that a typist would have to press to get a new line and return the carriage back to the beginning.

Vim/Neovim #

When I open up a file and see this garbage all over, its not cozy, I want them gone, I dont want them all over my editor. I’m not sure what this would look like on windows, I haven’t been able to afford a windows machine in years, but its gross on my machine.

131d6463-bcbb-4ee8-80aa-bb7355915eb9.webp

Remove them with a substitution command from normal mode.

:%s/\r//g

removing carriage returns with a substitution command

I ran into an issue where my pinentry was unable to connect, blocking me from doing commits. You can use this to continue signing commits.

export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye

printf test | gpg \
  --local-user 9A47900E81415D65C32C630066E2BF2B4190EFE4 \
  --pinentry-mode loopback \
  --sign >/dev/nul

I’ve been running fedora coreos on my home servers for awhile. I really liked the stability I got from bazzite, and have since enjoyed the stability of fedora coreos. Since it’s an immutable system I’ve never quite known if I need to reboot or not, and was unsure how to check for updates. Today I learned you can use rpm-ostree status to see if your fedora coreos system is up to date.

rpm-ostree status

For me it listed security advisories with a count of each severity unknown, low, moderate, and important.

This morning I had a machine crash on me and came back to an error.

Error

zsh: corrupt history file /home/u_walkews/.zsh_history

Dammit I don’t want to redo my shell history, I checked with a clanker and they came up with this solution using strings that only prints printable characters.

cp ~/.zsh_history ~/.zsh_history.bak
mv ~/.zsh_history ~/.zsh_history.corrupt
touch ~/.zsh_history
chmod 600 ~/.zsh_history
strings ~/.zsh_history.corrupt > ~/.zsh_history
chmod 600 ~/.zsh_history

Just give em the ol one eyed fighting Kirby

This is a vim substitution technique to capture the rest of the line as a capture group.

:'<,'>s/longhorn\(.*\)/longhorn\1-rwx

This one captures pesky optional " and places it back at the end if it found one.

:'<,'>s/longhorn\("\?\)\(.*\)/longhorn\2-rwx\1

!!! see-also

GLOSSARY_PROTECTED_52

See all TIL posts →