Slashdot Mirror


Developer Explains Why All Windows Drivers Are Dated June 21, 2006 (microsoft.com)

For years, people have wondered why all Windows drivers are dated June 21, 2006. Long time developer at Microsoft, Raymond Chen explains (much of the entire post in summary): When the system looks for a driver to use for a particular piece of hardware, it ranks them according to various criteria. If a driver provides a perfect match to the hardware ID, then it becomes a top candidate. And if more than one driver provides a perfect match, then the one with the most recent timestamp is chosen. If there is still a tie, then the one with the highest file version number is chosen. Suppose that the timestamp on the driver matched the build release date. And suppose you had a custom driver provided by the manufacturer. When you installed a new build, the driver provided by Windows will have a newer timestamp than the one provided by the manufacturer. Result: When you install a new build, all your manufacturer-provided drivers get replaced by the Windows drivers. Oops. Intentionally backdating the drivers avoids this problem. It means that if you have a custom manufacturer-provided driver, it will retain priority over the Windows-provided driver. On the other hand, if your existing driver was the Windows-provided driver from an earlier build, then the third-level selection rule will choose the one with the higher version number, which is the one from the more recent build. It all works out in the end, but it does look a bit funny.

9 of 236 comments (clear)

  1. There's a word for this by Geoffrey.landis · · Score: 4, Informative

    There's a word for this method of solving a problem: it's a kluge.

    --
    http://www.geoffreylandis.com
    1. Re:There's a word for this by Geoffrey.landis · · Score: 3, Informative

      Sorry, I was apparently unclear. Microsoft's policy of mis-dating drivers to workaround their self-created problem is a kluge.
      Or, as some people spell the word, a kludge.

      --
      http://www.geoffreylandis.com
    2. Re:There's a word for this by lgw · · Score: 4, Informative

      Is that a new word or are we re-spelling the long-established word "kludge"?

      Nope. Kluge is the right spelling, and the right pronunciation. The Jaron File speaks thusly:

      Nowadays this term is often encountered in the variant spelling 'kludge'. Reports from old farts are consistent that 'kluge' was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of hardware kluges. In 1947, the New York Folklore Quarterly reported a classic shaggy-dog story 'Murgatroyd the Kluge Maker' then current in the Armed Forces, in which a 'kluge' was a complex and puzzling artifact with a trivial function. Other sources report that 'kluge' was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea.
      . . .
      TMRC and the MIT hacker culture of the early '60s seems to have developed in a milieu that remembered and still used some WWII military slang (see also foobar). It seems likely that 'kluge' came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which TMRC is also located) during the war.

      The variant 'kludge' was apparently popularized by the Datamation article mentioned under kludge; it was titled How to Design a Kludge (February 1962, pp. 30, 31). This spelling was probably imported from Great Britain, where kludge has an independent history (though this fact was largely unknown to hackers on either side of the Atlantic before a mid-1993 debate in the Usenet group alt.folklore.computers over the First and Second Edition versions of this entry; everybody used to think kludge was just a mutation of kluge). It now appears that the British, having forgotten the etymology of their own 'kludge' when 'kluge' crossed the Atlantic, repaid the U.S. by lobbing the 'kludge' orthography in the other direction and confusing their American cousins' spelling!

      --
      Socialism: a lie told by totalitarians and believed by fools.
  2. Methinks silly hack... by wbr1 · · Score: 1, Informative

    Um.. since most drivers are now signed/certified would the signature not have better info than a fucking date stamp to determine age/version/author/priority? By default windows requires signed drivers, so what gives? I am not a coder by day but this seems kludgy as shit.

    --
    Silence is a state of mime.
  3. Wrong Priority by coinreturn · · Score: 3, Informative

    Perhaps using a higher revision number before a newer time stamp would be the way to solve this stupidity.

  4. Re:A bit here a bit there by freeze128 · · Score: 3, Informative

    Maybe they could also start using special dates for other meanings too!

    Yeah, Microsoft has done that too. In their release of MS-DOS 6.22, all the files were time-stamped 6:22am.

  5. 1980 for DOS, 1970 Unix Aways ten years behind. by raymorris · · Score: 5, Informative

    1970 is the epoch for Unix, 1980 for DOS, because Microsoft is always ten years behind Unix.

    Windows actually has a shitload of different epochs. Some of their filesystems use 1980, some use 1601
    1980, Excel uses January 0, 1900, some versions of their compiler use 12-30-1899, COM uses 12-31-1899. It's a real cluster fuck.

  6. The goal of MS drivers was to kill WordPerfect by 140Mandak262Jamuna · · Score: 5, Informative
    Many people are posting why the windows driver model sucks and how terrible it is etc etc.

    But device drivers, especially printer drivers were the front lines of the war between MS-Word and WordPerfect in 1990s. WordPerfect created a virtual printer to which its software will print. They laboriously wrote printer drivers for every printer maker in existence at that time. In those days no matter how obscure and unknown your printer is, WordPerfect will be able to correctly print in it. It also got the "exactly the same printout, no matter what the printer is" edge over Microsoft.

    One way MS decided to create Windows printer driver standard and strong armed all the printer makers to supply a driver that will meet the windows spec. Apple Laserwriter and most other unixy printers had settled on postscript. It wanted to mess them up too. So it was all serious market share battleground those days. Forcing a proprietary ill-defined ever changing driver spec was MS way to deny the competitive advantage WP had built laboriously.

    But it also created two serious side effects on MS-Word. They comingled the virtual device driver code into MS-Word and tried to get the WYSIWYG cheap way. That is why MS-Word margins would change, pagination would change and page references would change if you change your default printer. It was a nightmare those days. Grad students who were PhDs in Engineering went completely bonkers trying to get a paper correctly printed in MS-Word, and worse the TeX guys were laughing at them.

    The second effect was hard pressed printer makers hacked out really bad printer drivers. Many of them took some approximate driver from some place and hacked out something that barely worked and passed basic acceptance test. Then bug reports would pour in, they will fix some of them, then post updated drivers... the mess has not been fully sorted out even now.

    The damage Microsoft did by deliberately sabotaging inter-operability is incalculable.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  7. Kluge rhymes with huge; kludge rhymes with sludge by Geoffrey.landis · · Score: 5, Informative

    Or, as some people spell the word, a kludge.

    Also known as literate people.

    So, some random site decided to grab the URL of "oxford dictionaries", I assume to mislead people into thinking that this is the Oxford English Dictionary

    Don't slashdotters know about the Jargon File anymore? (here or here or here.) It's sad how classic hacker history is so quickly forgotten.

    http://www.catb.org/jargon/htm... : kludge

      1. /kluhj/ n. Incorrect (though regrettably common) spelling of kluge (US). These two words have been confused in American usage since the early 1960s, and widely confounded in Great Britain since the end of World War II.

    In English, the soft "g" is pronounced as if it has a "d" in front of it. Kluge rhymes with huge. Kludge, on the other hand, would rhyme with sludge or judge.

    --
    http://www.geoffreylandis.com