My nightmare


I woke up in the middle of the night in a cold sweat. I’d had a terrible nightmare that shocked me into consciousness, and then I couldn’t get back to sleep. What horror disturbed me so much?

The 1980s.

Specifically, 1980s technology.

You see, back when I was a graduate student, we were doing research on developing neurons using fluorescent tracer dyes, and the way we’d collect data was take the camera output from the microscope and record what we were seeing on VHS tape. Do you remember VHS, kiddies? Sure you do. Well, some of you.

And then analysis involved playing back the recording a frame at a time and — don’t laugh — taping plastic transparencies over the monitor and tracing the outlines of the cells with colored sharpies. That was our life. We had little pieces of paper with approximate frame numbers of sequences we were interested in, and we’d spend a lot of time fast-forwarding and rewinding video tape to get to them, and then convert the images to notebooks full of colored transparencies.

But that wasn’t the nightmare.

Later we thought we’d get smart. We bought a VAX 11/750 — a computer that required an air-conditioned room of its own, was the size of a couple of major kitchen appliances, had das blinkenlights and the fancy whirring tape drives, and an image processing and analysis system. The software was from a company called International Imaging Systems, or I2S, and it was clunky as hell. Think photoshop, but driven by a command line interface, and with all the code written in FORTRAN. It had apparently also been written for petroleum geologists, and had all these useless (to us) functions and was lacking all the functions we did need, so I was constantly patching in bits of FORTRAN to make it do what we wanted. We later got rid of the VAX. The last I heard of I2s was a few years later, when there was some scandal about selling technology to Iran.

But that wasn’t the nightmare.

I went off to a post-doc in Utah, and my goal was to study growth cone behavior in developing grasshopper embryos. We started with nothing. We got a microscope, a silicon intensified target camera (this was all low light level work), micromanipulators, dyes, electrodes, all kinds of electronics, a Macintosh II, a video frame grabber, etc. None of these were integrated. There was no software to do what we wanted. I spent the next several years doing single cell manipulations and simultaneously trying to make all the bits and pieces work together, coding up software to control everything and collect data and store it in a form we could analyze. I came out of that project with 200,000 lines of code, all written by me on my lonesome, in a combination of Object Pascal, C, and assembly language. It was some sweet software.

One thing, though: don’t be the only one coding in a group of biologists. They never understand that on top of the cell work you were doing, you were also staying up until 2am every night writing and testing software, and they get the impression that making complicated gadgets stand up and dance when you click a button is trivially easy.

But that wasn’t the nightmare.

Here’s the nightmare. Among all the gadgets I was juggling was something called an OMDR, or Optical Memory Disk Recorder. This was the cat’s pajamas in 1989. It was precisely what someone who’d spent hours interminably winding and rewinding VHS tapes would consider the perfect technology: it stored video like VHS tape, but it was instantly addressable to any video frame you wanted. It was garbage, only we didn’t know it.

So in the 1980s I was handed an OMDR, a $10,000 box, and I was ecstatic. There wasn’t any software to control the damned thing, but that was OK, I’d just write it myself (we thought things like that in the 80s. We were insane.)

Here’s a video I found about thrilling OMDR technology.

So I wrote an OMDR controller for the Mac. It would store experiment data and video frame numbers for you, and gave you little buttons on the screen to jump to any sequence, step through it, play it forward or in reverse, all that stuff. Everyone thought it was handy and easy, and didn’t appreciate the work that went into it, but that was OK.

Here’s the thing about an OMDR. It stores the data on a big platter, like a laser disc (most of you probably don’t remember those, either). It was basically a write-once laser disc. It had 3 ports.

One was an RS-232 serial port. It’s a kind of crude, slow version of a USB connector; it was used solely for transmitting a control code to tell the OMDR what to do. (By the way, back in the day, RS-232 was far more fun than USB. It used a 25 pin connector, two of the pins were for data, one was a ground, and the others had cryptic syncing functions, like DSR and CTS and so forth. Most devices could get by with a 3 wire connection, but every once in a while you’d get something that demanded one or more of the other functions. I spent a lot of time with a soldering iron making custom cables for miscellaneous devices).

