Having spent the first couple of days of the week bashing my head against Windows and GitHub Actions workflows, I decided to take a ‘break’ to focus on nailing down the licensing for OpoLua—it might not be glamorous, but it’s a necessity when shipping software in today’s world. Thankfully that didn’t take the whole day, so I was able to try out OpoLua Qt on Linux for the first time, and even squeeze in a little Psion-related fun. I also found myself returning—however briefly—to Game Play Color, my semi-retired JavaScript Game Boy emulator.

Re-licensing OpoLua

Qt’s licensing mandates that any software linking the Qt libraries be licensed GPLv2 or Later for non-commercial access to the library. Keen to keep the more permissive MIT License where possible, I’ve re-licensed just the Qt app under GPL2 or Later and updated our documentation to be far more explicit about the project’s components and licenses: the Lua code which provides the OPL runtime remains MIT licensed, as does the iOS app. You can read all the gory details on the website. This represents a significant milestone in officially shipping OpoLua Qt: we can now do so legally. 🥳

Desperate for a change of scene, I also spent a little time setting up an Ubuntu VM and getting OpoLua Qt building on Linux—Ubuntu’s status as the only GitHub Actions Linux runner makes it a natural first choice for automated builds. Once I realized qmake has been renamed to qmake6 on Ubuntu, I was happy to find everything just worked:

It’s incredibly exciting to see OPL running in so many places

Psion eBooks

After a morning of licenses and administration, I treated myself to a side-quest back into the world of Psions to explore another way that my Psion might offer daily utility: since letting my Kindle go (I’m exhausted by the modern trend of personal devices becoming marketing vehicles and storefronts), I’ve not had any digital reading solution and, recalling using a reader program for the Series 3c many years ago, I decided to fix that. Thanks to some help from the Psion Discord, I rediscovered eTxtReader:

Haruki Murakami’s Birthday Girl in eTxtReader on a Series 3mx

I used Calibre to convert some existing books to text files. They required some further massaging to translate from Unicode to ASCII (you’ll see some strange characters if you look closely at the photo above) and, with this secondary pass, everything worked perfectly:

eTxtReader is a really impressive program, barely breaking a sweat when viewing multi-megabyte files on a device with at most 2MB RAM—a must for the modern Psion user.

Game Play Color

Earlier in the week I received very short notice that Netlify is ending the platform I’ve been using to host Game Play Color. Not ready to let it go just yet, I decided to move to GitHub Pages. Fortunately, as a static site, it was a pretty easy process, and I was able to integrate it into the existing GitHub Actions workflows. (You can see the change here if you’re interested in the details.)

Game Play Color up and running with different hosting

At some point, I imagine I’ll let gameplaycolor.com go and continue my consolidation on jbmorley.co.uk subdomains—it just doesn’t make sense to continue paying for so many domain names.


With OpoLua Qt macOS and Windows builds complete and available for folks to download, I now have to decide how many of the remaining tasks need tackling before moving onto other projects (and perhaps even feature work). The remaining OpoLua Qt housekeeping I have in mind is:

  • Update website:
    • download links
    • screenshots
    • documentation
  • Set up Linux smoke test CI builds
  • Consolidate shared resources in the source tree

This feels like more than I’ll manage in the remaining coupe of days this week (which are also being filled with various bits of immigration paperwork), so I’ll do what I can. Providing a clear download link for OpoLua Qt on the website feels like the highest priority, followed by a Linux smoke-test build to ensure we don’t unintentionally break those builds during development.

Since this kind of work doesn’t light up my creative and coding brain that much, I might also allow myself a small segue into tidying up a few aspects of Reconnect, my Psion connectivity suite—it’s a tool I use daily, and small quality of life improvements there have an outsize positive impact—self-care for the retro software engineer if you will.