Software I wrote and run myself, on hardware I own. Some of it is a tool that does
a job, some of it is a game. What they have in common is that none of them phone
anywhere: no account, no subscription, nothing that can be withdrawn.
Several of these are one half of a pair. The CAM software designs machines; the
machines are on the Machines shelf. How each one went — including the
parts that went wrong — is in the Build log.
The Local CAM series tells the story of writing this. This page is the short version, for someone who might want to run it.
What it is CAM software plans the route a spinning cutter takes through a block of material, and how fast and how deep it goes at every point. That route is the toolpath. A post-processor turns it into G-code, the plain list of moves a CNC mill reads. This is a CAM program and a post-processor, written from scratch, that run on your own computer with no account and no connection.
...
A 2.5D destructible-terrain artillery game in the Scorched Earth / Pocket Tanks lineage, built in Godot and compiled to WebAssembly so it runs right here in the browser. Pick an angle and power, account for the wind, and carve chunks out of the voxel landscape until one tank is left standing. Player 2 is a computer opponent by default — press T on your turn to switch it to a second human for hotseat play.
...
A drawing-and-guessing game built like chess by mail. You draw a picture and give it a caption, then send it to your pen-pal — who sees only the drawing and has to guess the caption. Then they draw and caption their own and send it back, and you guess theirs. Turn-based and asynchronous, not a frantic real-time race: you play on your own time, and each caption stays hidden until the other person has taken their guess.
...
A web app for the paint lab. Measure a target color with an X-Rite spectrophotometer, store it as CIE L*a*b*, and PaintMatcher returns the closest existing recipe — plus an adjustment suggestion when the measured color misses the target.
Built on Flask + HTMX + SQLite. Closest-match ranking uses ΔE2000, the industry standard for paint and automotive finish work. Adjustment suggestions come from a linearised least-squares solve over Lab-space shift vectors per base colorant — good for the small tweaks that make up the common case.
...