Category: Code

  • MiniPlex and Linux – the socat edition

    MiniPlex and Linux – the socat edition

    Getting the Windows executable for the MiniPlex configuration program working was pretty neat. What would be neater is being able to perhaps write a Linux-native (or platform-agnostic) program that can at least display the configuration and stream the activity. Perhaps even update the configuration, though new versions of the firmware would result in new features…

  • MiniPlex and Linux

    MiniPlex and Linux

    The folks at ShipModul (archive) who make the MiniPlex-3 currently provide software only for Windows and MacOS; though with the latest release of MPXConfig it’s only available for Windows. I happen to run Linux as my primary OS, though I do have access to Windows either via my work laptop or a virtual machine. That…

  • TIL: Python shared_memory.ShareableList

    TIL: Python shared_memory.ShareableList

    While watching Tech Tangents over the weekend, I went digging into the Python documentation to see what features Python has for doing shared memory between two processes. TT was attempting to do it with multiprocessing.Value() objects, but was using pointer-ctypes, which are only valid in the memory space they’re created in (ie, they’re not accessible…

  • Running emoncms in a Linux container

    Running emoncms in a Linux container

    When I was renovating the house I currently live in, I picked up an EmonTx v3 and some clip-on current sensors from OpenEnergyMonitor.org so that I could monitor the house power consumption more accurately than just getting a bill every 2 months from my energy supplier (even with a smart meter installed, they only provide…

  • Rebuilding Cricalix.Net – Part 4

    Rebuilding Cricalix.Net – Part 4

    While on holiday, I read a forum post that mentioned a “new” web server called Caddy. I took a look at it, and was intrigued by the integrated TLS certificate renewal using Let’s Encrypt. With NGINX or Apache, I have to run Certbot or similar to maintain the certificates, and I have to deal with…

  • Rebuilding Cricalix.Net โ€“ Part 3

    Rebuilding Cricalix.Net – Part 3

    Stumbling blocks and annoyances NGINX and certbot’s default permissions EFF’s certbot writes certificates to /etc/letsencrypt/live/<certificate hostname>/<files>.pem, and sets the permissions to only allow root to read the files. This makes sense from the perspective of a system where processes that need certificates will probably spawn as root, read the certificates to memory, and then spawn…