I posted a short while ago about my first prototype “MagPuck” base magnetising jig, and how I had some ideas to improve it. Well, I have v2 completed, and have been testing it out over the last week or so, and I love it (mostly – there are some bits that need refined still)

V2 moves away from the solid block, and instead uses 3 plates layered on top of each other. These are secured using M3 bolts. The bottom layer is the base plate, and is for support. The middle layer holds the alignment magnet(s), and comes in 3 configurations: single, double, or quad magnets. The top layer holds the base in place, and there are plates for bases sized from 25mm right up to 50mm.

v2 plus additional plates

Using the MagPuck is really simple: drop in the base, apply glue roughly where the magnets are on the 2nd layer, drop in your basing magnets, optionally apply some activator, then pop the base out – then repeat. I can now magnetise 10 25mm bases in just a couple of minutes – significantly faster, and with much less fuss and mess than before. Here’s a short demonstration video:

So what could still be better? Well, getting the base out is still a little tricky; I’ve added the small indent to make this easier, but the magnet in the base and the magnet in the jig are naturally pulling towards each other, so it needs more force than I’d like. Not much, but I have sent a base flying off my table more than once! V1 had sloping sides that made this easier, but that limited base support to just GW bases, and was more fiddly to get everything modelled correctly, so is less than ideal. Perhaps making the indent wider an/or deeper will solve the problem?

A 3D printed prototype of my 'MagPuck' jig for adding magnets beneath wargaming bases. It is a grey plastic block with a recess for a base. At the bottom of the recess is a further recess which holds a 6mm x 2mm magnet. A small area has been carved away at the edge of the base recess to allow for levering the base out

One of the things I hoped to do when I bought my FDM 3D printer was to use it to solve small problems I was having. Today I designed and printed my first prototype. It’s not much to look at, but it is just the first iteration!

Glueing small magnets under the bases of miniatures is a common job I have to do, as it’s useful for storage, transportation, and adding some weight. Unfortunately, it’s a job that can be unnecessarily fiddly and messy. Getting the magnet to stay in place while the glue dries is a pain. Recently I hit upon a trick of using a magnet on the other side of the base to help with this issue, but making sure everything was in the right place could be made easier.

Enter what I’m nicknaming the “MagPuck” – a simple jig that will align a base with a magnet that ensures that the base magnet is held perfectly centred while glue dries. It’s simple but effective – with the prototype I was able to magnetise a batch of ten bases in just a minute or two.

No first attempt is perfect though – no doubt you’ve noticed where I had to carve out an indentation to let me lever out the base. The next iteration will have that built-in. Another change will be to make the MagPuck modular, so as to make it more efficient to print, while supporting multiple base sizes and magnet configuration. Below is a sneak peek at the next iteration, which I’ll be printing out as soon as the printer finishes some terrain I kicked off before I’d had my ideas on how to improve on the prototype.

A screenshot of some Laravel user authentication boilerplate code

The festive break seems to be one of the times I manage to sit down and try something new. This year I’m taking the time to learn a little of the PHP framework Laravel, by way of re-writing an app I made last year with React and Firebase. That app always felt a little fragile to me, even though it succeeded at its basic functions – probably why I haven’t gone back to update it at any point in the last year. In my defence, that app was a learning exercise too, as I wanted to brush up on React for my day job before starting on a project at the start of 2022.

But safe to say, I’m much more comfortable with “the old ways” of PHP. I’ve been writing PHP in one form or another for close to 25 years, and even though I wouldn’t ever call myself an expert due to my on-off usage of it over the last decade, I do still have the basics of the language in my head. I can follow along and debug most code I’ve encountered just fine. PHP 8.x is different enough that I definitely need to follow some tutorials to write it, but there’s still a lot I recognise. Laravel itself has a lot of similar concepts to frameworks I’ve used in the past, it just does them with modern practices and architecture. Again, lots I’m unfamiliar with, but plenty that I recognise.

Apart from making I Painted This! more robust and supportable (in my view), one of the primary drivers for this exercise – other than as a convenient excuse for learning – is that the app primarily uses Twitter for authentication. That’s not something I’m comfortable with any more, so it’s got to go – and if I needed to do that change, I’d be as well giving it a complete overhaul!

I ran into an issue last night where I couldn’t generate a new React application template using npx create-react-app my-app. Annoyingly, this was only broken in the WSL environment of my personal PC, where it had been a while since I’d had to use the command. On Windows, where I’d never run the command before, it worked fine. The error I received was:

You are running create-react-app 4.0.2, which is behind the latest release (5.0.0).
We no longer support global installation of Create React App.

This was odd, as I’d never globally installed create-react-app. Never the less, I followed the error’s suggested fix of running npm uninstall -g create-react-app. Unsurprisingly, it didn’t work. What followed was an hour of trying various other “fixes” from around the internet – update NPM/clear the NPM cache/update NPX… none of which worked for me.

In the end I resorted to fixing the issue through brute force – finding wherever this mystery instance of create-react-app was lurking and purging it from my system with good old rm. Using a combination of find and rm I found 2 places containing binaries. Removing these directly didn’t fix the problem either, but working my way further up the diectory tree to their common parent directory did.

As it turns out, I’d accidentally stumbled on the NPX cache, which is kept hidden away from the usual NPM cache. Mine was in a slightly odd place because I use NVM to manage my NodeJS versions, but you can find yours using npm config get cache, then looking for an _npx directory within the returned path. Delete the contents in there, and npx create-react-app my-app should start working again.

Or, to make it really easy, run npx clear-npx-cache.

https://videopress.com/v/5I9vn9Yj?resizeToParent=true&muted=true&persistVolume=false&preloadContent=metadata

This little 3-key KeyBow is a fun little project, that really doesn’t take much time or skill to complete. The whole thing slots onto a Raspberry Pi Zero, turning it into a mini controller. I’m planning to use mine for controlling Microsoft Teams calls.