Another port was an RS-170 out connector. This was a standard for closed circuit TV; it was the same video signal used by every 7-11 with a camera on the ceiling to catch shoplifters. So you’d plug a cable from that OMDR port to your television monitor, so you could watch what was stored on the disc. Note: this is an analog signal.

The last port was an RS-170 in connector. This was how you sent data to the device: you’d display it on your computer, and pipe that analog video signal into the OMDR, and then you’d send a code through the RS-232 port to tell it to grab the current image and store it in a frame on the disc.

So it was easy. I’d do an experiment, and my computer would digitize the analog video signal from the camera, producing a glorious 640 x 480 pixel, 8-bit image in my machine. Data! Then I would convert it to an analog display signal, send that to the OMDR, which would digitize the video and store it on the disc. And then later I could tell it to show me that picture, and it would do so by converting the digital data on the disc into an RS-170 signal, and display it on the monitor.

There was no way to tell it to give me the digital data. It was video image or nothing. All of my data from 5 years of work is stored in an inaccessible form on these platters in Utah, that can only be read by a machine that is probably extremely rare right now, and even if I could read it, it would only be available in a fuzzy low-resolution video.

I know, that’s a lot of background to explain why this brief, silly dream, in which I recalled my first days as a post-doc, facing a pile of hardware that needed to be made to work, culminated in my eyes snapping open and a shiver of horror when my advisor said one simple acronym, “OMDR”. Beware transitional technology, I say…and the 1980s was a decade full of weird-ass dead end technology.

