July 22, 2026
A running collection of JavaScript and Node.js footguns. First up: an internal function named process that shadowed Node's global, quietly making process.env undefined and crashing every config read with a misleading "Cannot read properties of undefined" error.
July 22, 2026
nvm-managed Node and systemd do not mix out of the box: services fail with a bare 'exit-code', npm and npx quietly run the wrong Node version, and logs go missing. Three fixes and a working unit template.
July 21, 2026
Five banner animations written in Lua and run in the browser by Fengari, drawing through a canvas API exposed as Lua globals — and what it takes to make a Node-targeted VM work client-side.
July 7, 2026
Six lines in my .bashrc prepend a blue chevron to my shell prompt for every level of ranger I have nested, so I always know how far down the rabbit hole goes. Plus how I captured the screenshots in a throwaway Docker container.

July 7, 2026
i3 only wires up 10 workspaces out of the box. Here's my mode-chaining trick from an old install, stretched from 30 workspaces to 100, plus the generator script that makes it reproducible on the next machine.
July 7, 2026
What's the most nutritionally dense smoothie that still tastes good? I turned 37 real recipes and USDA nutrition data into a fitness function, then optimized it with two from-scratch global optimizers that agreed with each other to the third decimal place.
July 4, 2026
A running log of self-inflicted computing disasters and the small settings that would have prevented them. Entry one: how a single xkill misclick closed every terminal I had open.
July 3, 2026
How I built a floating emoji picker in PyQt6 that labels i3 workspaces on the fly, and the non-obvious config change that keeps Alt+number working after you rename them.
July 2, 2026
There are some issues with "Conventional Commits" that have been left unaddressed. In this article I challenge this convention and propose my own.
June 20, 2026
I plan to log any issues I encounter in Arch and EndeavourOS in 2026 to this article in case my solutions are helpful for others.
July 2, 2022
An article I wrote in 2022 while learning the WASM bytecode specification