You Wouldn't Steal a Boat

12 Jan 2025
3D-printed sign reading

A quick, tongue-in-cheek joke about the current absurdity surrounding the licensing of 3DBenchy, the until recently beloved de facto mascot of 3D printing. Available on MakerWorld (CC BY-NC-SA, of course).

Keyboard Tray and FreeCAD

4 Jan 2025
FreeCAD rendering of a monitor arm brace

Since going remote at the start of the pandemic, I’ve had a standing desk setup at home. Rather than an adjustable height desk, I kept my existing desk and put the monitor on a tall VESA mounting arm. Combined with this, I’ve used a variety of stands to sit on the desk and raise the keyboard and trackball to elbow height. These work fine, are a bit cumbersome to move out of the way when you want to use the desk at normal height. So, as a little holiday project, I decided to upgrade to an arm-mounted keyboard tray.

My initial plan was to mount this on the same pole as the monitor, but it ran into a snag — the arm I’d found was from different manufacturer, and was designed for a pole a few millimetres thicker. What I needed was a plastic sleeve, and as it happens I now have a way to make random plastic parts on demand. A few lines of OpenSCAD and twenty minutes of printing, and I had a simple sleeve to adapt the arm to the existing pole. Problem solved. Well, the first problem, anyway.

When I connected everything back up, it became rapidly apparent that the action of typing caused the monitor to wobble quite a bit. This would be annoying at the best of times, and even worse on video calls (as the camera is on top of the monitor). I reconfigured everything so that the keyboard was on a separate pole, but this didn’t solve the issue; both were attached to the desk, and the vibrations from typing still wobbled the screen to an unacceptable degree. Clearly more was needed.

Taking a step back and looking at it, I concluded that the best approach would be to add an additional brace attaching the top of the pole to the wall (the bottom remains fixed to the desk; I didn’t want to ditch the pole entirely as it allows the height of the keyboard to be adjusted). Again, the ability to make custom parts to the exact specifications needed saved the day — I’m starting to see that this will be a complete game changer for DIY jobs around the house.

I could have designed the brace in OpenSCAD, but I took the opportunity to try out FreeCAD. Where OpenSCAD is essentially a programming environment for Constructive Solid Geometry, FreeCAD is a lot closer to a traditional CAD system. Given my background and prior experience, I’d expect the former to be more natural, but to my surprise I found the latter to be a better fit for more complex designs. It’s early days, and I suspect that I’ll end up using both packages in different contexts, but from what I’ve seen so far the extra power and flexibility of FreeCAD is worthwhile even for a beginner like me.

This capability comes at the cost of complexity; my mental model of how FreeCAD actually works is very much a work in progress, and the UI is a mass of toolbars, views and states that I’m still groping around as if blindfolded. How much of this complexity is inherent to a “real” CAD package, and how much of it is due to shortcomings specific to FreeCAD, remains to be seen. I might take a look at Fusion 360 as a point of comparison, but its “free for hobbyists” license makes me wary of investing too much time into it, at least at this stage.

Back to the keyboard tray problem, I got a first version designed pleasingly quickly, but on printing it out realised that I’d based it on the measurements of the narrower pole and so the piece wouldn’t fit. Suitably chastened, I fixed the mistake, and while I was there added a few refinements like countersinking the screw holes and adding fillets. This time, I stopped the print after the first few layers to provide a piece that could physically confirm the sizing. It was spot on, so I printed the whole thing, and installed it.

I’m pleased to report that it worked like a charm — a rock solid keyboard tray arm, and no vibration of the monitor. It was a bit more of a roundabout route than originally intended, but I got there in the end, and learned some things along the way. I’ll call that a win.

Books of 2024

31 Dec 2024

I’ve always enjoyed reading, both fiction and non-fiction, and try to make time for it as much as I can. A few years ago I thought it would be nice to keep a record of what I’ve read, but I’ve never got on with reading-based social services such as GoodReads and BookWyrm. Hence, I decided to go for something more basic: for a while now, I’ve recorded what I’m reading, and when, in a simple Jekyll data file as part of this site. This is mainly for my own notes, but also helps generate the /now page. What’s more, now that I’ve been using the system for a full calendar year (I started mid-2023), I can use it to look back on what I’ve read over the last twelve months.

(The yellow bars indicate when I started and finished each book; the open ones are the end are for books I still have on the go.)

This year, the standout discovery was Nichola Griffith. I picked up Hild in January as it’s set in a part of the world with which I’m a little familiar, at an interesting period in history. Hild delivered on that, but more importantly it’s enormously evocative of a very alien period, has a plot that rattles along, and one of the best cast of characters I’ve read in a long while. A truly surprisingly bombshell dropped literally in the last couple of pages make the follow-up Menewood pretty much non-optional. I also read and enjoyed Griffith’s first novel, Ammonite, and will definitely be returning to her again.

I’ve also returned to a familiar author: William Gibson. He’s mostly know for his pioneering role in the development of cyberpunk, in particular Neuromancer and its sequels. The Bridge trilogy (Virtual Light, Idoru and All Tomorrow’s Parties) is less well known, but reading it for the first time I’ve been struck how many ideas that are real today — cybercrime franchises, social media, deep-fake sextortion — turn up pretty much fully-formed in fiction from a quarter-century ago. They’re also excellent books in their own right, and I’m very much looking forward to the concluding part of the Jackpot trilogy coming out (hopefully) in 2025.

Moving to non-fiction, The High Frontier and The New World on Mars was an interesting look at the arguments in favour of humanity moving beyond this planet, and made an good counterpoint to the more sceptical A City on Mars that I read at the and of last year (my brother was keen I got both sides of the picture). Rereading The Humane Interface provided an interesting perspective on the 40th anniversary of the Mac, and I’m working on-and-off through both Understanding Deep Learning and Google’s Site Reliability Engineering in the context of work. Both are available online for free if you’re interested in the subjects.

Overall, I’m glad I started recording what I’m reading, and have enjoyed taking the time to look back over it as I write this review. I think this might become an annual feature.


For reference, here’s a full 2024 list:

A Nerd Trifecta

30 Dec 2024

A little while ago, I came across a video that combines three of my current nerdish interests, namely retro computers, mechanical keyboards and 3D printing:

If you’re not already seen it, I highly recommend giving it the time. The sheer amount of effort and attention to detail that goes into the project is incredible. Note that this isn’t a restoration of an old machine, or a recreation of a classic with new parts. This is a Mac that never existed as anything more than a non-functional model. The Flat Mac could not have been made in 1984, due to the limitations of battery technology if nothing else, but it’s now in the world, albeit as a one-off.

Deck the Halls

24 Dec 2024
A holly garland featuring Mario's nemesis Bowser

I was listening to the youngest practice Christmas songs on the piano, and I had a terrible idea. In any case, Merry Christmas.

This site is maintained by me, Rob Hague. The opinions here are my own, and not those of my employer or anyone else. You can mail me at rob@rho.org.uk, and I'm @robhague@mas.to on Mastodon and robhague on Twitter. The site has a full-text RSS feed if you're so inclined.

Body text is set in Georgia or the nearest equivalent. Headings and other non-body text is set in Cooper Hewitt Light (© 2014 Cooper Hewitt Smithsonian Design Museum, and used under the SIL Open Font License). BBC BASIC code is set in FontStruction “Acorn Mode 1” by “p1.mark” (licensed under a Creative Commons Attribution Share Alike license).

All content © Rob Hague 2002-2025, except where otherwise noted.