How to quickly run TUI programs via SSH

Very often, I want to run a command on a remote machine via SSH and leave it in a terminal in 1 corner of my screen whilst I work in another terminal on that same machine. Up until now, I've always SSHed into the machine in question and then run the command manually: [email protected]:~$ ssh [email protected] # ..... [email protected]:~$ sudo htop This is fine, but it takes a moment to connect & setu… Read more →

ESP32 powered webcam for 7 pounds

In my fingers above you can see something rather amazing. It’s an ESP32 powered webcam and it is priced at a stupidly low level. Mine arrived earlier this week and I’ve found a splendid howto that gets you started. You’ll need a serial interface to program the camera as it doesn’t have a usb connection. I used the one I got with some Arduino Pro-minis a while back. A couple of tips:make sure you u… Read more →

GitHub Two Factor Authentication with Microsoft Authenticator

I’ve just turned on Two Factor Authentication for GitHub. It occurred to me that seeing as how GitHub is now my “weapon of choice” for organising anything, and I can make my own private repositories, I should take some steps to keep them private. It’s actually very easy to do, once you have an app that can produce “Time Based On Time passwords” or TOTPS. I’m using Microsoft Authenticator. I figure… Read more →

Making bendy pipes with FreeCAD

Achievement unlocked. I now know how to make “bendy” things in FreeCAD. It’s actually not that hard once you work out what FreeCAD needs to know. Essentially you use one Sketch to define the path of the template and another (which should be at right angles to the path) to define the closed shape to be created. You can even add another closed shape at the end of the path and then have the shape smo… Read more →

Looping the rowing machine

I’m very proud of this. I’ve “rowed” nearly a 1,000 KM now. I bought the rowing machine a while back and I’m using it quite regularly now as a way of keeping less unfit that I might be. Read more →

Fixing recursive uploads with lftp: The tale of the rogue symbolic link

I've been setting up continuous deployment recently for an application I'm working on, and as part of this process I'm uploading the release with sftp, using a restricted user account that is both chrooted (though I use a subfolder of the home directory to be extra-sure) and doesn't have shell access. Since the application is written in PHP, I use composer to manage the server-side PHP library dep… Read more →

Crippled Hexabot

Ages ago (well, four years) I made a hexabot from a kit. Today I thought I’d get him out with a view of adding some sensors and an ESP32 to make him a bit more autonomous. He was a bit lame. Two of his servos had stopped moving. Fortunately I had some spares and so I set about getting him walking again. It didn’t go well. I broke a replacement servo finding its mid point and fitted the second one… Read more →


I’m not that keen on gardening. It seems to me that you can spend ages making the garden look nice and then, only a few years later, you have to do it all again. Sometimes it’s more frequent than that. The latest re-modelling involves the removal of stuff. I’m quite good at this, although I’m a bit of a blunt instrument and I’ve been known to generate a lot of “collateral damage”. Today I was care… Read more →

Happy Training Day

Robin and I have spent the day training folks on how to work with the Arduino. We had an attentive and engaged audience and a huge table with lots of hardware all over it and a pile of great food at one end.Good times. Read more →

Flickr Denial of Service Attack

So the Flickr app on my iPhone has just decided to forget my settings and then fail to send me the SMS to complete two factor authentication. Well played. Read more →