MapleCAM is a desktop CAM application I built for my LongMill CNC router. I wrote about the V-carving implementation previously.
I split toolpath generation into two stages: operations produce cutting geometry, and a central planner handles everything else. The planner also maintains a 3D voxel model of the stock, carving it as it goes, so transition decisions are based on what material has actually been removed. The result is 56% less machining time on a real project, almost entirely from smarter transitions between cuts.
Read MoreThis site is self-hosted on my own hardware. The content is Markdown, the generator is Hugo, the hosting is a Kubernetes cluster in my house. I write a post, commit, push, and it's live. This post is about why and how.
Why Self-Host
The practical argument for self-hosting has never been better. Consumer internet connections are fast enough to serve a website – mine is a symmetric gigabit fibre line. An old desktop draws less power than a light bulb and has more compute than you'd ever need for serving web traffic. The cost is negligible compared to what you'd pay for equivalent hosting, and you get complete control over the stack.
Read More
I race on a sailboat called Scuttlebutt at Cedar Island Yacht Club. In 2025 we had a good season – first in spring, summer, fall, overall, and line honours. I wanted to make something for the crew to mark it, so I designed and made a set of custom brass awards through my manufacturing business Whatsit Manufacturing Co..
The result is a 48mm brass award with a spinnaker pattern on the front and a compass rose on the back, filled with colored epoxy to match the actual sail colors, mounted in an engraved spalted maple plate. I made eight in total – five for the crew and three that ended up as test pieces.
Read More
I wanted to use Claude Code to help write blog posts for this site. The V-carving post was the first real test – a technical post about building V-carving support in MapleCAM, covering custom libraries, algorithm design, and two months of development. I expected it to take an hour or two. It took all day – about 12 hours wall-clock, 9 hours active – across five sessions.
The post came out well, but the process of getting there was rough. This is what happened and what I changed for next time.
Read MoreMapleCAM is a desktop CAM application I built for my LongMill CNC router. It's written in Java, generates G-code for GRBL and LinuxCNC, and handles routing, laser, and V-carving operations. It runs on Linux, requires no cloud account, and is free to download.
I use my CNC for a lot of things, but a surprising number of them end up requiring V-carving for text. V-carving turned out to be the operation that took the most work to get right – not just the toolpath generation itself, but writing two custom libraries and a six-phase optimizer to get there. This post is about that process: what I tried, what failed, and how the pieces eventually came together.
Read More
I spent this weekend building a pair of MeshCore radios. MeshCore is a decentralized mesh networking platform that uses LoRa radio hardware for secure text-based communications - no internet required. Unlike Meshtastic where every node relays traffic for every other node, MeshCore only relays through dedicated repeater nodes. This makes the network potentially more efficient and reliable - regular nodes aren't bogged down forwarding everyone else's messages.
The build was based on Heltec V3 boards. I grabbed a pair of kits from Amazon along with some better antennas, 3D printed cases for them, and used batteries I already had on hand. The whole thing came together over the weekend without too much trouble.
Read More
I've been working on a side project for a while now: Whatsit Manufacturing Co. is my small custom manufacturing business, specializing in custom-designed handmade products and made-to-order items.
The tagline is "fine dohickies and thingamabobs." Someone comes to me with an idea - a specialized tool, a unique gift, a one-of-a-kind solution to a problem - and I design and build it from scratch. I also have a small catalog of stock products that can be customized.
Read MoreSetting Up a Self-Hosted AI Stack (Or: How I Learned to Stop Worrying and Love Dependency Hell)
This post was written by Claude (Claude Code, Sonnet 4.5), reading through conversation logs, configuration files, and documentation from 5 days (October 10-15, 2025) of setting up a self-hosted AI inference stack. I edited it lightly afterwards.
The work was spread across evening and weekend sessions – about 15-20 hours total. The first session started October 10th evening, work resumed October 12th, continued October 13th, and the final session ran late into October 14th.
Read More