I passed my Intermediate now 2E0YMV

After swatting hard, I passed my Intermediate earlier this month. A big shout out to Francis M0UKF, Lance 2E0YLD and the rest of the guys at https://www.oarc.uk (Online Amateur Radio Community M0OUK). These guys run a cracking Intermediate course. Just be prepared to put the time in, and you will prevail. 

I have now enrolled for the Full course with them, fingers crossed.

Click this link to join Online ARC a good bunch.


Posted in Amateur Radio | Comments Off on I passed my Intermediate now 2E0YMV

I am now a licensed radio amateur callsign : M7PVW

After nearly 30 years thinking about this, and then after a concerted effort about 20 years ago; I finally took the plunge and undertook the Foundation License. Now I’m working towards my Intermediate, so fingers crossed.

With the training and exams now being readily available online, it was a real no brainer. So a massive thanks to EssexHam for their online training course. They offer an a course over a number of weeks, or if you’re impatient (as I was) you can do a crash course.

The exam is also interesting, as the RSGB provide online invigilated exams. You setup a conference call with the invigilator, then load up and log-in to the exam software. It was quite surreal; I was pondering whether there was a typo in a question and the invigilator piped up and confirm my suspicions. Other than passing the exam; it was decidedly uneventful.

See yo on the air, 73

Posted in Amateur Radio | Comments Off on I am now a licensed radio amateur callsign : M7PVW

LEGO – Steamboat Willie

Having finally built LEGO batman cave, the release of LEGO Ideas Steamboat Willie, meant I need to build this too. 


And just in case you need a link to the original cartoon … 

Posted in Diary | Comments Off on LEGO – Steamboat Willie

DC Comics Super Heroes – LEGO Batman Cave

Having had this LEGO set, of the original DC Comics Bat Cave, for nearly two years. I finally found space to display it and so decided get it  built.

There are three stuctures to build;

  1. Wayne manor study, and entry to the Batman cave, including the lift
  2. Batcave Super computer
  3. Batcopter and landing pad, and park for Batmobile underneath

These structures can be connected together; with the super computer in the middle. The Wayne Manor study/batcave entrance and Batcopter/Batmobile car park can be on either side.

In addition to the locations; the set includes

  1. The Batmobile, The Batcopter and The Batbike
  2. Various tables, laboratory items from the Batcave.
  3. Original villains; Joker, Penguin, Riddler, 
  4. Original Batman and Robin
  5. Bruce Wayne, Dick Grayson and Alfred.

An excellent, albeit large set.

Posted in Diary | Comments Off on DC Comics Super Heroes – LEGO Batman Cave

Arduino Libraries uploaded to Github

I was introduced to blink and the Arduino ecosystem a few years ago, by a friend who was, at that time, building an engine management system for his kit car. Since then he’s moved on to building a car in a box, which is based on a Peugeot, and provides a platform that can be used to hack the multitude of computers that now make up a car. He has made extensive use of Arduino microprocessors to simulate and detect CAN bus messages in his pursuit.

In my earlier life I have developed realtime systems, and since my introduction to Arduino, it has often proven easier to simulate what I want to do, with an Espressif ESP8266 or ESP32 using the Arduino IDE, than to deploy to a RaspberryPi. (And ESP32 uses FreeRtos).

I have always meant to upload and share the code I write, the problem has always been to make it useful before doing so, which takes time.  Building code as part of a complex system, or hacking something together is not very useful.

I have now started uploading code from a couple of projects; Solar, Home Automation and something I’m currently looking at, managing a Bitcoin AntMiner.


ESP32_GetSolaxRealtimeData – monitors a Solax Inverter and controls remote power switches.

ESP8266_TimerPowerSwitch – a decentralised power switch system, using the SONOFF basic hardware (ESP8266).

Arduino Classes

SolaxInverter – monitors a Solax inverter.

AntminerS9 – monitors the status of an AntMiner S9.



Posted in Diary, Projects | Comments Off on Arduino Libraries uploaded to Github

Pipe Guy first person view

Posted in Music, Pipe Guy | Comments Off on Pipe Guy first person view

Flush DNS cache on MacOS

For most versions of OSX and macOS I have found the following works

sudo killall -HUP mDNSResponder

