|Developer Diary · You Heard It Here First · Saturday 24 January 2004|
|My Thousand-Member Team|
You would think as a developer I spend all my time programming and designing. Far from it. But of all the things I do the worst is unquestionably dealing with what I call my "thousand-member team". A program does not run in isolation but depends on many other pieces of software to function. The people that write this other software are your thousand-member team. I spent all today working with my thousand-member team. While doing the CD-ROM testing for our current distribution I discovered that the "Yellow Book" standard for the CD-ROM data format specifies that all files on a CD-ROM be marked read-only. So when you burn a data CD-ROM it changes the read-only bit on every file and directory to read-only. This is problem because if the user then copies the distribution onto their hard drive it will no longer run because configuration files and so forth cannot be modified.
The reason for this utter stupidity is simple: the CD-ROM specification was written by engineers, not programmers; Dutch engineers in particular (at Phillips). I guess this guy thought that he would somehow be saving users from disk read errors (which of course most software protects against automatically) and therefore he specified something that makes the software not work at all. Nice move. Now millions of people have to laboriously change the read-only bit on millions of files because fifteen years ago a Dutch engineer decided he knew how to write a device data specification. I will call this engineer "Mr. Dumb."
My experience is that it often takes two to make an accident. The read-only problem falls into that category because if it were only Mr. Dumb's mistake it would have been easy to solve. When my program runs it detects whether the files are read-only and then changes them to read-write. Simple. Not so fast. My program is written in Java and it turns out that in Java you can tell whether a file is read-only (good) and you can set a file to read-only (good) but you cannot set a file to read-write (not good). In other words the API allows to change the attributes of a file one way and is not able to change them back. I will call the Javasoft engineer who designed the file API, "Mr. Dumber". Because of Mr. Dumber I had to resort to an insanely complicated and unreliable workaround to fix this problem (if it is fixed at all).
In development it's never long before I am reminded of my thousand-member team including key players like Dumb and Dumber.
|return to John Chamberlain's home · diary index|
|Developer Diary · about · email@example.com · bio · Revised 24 January 2004 · Pure Content|