Neat little demonstration, and more importantly, your article was very helpful for getting started with ARB programs. I first learned about them while diving down the rabbit hole of trying to make my OpenGL graphics engine compatible with older hardware (a project I'm working on partially for the sake of learning, and partially because I feel that a lot of indie games already use lower-poly models and smaller textures, so could theoretically be run on a wider range of computers if not for the requirement of modern OpenGL and/or Vulkan), and yours was the first resource I could find that actually gave information, rather than "Just use GLSL".
I also later found this handy ARB quick reference: https://renderguild.com/gpuguide.pdf Would you consider adding a link to it in one of the appendices (perhaps a "Resources" section?) so that others can find it more easily? I had to do a fair bit of sifting through garbage search results before I found it.