December Adventure Day 14
Photographic Dependencies
I’m trying to stick to daily write-ups of my December Adventure, meaning that I write about the less exciting days, as well as the more exciting ones. Day 14 falls firmly in latter camp.
I had hoped to hit the ground running by reinforcing the hinges of my Psion Series 3a with JB Weld, and later carefully opening my Toshiba Libretto 50CTs to remove their (hopefully non-leaky) backup batteries. Instead day 13’s write-up proved a slow one, and then I found myself trapped, deliberating how to photograph and film these tasks so I can document them.
I have been experimenting with a (very flimsy) lightweight tripod and my iPhone to capture top-down photos with very little success: the camera slowly sinks as the tripod really isn’t designed for this orientation; it’s hard to get good lighting; and the iPhone’s automatic exposure and magic colour-correction means images vary wildly. It’s also hard to keep the whole plane in focus when doing closeup work. (This really isn’t my area of expertise.)
The iPhone makes it incredibly challenging to maintain consistent exposure and color temperature
As I find myself working more and more on physical projects, I’d love to come up with a setup that I don’t need to think about. I plan to try Halide over the next few days in the hope that this will give me more control, and I’ve been noodling on a seemingly TikTok-focused tripod that’s essentially an anglepoise arm with a phone mount and ring light. Perhaps I can get into retro unboxings. 📦🙃
Amazon—🤢—sells near-identical social media ‘desk tripods’ by a seemingly infinite number of brands
December Adventure Day 13
Distractions and Maintenance
Having spent much of the past week of my December Adventure working on OpoLua, I decided it was time for a change. I again consulted the Organiser II lucky dip, which called for, ‘Series 3a hinge replacement’.
While this prompt is slightly incorrect (it should read ‘reinforcement’), it was nice to have something come up that isn’t purely software; a perfect change of pace for the weekend. There’s something incredibly cathartic and soothing about the process of maintenance, and I immediately found myself thinking of other tasks I’d also like to get to: I need to check the batteries in my Libretto 50CTs, finally get my Greaseweazle working, and tidy up my home rack a little.
While some readers will be disappointed that I didn’t immediately break out the JB Weld and launch into reinforcing my Series 3a’s hinges, I decided to pace myself and approach a few of these tasks over the course of the weekend, picking whichever spoke to me in the moment.
Greaseweazle
Like many folks who play around with retro hardware, I picked up a Greaseweazle some time ago to allow me to read whatever floppy disks I encounter in my travels. And (I suspect), like many, my Greaseweazle has been sitting in a box since I got it: I managed to buy a 3 ½" floppy drive, but failed to pick up any cables, and certainly didn’t start looking for a case.
Since I can’t do much with it until I have the appropriate cables, I ordered a power cable and floppy drive ribbon cable, and set about looking for a case to print. While I usually design parts for myself, I wanted to try a community design this time and, after some browsing, I selected this design by Dekkia, remixed from this one for earlier Greazeweazle models.
The case, designed in OpenSCAD, prints in two halves and ended up being a pretty good color match for my floppy drive, when printed using Bambu Labs’s Matte Bone White filament.
I regret not noticing that the design had been modified to remove the threaded inserts from the original, but thankfully I was able to drill out the holes and fit some I had lying around—the goal was not to produce something perfect, but something that helps me get the Greaseweazle up and running.
The top case with threaded inserts installed
With the threaded inserts installed, it was just a matter of screwing everything together and waiting for the cables to turn up.
Mini Patch Panels
I have a small home 4U rack that hosts—amongst other things—my Raspberry Pis in a UCTRONICS 1U rack bracket. This holds up to 4 Raspberry Pis on individual sleds:
Since I only need to use two of the sleds, I decided to replace the other ones with custom keystone-compatible blanking plates to allow me to manage the ethernet and USB cabling within this single 1U of space, obviating the need for a separate patch panel. I designed the prerequisite part, printed, and fitted it.
With these new mini patch panels in place (one serving each Pi), I now have a whole 1U of space to play around with for more adventures in the future.
I hope to publish these designs over the next few weeks. If you’re excited to get hold of them before then, please feel free to get in touch.
OpoLua
I couldn’t get through the day without making a couple of tweaks to OpoLua: I renamed the macOS Qt builds to ‘OpoLua Qt.app’ to allow them to live side-by-side with the Mac Catalyst versions, and I switched to using a pre-built version of Qt which cuts build times by about 55 minutes. 🏎️
December Adventure Day 12
Automating OpoLua Qt Builds
Continuing with Day 12 of my December Adventure, I decided to make the most of the little momentum I’ve built up around OpoLua over the past few days and continue working on Qt builds.
I had an outstanding branch with macOS Qt builds from the early days of development, so I cautiously cherry-picked the relevant changes to see if it still built. Much to my surprise, it did! I followed my usual pragmatic approach of hand-crafting a simple build script rather than trying to use any magic tooling; something I have found to be significantly more maintainable over the lifetime of a project. You can check out the full change here if you’re curious.
At this early stage, I’m making no attempt to publish the binaries—we need to update the OpoLua license to conform to Qt’s requirements around statically linking before we can do that. For the time being this will help give us greater confidence that we’re not breaking things, and allow us to test our work.
Having broken the back of—at least—the macOS Qt builds, I found my thoughts returning to the incredibly absurd and unsustainable situation we’ve found ourselves in: centralized web-based infrastructure, lock-in, spiralling service prices, aggressive deployment of unproven AI, inflation, and skyrocketing consumer hardware prices. These trends concern me, and I’m worried that, even though I try to build open tooling, by targeting closed platforms like macOS and iOS, I play a part in perpetuating this imbalance.