Software Solutions
When I was really young, a company called Texas Instruments released a new gadget called a “Home Computer” – the TI-99/4A . It was a simple device that you plugged into your television, much like the blip-tennis games that were starting to be quite popular, but this was different. What this did, was it allowed you to give it instructions, and then it followed them! We had reached the technological level that we could create a machine that could do as you commanded! This sparked a sense of utter wonder and amazement in me that I’ve never lost to this day. It is the reason that I view creating software as an end in itself. While much of the software I write is produced for a purpose, I still, sometimes, just create programs because it is fun…
Here you can find some of that fun, split into major projects, and miscellaneous.
Project: TAK-OS
This is one of the those “Why on earth would you do that” projects that I suspect is going to grow to be really rather useful.
TAK-OS is a bundle of Alpine Linux, Kubernetes and some extra components to enable fully automated deployment of small scale Kubernetes Clusters without all the usual hassles.
Projects:
- KubeUP – Kubernetes cluster bootstrap and management tool designed for TAK-OS which runs the entire control plane in-cluster as containerized components.
- Crate Operator – Operator to deploy and manage CrateDB Clusters
- Keycloak Init – Initialiser for KeyCloak IDM
- Orbit Deploy – GitOps Application and Configuration Lifecycle Management
- TAK-OS CSI – Simple, lightweight, local-disk, CSI compatible storage provider for Kubernetes
- TAK-OS Ingress – A simple but full featured ingress controller for Kubernetes platforms like TAK-OS
- TAK-OS BootISO – TLSPU Alpine/Kubernetes Operating System – Installer
Project: BBC Microcomputer
The BBC Microcomputer was a quantum leap both in technology, and availability. A home computer style device, backed by the UK Government for use in every school in the country, with multiple TV series made by the national broadcaster (The British Broadcasting Corporation or BBC, hence the name). This was a real, concrete, and effective drive by the government to make the UK a serious world player in IT, and it worked! The machine they made was no less remarkable. Whilst based on one of the simplest 8-Bit CPUs of the time (the 6502), they built in to the initial design the concept of task specific co-processors, which even now we see in our gaming PCs with graphics cards slaved onto less powerful main CPUs! This was in 1981! The on-board design was no less ground breaking. It was a consumer device that the consumer was anticipated, or even expected, to add to – You could open it up and add your own ROMs (Read Only Memory chips, containing additional software), or even entire daughter boards for almost any purpose.
The machine was so breathtakingly advanced that they are still in use today, and people are still making addons for them, for example, you can now add a SD card reader (a 21st century technology) to your BEEB (a very definitely 20th century machine!).
Here are a few bits I’ve created for the BBC Microcomputer:
- PyMMB
This is a python library, command line tools, desktop UI and fuse driver to allow modern computers to read and write DFS disc images stored in an MMB formatted file as used by several different SD Card reader roms. - FlashFS
An attempt (in progress) to write a BBC FileSystem ROM that is able to read and write Windows/DOS FAT format SD cards natively. This introduces a break from the DFS format that most other systems use, and even from the ADFS format that Acorn used for larger systems, while still retaining 100% BBC application compatibility.
Project: Edge Nexus
This one is currently a little hush-hush, Once released I think it is going to turn a few heads!
Miscellaneous:
- Shared Container
A Foundry Virtual Table Top (VTT) plugin for Dungeons and Dragons 5e (2014) that extends the standard container functionality to allow items to be held by multiple actors at the same time. - DNS Manager
A modern web-based tool for managing BIND9 DNS cluster configurations. - Failingfish
A pair of tools for monitoring storage drive health using the Redfish API. - Robo Clone
A command-line tool to recursively clone or update all GitLab projects within a group and its subgroups.
