Format /this/

Once upon a time I wrote a formatter for a new hard disk drive product. I was young and impressionable, and had once lost a bunch of work when I accidentally wiped a disk, and so this utility was paranoid and asked if you were really sure, absolutely positively bloody sure that you wanted to format the disk, and it did this by prompting and forcing you type in the phrase, “Yes Mother, I really want to format the hard disk.” Verbatim. Including capital-M Mother and the dot at the end. I was young, and was a jerk.

It was an interim tool anyway, just a hack to get our disk prototypes off the ground. A couple months later I wrote a GUI-based formatter and that’s what shipped to end-users. I forgot about the earlier utility. Childish things, and all that. As far as I know, only a couple of people in the s/w development group had had to suffer through my sick little joke, and they did so with complete empathy. Everyone has lost data to some bright moment of utter stupidity. (Oh shit, did I really just type Y, return? Did I really not back anything up in the last week?)

About a year later one of my cow-orkers visited the Taiwanese factory where they made the drives, and he returned with a curious story. It turned out that the official GUI-based formatter had a bug, and it didn’t work on the very first format of some (low) percentage of the drives. We’d only had a few of the drives to work with, and “factory fresh” wasn’t a test case we’d been able to do much with.

But we didn’t even know it was a problem, because the ever-resourceful folks running the factory saved the day without telling us. Somehow they acquired a copy of the original command-line based formatter, which did work on the troublesome “fresh” drives. And so, on a couple of lab benches in a small re-work area, some workers had been given cue cards and had been taught to type in the phrase “Yes Mother, I really want to format the hard disk.” Capital-M for Mom, and a dot at the end.

I don’t know if the workers ever found out what the phrase meant. I’d like to think they’d laugh it off, but somehow I doubt it.

Author: landon

My mom thinks I'm in high tech.

17 thoughts on “Format /this/”

  1. On an amusing similar note, someone once posted on the slashdot forums about something they had written for the medical industry regarding patient records. Apparently there was a disagreement about whether a line should be able to be deleted from a patient’s record. On the one hand, what if someone later acted based on an erroneous previous record that was later deleted? On the other hand, if you don’t allow things to be deleted, what if something is put on the wrong patient’s record and they later request a copy?

    Anyway, the solution they decided upon was to indeed allow permanent deletion of lines. But, there was a big disclaimer screen explaining why this act was permanent and, are you really sure you want to do this? But complaints kept flooding in asking for IT to undo a record deletion. So they kept expanding the warning screen. The number of complains kept going up and up until they reached the point where the screen required you to type “YES I AM AWARE THAT THIS DELETION IS PERMANENT AND I’M SURE I WISH TO CONTINUE” but the number of calls kept increasing because users got so used to typing the phrase that they did so unconsciously without considering the ramifications of their deletions.

    I’m not sure if they ever reached a solution for this, but, the moral of the story was that if you make a better idiot-proof application, they’ll make a better idiot to combat it.

  2. @Kaishaku,

    I’m somewhat appalled, this problem can be very easily resolved with two words; Version Control.

    You can delete, but there is a track record and it can be reverted. Everyone is happy.

  3. @h3,

    Some would say that if you’re keeping a copy, you’re not actually deleting anything. With something as sensitive as personal medical records, I can certainly see the need for a permanent deletion of incorrect records.

  4. @h3,

    But then you have to worry about people accidentally reverting to incorrect data, and then having it appear on someone’s medical records. They probably never should have allowed the data to be deleted by the front-line medical staff in the first place. If a deletion (or subsequent revert) was necessary, it should require a bunch of doctor (e-)signatures or something. That alone should encourage the data-entry folks to be more careful with what they put on the patient’s record.

  5. Version Control isn’t always a simple roll out or even practical considering legacy DBs that could have been started in the 80’s using proprietary formats and/or established architecture that has been built on for years. Not everyone has the money for an Oracle backend or the man-hours to modify a deeply rooted data source.

    But in this instance where the Medical Industry is involved, not only should there be VC, there should be some kind of government/industry group or law establishing standards for data architecture, security and backups, which I believe there is now. I’m sure in the case this slashdot poster, the situation was just as I described but the higher-ups did not understand the need for a complete mapping of the legacy DB and redesign and certainly were not willing to fund such a project even for the benefit of society. Not until government intervention where they able to supplant the lack of national medical records management and devote the resources necessary to bring the established system up to par.

  6. You know, English is taught in all Taiwanese schools from an early age, so you are totally doomed. You participated in cultural education. I wonder what insights those factory workers gleaned from that phrase about our family relationships.

  7. I once did something very similar. I setup an NT4 server with AppleTalk service for a joint PC & Mac office. It was my first time setting up AppleTalk, and I noticed that the Appletalk service let you setup a message of the day that appears in a dialog box each time a Mac cilent logs in. So, in a joking mood, I set this to read “Welcome to the all-new server!”

    I intended to remove it after a few weeks but, yup, I entirely forgot about it. I used a PC in that office and the first time I remembered my “joke” was a few years later when I saw one of my colleagues logging-in on a Mac. He — and the rest of my colleagues — had to clear that cheery and now anachronistic message *every single day*. The weird thing is that they didn’t think it anything strange. They cleared it almost like an impulse maneuverer — a necessary part of connecting to the server. To them, it was just one more annoying thing that computers did.

  8. ‘Mother’ (MU/TH/UR 6000) was the name of the computer that controlled the space freighter Nostromo in the film Alien. After reading the post I imagined Lieutenant Ripley entering the terminal chamber to say: “Yes Mother, I really want to initiate self destruction sequence”.

  9. I used to have an unexpected error code in an old program that said. “The program did something the programmer did not expect. Go find him and smack him in the head for being stupid.” I Reworded it promptly after getting smacked.

  10. @Kaishak –

    OMFG I would stab those developers in the neck.

    The solution is called a CHANGELOG.

    If you’re going to delete (or change) anything, simply log the change. Allow the person making the deletion/change to add an explanatory note as to why something was deleted/changed.

    Allow reviewers to visit, separately, the changelog, from the main record.

  11. I do a bit of training on the side, and reading what is on screen is actually one of the fundamental parts of my courses thats reinforced the whole way.

    It saves alot of people alot of trouble all round.

    Its things like that medical system issue that makes me want to create a 2 hour DVD on reading what is on screen and how to carefully consider and comprehend what they read.
    With annoying variable high pitch background noise.

    Use it as a punishment for every incident that results from failure to read and comprehend.

  12. I think the appropriate thing for the medical records case would be to set a strikeout flag for a particular record, with a field for a strikeout reason and the person who authorized the strikeout. If the strikeout needs to be undone for some reason, then you delete the strikeout, but the record itself should be permanent.

  13. I work with medical records. You’re all pretty much correct. I’ve been lucky enough to have never seen the systems that came before. This is a modern setup with complete version control and a fancy write-once filesystem that has no obvious way to delete files. But someone could have an entry about them removed with a court order. Technically the offending entry will be “removed” by marking it in another database as “don’t never show to nobody”.

  14. Formatting the wrong drive can be rough. I once had 2 drives in a machine, C and D. I wanted to format C. I copied everything I wanted on there over to D. So I booted to dos disk, and formatted C. The drives were reveresed in Windows vs. Dos, so I ended up erasing everything I wanted to save.

  15. @landon:
    I was hoping to read that the factory staff had patched your formatter to change the confirmation challenge to ‘y’ followed by a bunch of nulls… Please tell me you provided them with a fixed version :/

    @Dog Chic:

Leave a Reply

Your email address will not be published. Required fields are marked *