ADVENT #5 — floptical

let it snow! // let: it’s now!
My Alice compiler looks a lot like C — in the sense that it looks like the kind of undergraduate LISP homework assignment that would have gotten me a C. It compiles only a few kinds of literals, lambda expressions of a single variable, and invocations of said lambda expressions or foreign function calls. All iteration is by Y combinator. Everything else is handled by a macro preprocessor that upgrades it to a more fashionable mid-century modern dialect.
I have put up without ‘let’ for a long time, instead banging out ‘((lambda (var) … ) val)’ every time I wanted to bind something. This ADVENT series prompted me to finally add the macros for let.
Hacking a a humane language into such an archaic framework seems a bit like new wine in old skin but I’m inspired by something a good friend said a dozen Decembers ago:
“What’s the fucking point of this season if not to enjoy programs made with simple, homemade syntax?”
Speaking of new wine in an old skin, today’s removable media is the magneto-optical “floptical” floppy disk. The magneto part of magneto-optical means magnetic in the same sense as tape, floppies, and hard drives. The optical usually refers to an optically distinguishable feature, like a groove, that can be used by an optical tracking servo to keep the magnetic head aligned with the data. This was especially important with removable media where the head was fixed to the drive but the media itself interchangeable between different drives. Traditional floppy drives used a stepper motor that drove the head back and forth. A typical 3.5” disk had 135 tracks per inch with alignment was limited by the mechanical resolution of a limit switch in the drive, backlash when seeking, and wear in the lead screw that moved the head.
The servo tracking in a floptical drive pushed that density by almost an order of magnitude to 1250 tracks per inch without requiring a correspondingly dramatic increase in the magnetic recording technology itself.
While floptical technology was developed further into the successful Iomega ZIP and the … almost not unsuccessful LS-120 format, the floptical was mostly flop. The media was almost as expensive per-byte as the floppy. The drive was expensive. Even the drive interface was expensive. Floppy drives had an interface that had a marginal cost of pennies as part of a multi-IO chip while the flopticals used a much more expensive SCSI host adapter. In the end, all of these changes were poured into a mechanical diskette package that was nearly indistinguishable from a floppy diskette but totally incompatible.