Weeknotes 231
30th November, 2025
βOn a rollβ
-
The replacement screen for which I raised a PayPal dispute was received and works, that’s the end of that particular saga.
-
Now that the coin batteries in my home automation devices are starting to run out, and after reading about that impressive project to build a sensor from scratch (which uses a AAA battery) I’m starting to realise that rechargeable AAA batteries may be the way forward, if possible. Coin batteries seem cheaper, but if you buy decent ones it adds up, and marketplaces seem full of junk.
-
Star Trek: U.S.S. Enterprise NCC-1701-Dβ’ - Christmas is coming, and if you need some ideas, I’m just saying.
-
The button on the speaker I fixed seems to be playing up again. I’ve yet to open it, but I’ve preemptively bought some right-angled switches (by eyeballing the photos, no science involved) because they were cheap and I’m already one switch down since the last repair.
-
My Kindle now has sshd. How else would you get epubs onto a Kindle? AMA π
-
Fungus gnats! I am so sick of these fuckers. My tunnel vision thought that they were coming from the plant pots themselves. As previously documented I sent in a nemotode army and installed sticky traps. Still they persisted. So I topped the soil with an anti-fungus gnat gravel. Still they came. Then I remembered that I had bags of compost in the understairs cupboard…
It was extremely obvious that this was the main source of the gnats once I went looking. There was a fungus gnat graveyard next to the bags, bodies everywhere. I’ve taped up the bags now. Every crevice they could get out of now covered in parcel tape. Now we wait π€
-
This is a cool concept. Turn your 3D printer into other kinds of machine like a plotter, laser cutter, etc.
-
Shortcut how have I lived without you π I added the ability for files to be deleted after upload. Such technology.
-
My car went back into the garage this week. A new battery, which isn’t bad as it’s pretty old now, and a unblocking of the rear washer jets was in order. The issue I’ve been having with the revs dropping whilst idling in traffic remains unsolved, but there is some suspicion that the timing chain is stretching and needs replacement. An expensive job, but not Audi dealer expensive, so there’s that. The mechanic didn’t seem too worried. Famous last words π¬
-
We’re an Air Fryer family now. Black Friday was the time to pounce on a deal, and pounce I did. I did my research, setup a Camel Camel Camel alert, and then I waited. I went against the grain and bought a Cosori model.
I was a skeptic, isn’t an air fryer just a small convection oven? Yes, yes it is, but I’m won over. The speed and easy clean up is a game changer. It’s undeniably too big for our worktop, so that might get boring fast.
-
I built one of those TouchID Trackpads I mentioned before. Early days but I’m pretty happy with it so far, although it’s too early to tell whether I will actually use it. I enjoyed the process though.

I expect to write up the build of this with photos (!) in a longer blog post so be sure to like and subscribe for that.
-
What you can get delivered to your door next day should constantly surprise us. We’re completely spoilt in a lot of ways. Conversely sometimes I’m shocked at how difficult it is to acquire certain things.
Now, this “thing” is a very particular headphone socket (SJ2-35954A-SMT-TR), sure, but it seems the only way to get this part at a reasonable price is to buy Β£50 pounds quid worth of them. I just want one. I’ve been here before and not sure I want re-visit.
-
What are you using those cameras for Jordan? To monitor my 3D printer of course, silly! When a long print is doing its thing I don’t want to confined to the house watching over it, checking for fires etc, so it’s nice to be able to take a quick look now and then.
So now I have both trained on the printer from different vantage points. I started off with a wider view of the whole setup. It seems nice to be able to see everything in case there’s some problems outside of the printer itself. The other, cheaper, camera is aimed firmly at the print bed itself using a 3D printed bracket (duh!).
Most 3D printing is about pimping out the 3D printer.
-
Speaking of which, I wanted to access those cameras on my Mac. The iOS app is very nice, but it’s more useful to have the camera streams running in the corner of my desktop instead whilst doing something else.
As I said before, the cameras can be accessed over RTSP, so it is just a matter of pulling those streams and arranging them into some sort of window. I didn’t want to expose these RTSP streams to the Internet particularly, but I do have Tailscale.
If you setup Subnet Routing in Tailscale you can access local devices which have an IP, but onto which you cannot install the Tailscale client. Once this is configured and you’re connected to your tailnet, you can access the device by it’s IP address as you would locally.
I setup my main file server machine at home as a Subnet Router as per the docs.
First I had to enable IP Forwarding in Linux like this:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf sudo sysctl -p /etc/sysctl.d/99-tailscale.confAnd then alter my Docker Compose config to “advertise” the routes:
tailscale: image: tailscale/tailscale:stable container_name: tailscale environment: - TS_STATE_DIR=/var/lib/tailscale - - TS_EXTRA_ARGS=--advertise-exit-node + - TS_ROUTES=192.168.0.0/24 + - TS_EXTRA_ARGS=--advertise-exit-node --accept-routes volumes: - /opt/appdata/tailscale:/var/lib/tailscale - /dev/net/tun:/dev/net/tunAnd re-create the container.
docker-compose up -d --force-recreate tailscaleOnce I’d done that I accepted the change in the web interface, and I could access the devices β
Then there was the issue of actually displaying the streams. Claude, my man, helped me out with this. I was sure there was some command line media player that could do this, but I was unsure of the options. I ended up using mpv which seems to be a modern replacement for mplayer which I used to use back in the day.
With a lot of back and forth I ended up with a nifty shell function which fires up the streams stacked vertically on top of each other, and that stays on top of other windows.
function 3dcams -d "Show my 3D printer cameras in a vertically stacked window" mpv \ --lavfi-complex='[vid1][vid2]vstack[vo]' \ --geometry=1280x0-0+0 \ --no-audio \ --msg-level=all=error \ --ontop \ $3D_PRINTER_CAM1_URL \ --external-file=$3D_PRINTER_CAM2_URL endThis isn’t yet battle-tested, but it works fairly well from what I can tell.
-
The Boxy Pixel GBA-SP Unhinged project I’ve been planning for a long time is also now complete. Blimey, I’m on a roll.

Isn’t she a beaut?! π
Again, expect more excruciating detail about this process at a later date.
-
I am looking forward to starting my Coffee Advent calendar tomorrow. I’m fun.