23 posts
Writing
Notes from whatever I am taking apart — Linux and NixOS, containers and systemd, Rust, and the edge.
USB Cable Testing on Linux
usbmon turns Wireshark into a cable tester, and finds retransmissions on cables that supposedly work.
· 2 minSecure Boot NixOS UKI Installer
A flake that builds a signed unified kernel image, for rescuing a Steam Deck locked out by Secure Boot.
· 3 minPodman Quadlets
Quadlets describe a container as a systemd unit, so systemd owns the lifecycle instead of Podman.
· 1 minEmail bot
Cloudflare email routing plus Workers AI: an inbox that answers its own mail.
· 2 minNixOS Flakes
What a flake actually is: inputs, outputs, and a NixOS configuration with every dependency pinned.
· 2 minCloudflare Workers Telegram Bot
A tour of the rewritten cf-workers-telegram-bot API for running a Telegram bot on Cloudflare Workers.
· 1 minSearch bar in Sveltekit
The fuzzy search on this site, built with fuse.js.
· 3 minAuth and Databases in Sveltekit
HTTP Basic Auth with a session cookie in SvelteKit, backed by Cloudflare D1.
· 1 minUsing Llama2 on Cloudflare Workers
Wiring Workers AI into a Telegram bot: the AI binding, the model call, and getting a reply back.
· 2 minUsing Ostree for file snapshots
Ostree is not just for Silverblue. Using it as a content-addressed snapshot store for your own files.
· 1 minFlatpak Mesa Git
Swapping the Flatpak Mesa runtime for mesa-git so a new AMD card stops falling back to software OpenGL.
· 2 minBTRFS RAID1 and how to fix it
Setting up a two-disk BTRFS RAID1 for a Steam library, and repairing it when a drive starts throwing errors.
· 2 minUsing any Linux Distribution with Flatpak
Flatpak makes the host distribution almost irrelevant, down to proprietary codecs and games on musl Alpine.
· 1 minFedora 8814au Kernel Module Compilation
Compiling the out-of-tree 8814au driver for an Alfa AC1900 on Fedora, kernel headers and all.
· 1 minUsing X11Docker for secure GUI applications
Running GUI applications like telegram-desktop inside a container with x11docker, xpra and Wayland.
· 1 minPodman Auto Updating Systemd Services
podman generate systemd plus an autoupdate label: containers that start on boot and update themselves.
· 2 minPodman crun and cgroups v2
Getting Podman onto cgroups v2 and crun on distributions that still default to cgroups v1 and runc.
· 2 minManaging State in React
useState, what triggers a re-render, and where React state should actually live.
· 2 minReact.js Card
Building a reusable, nestable card component while learning how React composition works.
· 2 minFedora Silverblue
Why an atomic rpm-ostree desktop stuck: updates that check out like git, and roll back the same way.
· 2 minAlpine Linux LBU
Alpine can commit changes back onto its own live ISO. Using LBU to build a persistent maintenance drive.
· 5 min2FA Everything
Moving a password store between pass and KeePass, and getting two YubiKeys to guard all of it.
· 2 minWebSockets in Rust
Part one of a Rust series: a WebSocket server built on the ws crate.