← Back to context

Comment by somat

19 days ago

My finest work on the 3270 was an analog clock screensaver.

It was simultaneously the hardest and most pointless thing I have ever written.

Our interface to the mainframe was CMS/VSE on Z-OS. We never touched Z-OS and I was a little afraid to try, but on CMS there was REXX installed as a scripting language and I built an immediate mode character update library for it, mainly so I could sort of treat it like a VT instead of abusing the text editor(XEDIT if I remember correctly) as a ui toolkit like every other script there did, I never did figure out async keyboard reads, so probably had to poll like you said) and promptly did the first thing you do when you have access to an immediate mode text screen in the early 2000's, made a matrix screen saver. (no games because of the lack of async keyboard reads, so screen savers it was)

Anyhow the hard part, CMS REXX had no trig library, how was I going to do the hands on my analog clock without a trig library? So I smuggled in some printouts from the nist algorithm database(what an amazing website) on how to calculate sin, only to discover that REXX also had no exponent function, so the next night I smuggled in some printouts of how to calculate that. and some days later was the proud owner of an analog clock screen saver and perhaps the slowest most inefficient exponential and trig libraries to be found on CMS/REXX

I wish I could have saved the source, but... it was on a mainframe and really, I was just there to shuffle the tapes around, when my boss tried to warn me off of writing scripts I convinced him it was to help make our tape duties more productive, and for the most part it was.