I have seen notes to indicate that 

dnscacheutil -flushcache 


discoveryutil udnsflushcaches

are needed for  Yosemite and older versions.

Thanks to: https://help.dreamhost.com/hc/en-us/articles/214981288-Flushing-your-DNS-cache-in-Mac-OS-X-and-Linux amongst other sites.

Posted in Apple, Hints and Tips | Comments Off on Flush DNS cache on MacOS

All your base are belong to us!

Posted in Stuff | Comments Off on All your base are belong to us!

Ubuntu Removing unwanted kernels

If you have ever struggled with Ubuntu Server and the /boot/partition being filled up as a result of ‘apt upgrades’ then I’m with you. 

For me until recently the process I use is as follows:

sudo apt update
sudo apt autoremove
sudo apt upgrade -y

Whilst autoremove gets rid of old Linux kernels, it will try to purge all but the latest two versions. However it won’t remove anything from version currently running. 

Previously I took the approach of running apt upgrade -y before the (reboot then) purge, but I have tended to run out of disk space in /boot/ due to the number of updates to the operating system. Hence adding apt autoremove before hand.

Whilst have a mooch around the system I discovered that the following file, controls which versions of Linux are permitted to be purged, during autoremove:


The file should not be manually edited, it is maintained by calling:

   sudo /etc/kernel/postinst.d/apt-auto-removal

So, whilst it doesn’t solve all the problems with disk space and running apt. The process I use for updating the system is as follows:

sudo apt update
sudo apt autoremove -y
sudo apt update -y
.. if all goes well and reboot the system ..
sudo /etc/kernel/postinst.d/apt-auto-removal
sudo apt autoremove -y

This leaves the system running from the latest version of Linux, and only the previous one left in the /boot/ partition.

One last thing, following the apt autoremove, sometimes I get asked to reboot the system one final time. I’m guessing that this is some final housekeeping that the system thinks it needs.

I hope that this has made some sense, and you’ve gained from it.

Posted in Hints and Tips, Linux | Comments Off on Ubuntu Removing unwanted kernels

Installing MySQL Server as a Docker image

For my PhD project I have elected to deploy a Mysql server to store data, but I don’t want to install it directly on my Mac. Various reasons for this but mainly as I need to be able remove it cleanly when I finished. I’ve used Docker before as it allows service daemons to be deployed and remove very easily – no worries about the correct versions of supporting libraries … bliss 

Unless you’ve got Docker installed on your computer then, you’ll need to download and install it. A lot has happened, politically, since I originally did this so I’m just going to refer to the download location that I tend to use: https://www.docker.com/community-edition

Follow your normal processes to download and install the software, and ensure that it is running.

When installing new containers; you ask Docker to run them, it checks to see if there is a local image and if not it downloads it. It then starts the image on your host computer. 

When installing the MySQL Server Docker I would not recommend running on the default port (3306) as it may get in the way if either you do install a full MySQL server on your computer or deploy multiple instances. In this example I will use port 6603 as I can easily remember it, I think that the default port used by the Docker installer, is 33060. 

To install I used the following:

$ docker run —name mysql -e MYSQL_USER=user -e MYSQL_PASSWORD=pass \
    -e MYSQL_DATABASE=db1 -p 6603:3306 -d mysql/mysql-server

This will download the latest Docker image for mysql/mysql-server, into the local repository. It will start up the instance, create the database ‘db1‘ and setup the user ‘user‘ with a password of ‘pass’. To access the server you need to either install the mysql client software, or a client application, and connect to TCP port 6603 (or whatever you selected, on ‘localhost‘ or ‘’. 

If you have SQL scripts I would suggest installing the command line version of MySQL client. That was my approach, but I would also suggest looking at an application, as they tend to let you tinker with the databases in a more intuitive way.

My preferred application is ‘Sequel Pro’ – it was easy to get used to and has the best combination of capabilities. That said, I did stuggle with creating SSL/TLS connections … 

Update: Sequel Pro has no support for ‘caching_sha2_password.so’, which appears to be the default in MySQL 8.0 and onwards. I have now switched to using TablePlus which does not have this restriction.

Posted in Apple, Diary, PhD | Comments Off on Installing MySQL Server as a Docker image