
WHO, ME? Welcome to Monday morning, the time of week when The Register always asks Who, Me?" because that's the title of our reader-contributed column in which you confess to having made a mess, and found a way to egress without career distress. This week, meet a reader we'll Regomize as Miller" who told us that as a whippersnapper of just 21 summers he found himself tending a mainframe that created a virtual machine, and accompanying virtual disk, for each user. Miller's employer shut down those VMs at the end of the working day to free up resources for overnight jobs. He therefore wrote a cleanup routine that removed the drives and backed up their contents. This story took place in 1981, a time when it was possible for code written by a 21-year-old to go into production without much scrutiny. Oversight arrived at 3 AM, when the overnight operators ran Miller's cleanup code and it produced a file not found" message. Miller spent his entire Saturday finding the problem, the roots of which lay in the fact that the mainframe assigned a letter to each user drive, with A-Z as the available labels. The routine attached to all users' drives and backed them up to a temporary drive," Miller explained. But you never knew in advance what drive letter the system would assign to the temporary drive. So I wrote a routine to attach it and capture the letter." That approach worked, until it didn't - because on this day Miller's employer gave another user an account on the mainframe. And that user's virtual drive meant the mainframe used the entire alphabet of disks. The call for temp disk failed and my routine passed back an asterisk instead of an error code," Miller confessed. The routine then ran its delete command, but instead of specifying a drive letter to destroy, applied the asterisk and deleted everything. Every file, all the data, and all the code," Miller admitted. I had written all the code myself, long before the days of peer reviews or DevOps or any other controls, so it was all on me," he added. The Register thinks that's a bit harsh - who lets a kid write mission-critical code? It took Miller a day to restore data, while 20 other people twiddled their thumbs and waited for him to finish the job. Hard lesson but it's stayed with me 40+ years!" Miller concluded. Have you written code that went awry? Or failed to supervise a junior? In either case, click here to send us an email so we can tell your tale on a future Monday. (R)