Comments

  1. Nerd of Redhead, Dances OM Trolls says

    Ah yes, I earned by nerd title by writing about 1500 lines of 6502 assembly code to print out AppleWriter (for Apple II) files on a daisy wheel printer. It allowed for space/page breaks for drawings and figures, and the ability to hyphenate lines where we wanted them to appear. It could also stop and tell us to change the daisy wheel if we needed a special character. It helped for many reports and a few masters thesis and PhD. dissertations.
    Final became redundant with chemical structure programs that could embed pictures in WYSISYG document programs.

  2. madtom1999 says

    Nerdy gadgets are just part of technical evolution. Some nerdy gadgets are now mainstream dinosaurs!
    We get a lot of that at the moment – its just part of the way things work. I’d say 90% of Microsofts software for the last 20 years has fallen into disuse. I spend hours laughing at young turks who come up with the latest new idea – something that was common place 20 years ago before their Professors learnt their trade and taught them their limited subset of a huge subject field.
    I can guarantee there will be some poor student writing your 200,000 lines of code again in python – unless you open sourced yours so others could re-use it?

  3. says

    I’ve programmed using switches, punch cards, and vi. I’ve also actually written machine code (6502 and Z80) directly, back when assemblers were unavailable.

    But I don’t code any more, sad to say. And there’s such a high barrier to entry — it’s all calls to APIs anymore — that I don’t think I could start again. OK, Ruby, Perl, that sort of thing, but we once would have called that mere scripting and not real coding. I guess times change.

  4. nomadiq says

    Sounds like a lot of methods development in apparatus assembly. Not a waste of time if it enabled you to do never-before-possible experiments. It’s one of the attractions of academic research. You have (or should have) the opportunity to be creative like this. I find solutions like kits and black boxes, while nice, are boring and lead to a less intimate relationship with your experiment. This can lead to misinterpretation of results, which is much more unlikely with apparatus/code you have assembled yourself. The process of creating the experiment means you will run a better experiment. Protocol followers shit me to tears because they usually screw up what they are doing.

    @4 Brian E – I use vi to write code for $5million devices. I get a sly smile on my face about that until I remember that at JPL they probably do the same thing for multi-billion dollar devices :).

  5. OptimalCynic says

    “Think photoshop, but driven by a command line interface, and with all the code written in FORTRAN.”

    *happy sigh*

  6. Anisopteran says

    Ha! Wasn’t just the 80s. In the 90s I was recording single molecule fluorescence experiments on video tape, and then digitising them using a frame grabber. Trouble was, I was doing it in DOS, so with only 640k of RAM to play with I could only capture little 64×64 pixel windows of the screen.

    This was using an Intensified CCD camera – which are a hell of a lot better than the SIT you had to work with – but compared to a modern EMCCD or sCMOS they seem very primitive. I nearly cried the first time I recorded images directly on to the hard drive of the computer.

  7. CorvusCorax says

    I’m back in school getting a diploma in IT. I went to a career seminar where the speaker, probably about 35 years old, showed us a slide with a small-font, double-columned list of acronyms. He said, “These are all of my certifications that are 100% obsolete. They’re just Alphabet Soup now.”

    Time marches on. Nerd-time sprints.

  8. Jerry says

    I still have a 12″ 1Gb optical disc (platter). It’s still useful. No kidding. I made it into a wall clock.

  9. longship says

    PZ. You ought to know that PERL is an acronym for Pathetically Eclectic Rubbish Lister. You don’t have to believe me, take it from Larry Wall himself. Also known as a write-only language.

    :evilgrin:

  10. Last Embryo Standing says

    Beware transitional technology? But…but….but…. It’s ALL TRANSITIONAL !!!!

  11. Rob Grigjanis says

    Jeebus, hardware, software and wetware. You were spared nothing. My only dilemma was 2B or not 2B.

  12. drst says

    Welcome to the nightmare that is digital preservation.

    I can pick up a book that was printed 200 years ago and still read it. Microfilm made 50 years ago still works. But I have discs, drives and tapes that are less than 10 years old that I can’t read because the technology changed too fast, or the company went out of business, or they simply stopped making compatible tech and there are only a handful of surviving machines.

  13. says

    @13: [Perl] Also known as a write-only language.

    I thought that was APL? (Which I dabbled in as an undergrad).

    Ah, FORTRAN! The first programming language I ever learned, when I was a lad of 15, sneaking into the U of T engineering computer centre. I continued to use it any time I had any kind of mundane data-crunching or text re-formatting (my real job was all embedded assembler), up until I learned C around 1990.

  14. 00001000bit says

    @16 drst: … as I look over at the two Syquest 44 cartridges that I haven’t convinced myself to throw out, even though I haven’t seen a working reader in 20 years.

  15. says

    I have DECtapes in a box under my desk. They have some of my FORTRAN on ’em. I haven’t looked at them and can’t read them anyway in years, but I keep them for when the kids come in and complain about how their 1G flash drive that’s the size of my pinky is full, and then I whack them with it.

  16. says

    (Note: no actual physical whacking goes on in my office. There is sometimes strenuous eye-rolling, but otherwise actually exercising muscles is forbidden.)

  17. loreo says

    Like drst said, books are impressively robust technology. They don’t depend on much infrastructure beyond written language education. That’s cool!

    Also, wow. Figuring it out no matter what, that’s like the core nerd virtue. /applause

  18. ijkcomputer says

    Good news! you can totally buy one of those machines on eBay for like two hundred bucks now, and some of them have coax outs, so it’s probably not hard to play back your data and feed it into a digital format.

    Bad news! if those discs are from the 80’s, unless someone has stored them pretty carefully, they’ve probably decayed past readability now anyway.

  19. alumiere says

    If it’s any consolation, I spent my sophmore undergrad year (85-86) programming a commodore 64 in machine language to give a digital readout for titration experiments. It didn’t even store the results. (Yay chem-e in the dark ages).

  20. robro says

    drst — You can pick up…well, look at…a stele that was engraved 4000 years ago or more, and still read it. Stone and sun-baked clay tablets are considerably more durable than any plant-based information storage system. So there.

    When I first became involved with personal computers in the early 80s, I read that NASA was already wrestling with a major information management challenge: they had more data they could analyze before the data storage technology became obsolete.

  21. says

    I once wrote a speech synthesiser in MS-DOS. It worked too.

    I’ve just thrown away a load of betamax(!) tapes that contained backups of COBOL programs from 1990. Yes, you could use videotapes as magnetic storage.

    There’s three ZX_Spectrums in storage upstairs, with about 500 games on cassette. They’re next to my Pong machine. Sometimes I get nostalgic for the old technology, then I realise I’m just nostalgic for the old me. That is, the young me.

  22. gmcard says

    PZ @ 26

    I see RS-232 ports all the time! Of course, I’m doing R&D in a industry that still involves a lot of embedded firmware development for 8-bit microcontrollers…

    And admittedly, even then, the RS-232 ports on the PC are getting rarer. We have to keep a huge stock of USB-to-RS232 dongles. And the whole industry is fast moving towards modern ARM processors (common use of 32-bit architecture? It’ the 1990s at last!), so yeah, even these last hold-outs are drying up.

  23. johnmarley says

    I once read (don’t remember where) a general rule for adopting new technology:
    Wait for the third generation.

  24. whheydt says

    So many things to respond to…

    Did your VAX 11/750 run VMS (the DEC OS for those systems) or unix, and–if so–what version? Berkeley had bsd 4.2 on one….

    RS-232 interfaces are still in use on Single Board Computers (SBCs, e.g. you can have on a Raspberry Pi. I still have a box of RS-232 cables I wired up myself with DB-25 connectors (not the DE-9 that IBM adopted later). And…some of the pins on the DB-25 were for 20mA current loop interface for teletypes.

    USB flash drives…Costco (!!) sells a two-pack of 16GB ones where the USB plug is the biggest part of the unit. My greatest fear with them is dropping one and losing it. Same problem with microSD cards, and those go well beyond 16GB (I have an SBC I’m testing–in a desultory sort of way–in which I’ve installed a 32GB (Costco, again) microSD. So far all it is is a Network Time Protocol (NTP) server, since, unlike most SBCs, it actually has a Real Time Clock (RTC)).

    Languages… FORTRAN II, FORTRAN IV, SPS, Compass, ALC, Autocoder, COBOL, COBOL II, RPG (gag…spit), DataAnalyzer, MARK IV (reworked RPG…), BASIC (which is cut down FORTRAN), C (well..some, but not much). Undoubtedly some others I’ve forgotten about even the names, and discounting scripting/job control languages. I’ve actually installed an F77 compiler on a Raspberry Pi. Haven’t used it, but it’s there…along with MySQL, Apache, and PHP…all on a $35 computer.

  25. johnmarley says

    @PZ Myers (#26)

    When was the last time you saw an RS-232 port on a computer?

    Up until a couple of years ago (when WinXP machines stopped being available) the company I work for ordered notebooks specially with RS-232 ports. Now the we only get Win7 machines, we use USB-to-RS232 adapters and a virtual machine emulation of WinXP to run our maintenance software.

  26. mond says

    I was using floppy disks at my job on a daily basis until about 2 years ago.
    The floppy drives are now disconnected and the data I produce is written to a server.

  27. joe321 says

    Now I understand why the Ayatollah Khomenei hated the US so much! Selling Iran an I2S MUST be a violation of the Geneva conventions!

  28. shadow says

    Our company, until recently, had USB – RS-232 connectors so we can connect to the Deutsch connectors in the cabs of Semi’s (we have adapter boxes). Recently, they’ve started using a USB based connector box.

    We transitioned form Digi-box based serial connections to an RS-6000 to Ethernet (100) based connections to a Linux system.

    Our main program is based on PICK.

  29. Ichthyic says

    no actual physical whacking goes on in my office.

    so, not whacking off in your office. got it.

  30. robb says

    we have a rs-232 port on the back of our PolyScience temperature controller. I am also using a Tektronix oscilloscope from 1974. Flashing green lines!

  31. magistramarla says

    I knew that I was going to be a computer widow back in 1975, in the second semester of freshman year.
    He had promised to meet me for lunch, but didn’t show up. I grabbed a to-go lunch for him and of course I found him in the computer lab. Our university had one of those big machines that took up most of the room and had to be fed punch cards.
    He’s still at it today, but now he’s writing a computer science dissertation and spends most of his time attached to either his laptop or his desktop. Sigh – I should have known back then.
    I steadfastly refused to touch the things until I accepted a job teaching in a school that required that I use a computer-based gradebook and use technology in teaching Latin, of all things. I learned fairly quickly and to my husband’s astonishment I wound up being the go-to technology person for my department.
    Take that, computer people!

  32. says

    I, uh, hacked two SNES controllers to work using a parallel port, using pre-built drivers for Win95 that gave a schematic. That’s about the nerdiest hardware hack I’ve ever done.

    I’ve programmed using switches, punch cards, and vi.

    And sadly, one of those is still around…

  33. JimB says

    When was the last time you saw an RS-232 port on a computer?

    I’ll go with the others and say this morning… It’s still pretty common on business class machines.

    4 of the pc’s I support are mounted in the doors of temperature controlled rooms. They are 386’s from the late 80’s running Win 3.1… The flat screen is mounted on the front of the case. Couple of screws and the screen and cover opens on a hinge. All four are still using the original flat screens from the 80’s. Gray scale, not color. Cracks me up when ever I have to do something on them. Only one has died. Solution was a PC on a table next to the door. Finding an old enough PC to do the job was kind of wierd. Looking in closets and attics for the oldest PC I could find.

    There is still a lot of old stuff out there. Still chugging a long…

    And thanks for those great memories from the 80’s. I remember writing a basic program on a Vic Morrow. Running CP/M. Important stuff!!! A cassette labeler. Type the songs and artists in from your mix tape and it would print a little label for the cassette case. Line around it where you would cut it with scissors… Fun times.

  34. lorn says

    Until two years ago I was connecting with a modem through an RS-232 port. Remember 12″ monochrome monitors. where you had a choice of green or amber. Punch cards. Fortran-IV.

    One of the guys in my COBOL class is now a troubleshooter for the FAA and other obsolete computer systems. He is one of the very few gurus who know these ancient operating systems and he travels across the nation getting modern computers to reliably interface and play nice with the old stuff from around 1980. He makes a good living doing it.

  35. weatherwax says

    I remember a story from my FORTRAN prof. He had worked at NASA in the early space program. One rocket launch had gone flawlessly, then the rocket veered sharply off course, and they had to hit the self destruct button.

    A review found a GOSUB loop in the navigation program had a “.” instead of a “,”. That was all she wrote.

  36. gog says

    I’m a geek that pokes around with low-level stuff on PC. I’ve been writing a bootloader to address my dissatisfaction with a particular bootloader. One of the legacies of the IBM PC is that most systems up until recently booted up in a compatible mode called “real-address mode.” This is a relic of the 80’s that came back to bite me in the ass while I’ve been writing this bootloader. You see, in order to get to the modern operating mode–386 protected mode–you have to put together this funky data structure that was extended to support 32-bit base addresses between the 286 and the 386. I put a byte in the wrong spot and nothing worked after enabling protected mode. That bug had me messed up for the last few days. I’m still shell-shocked.

  37. epikt says

    My nerd cred maxed out about twenty-five years ago, when I became one of the very few people on the planet to have solved a Car Talk puzzler using a Cray Y/MP.

  38. Rich Woods says

    There wasn’t any software to control the damned thing, but that was OK, I’d just write it myself (we thought things like that in the 80s. We were insane.)

    I spent the second half of the 80s writing graphics software in FORTRAN66, including drivers for digitiser pads and plotters. I also wrote a driver for the only colour terminal on campus (but moved on before properly extending the graphics library to make worthwhile use of it).

    I’ve still got the source code for all the software I wrote, about half a million lines of it. I didn’t want to lose a five-year investment; I thought it might come in handy one day. I downloaded it all to a PC, compressed it and saved it on a 1.2MB 5.25″ floppy disk. It’s just up there on the top shelf above this computer, out of the sunlight and away from any magnetic source. I wonder if it’s still readable?

  39. wcorvi says

    Give a man a program, and you frustrate him for a day. Teach a man to program, and you frustrate him for a lifetime.

    I spent last week reading 9-track tapes.

  40. Al Dente says

    Rich Woods @49

    I downloaded it all to a PC, compressed it and saved it on a 1.2MB 5.25″ floppy disk.

    I have a drawer full of 5.25″ disks. I haven’t had a computer which could read them for over five years.

  41. madtom1999 says

    @51 I’ve got an old 486 PC and a bunch of 5.25 drives but I can rarely read a disc these days. If you have anything magnetic try and get it transcribed asap.

  42. David Marjanović says

    I must be getting old when a feature as elementary to computers as RS-232 needs to be explained in a blog post.

    Well, yes. I’m about as old as your photo looks and have no idea what kind of port that is. Chances are good that I’ve seen it and just don’t know the name…

    drst — You can pick up…well, look at…a stele that was engraved 4000 years ago or more, and still read it. Stone and sun-baked clay tablets are considerably more durable than any plant-based information storage system. So there.

    Oh, sun-baked doesn’t last. You have to burn the city down to make a clay tablet durable.

    (OK, OK, just putting the tablet in an oven was enough, but that wasn’t usually done!)

    When I first became involved with personal computers in the early 80s, I read that NASA was already wrestling with a major information management challenge: they had more data they could analyze before the data storage technology became obsolete.

    :-o

  43. fakeemailaddress says

    What’s with all the trash talk about vi? It’s clearly leagues ahead of the other editor, emacs.

    I have a null-modem cable plugged into the RS-232 port on my desktop right now. It’s the only way to access the boot console on my firewall (which, admittedly, I haven’t needed to do in about two years).

  44. Al Dente says

    madtom1999 @52

    All the important and/or useful stuff was shifted to CDs years ago. I just keep the disks because I’m too lazy to throw them out.

  45. pharyngsd says

    Programming using switches, punch cards and vi? Luxury!

    My first programs were etched in 1’s and 0’s on tablets made from the wax personally collected from active beehives. The “programs” were “entered” into logic gates made by hand from a collection of hair pins, rubber bands and tinker toys.*

    *Tinker toys: What the early 20th century called “legos.”

  46. gruzum says

    Machine code for Z80, I’m impressed. Those were the days…

    And there’s such a high barrier to entry — it’s all calls to APIs anymore — that I don’t think I could start again. OK, Ruby, Perl, that sort of thing, but we once would have called that mere scripting and not real coding. I guess times change.

    Not that big of a change, writing code in Ruby/Perl is still called scripting. That high barrier of entry is still understanding pointers (being able to operate on multiple layers of indirection). Writing machine code helps a lot in that direction.
    APIs are just basic building blocks – given enough experience you use new ones as you go.

  47. says

    The closest I’ve come to having to undertake that kind of data retrieval was back in the mid-2000s, when I managed to restore some data that I’d backed up onto ZIP disks (remember those?) in the late 90s. Getting hold of a ZIP drive wasn’t a problem – workplace had some ZIP drives lying around from when we used them to send print files to inkjet CD printers. Getting hold of the software to enable me to restore the data was a bit more challenging, as I had to find the right version and then persuade it to install on Windows XP. Did get it to work, eventually.

    Back in the 90s, I developed software to do duplication and conversion of various data tape formats – DAT 4mm, Exabyte 8mm, QIC Data Cartridges, tape reels, IBM 3480 cartridges – as well as rudimentary CD writing & duplication, using then-brand-new Philips CD recorders. This was in MS-DOS, using a combination of x86 Assembler and Turbo Pascal, plus a PC with a SCSI interface card to talk to the drives. My speciality was multi-drive duplication and data conversions. The CD duplication software became redundant once standalone CD/DVD/Blu-Ray duplicators became available, but the code I wrote for all-purpose tape duplication was still in regular use up until a year or so ago.

  48. damiki says

    z80 was the best!

    It gave such a deep understanding of (i.e., demystified) what was going on under the hood – one that’s served me through over 35 years of software engineering.

    Now I get why I resonate so well with your strange ruminations, PZ.