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.

236 comments

  1. New prank idea by MightyYar · · Score: 1

    Change all the dates of your co-worker's drivers. Set them to the future.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    1. Re:New prank idea by Anonymous Coward · · Score: 3, Funny

      Change all the futures of your co-workers. Drive them on a date.
      (much better prank IMHO)

    2. Re:New prank idea by Anonymous Coward · · Score: 1

      hug your driver then smash your pc over your co-workers head. then drive him to microsoft and toss him our of the car

    3. Re:New prank idea by Anonymous Coward · · Score: 0

      If, having root access, changing driver dates is the best prank you can imagine, the joke's on you.

    4. Re: New prank idea by dougdonovan · · Score: 0

      tell the dude from india that runs the company now.

    5. Re:New prank idea by DonaId+Trump · · Score: 0

      I tried taking my coworker on a date once, but Ivanka said she'd sue me for sexual harassment! Liberal regulations are always getting in the way!

    6. Re:New prank idea by OrangeTide · · Score: 1

      Typical first day hazing at Microsoft.

      --
      “Common sense is not so common.” — Voltaire
    7. Re:New prank idea by Anonymous Coward · · Score: 0

      Nicely played, sir.

  2. An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 5, Insightful

    Why don't they simply add another record ("source") to help make the driver comparison? A typical Microsoft solution I would say.

    1. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Or Microsoft could stop publishing broken drivers that claim to be perfect fits for the hardware in question.

    2. Re:An insanely clever solution, Microsoft-style. by Opportunist · · Score: 5, Funny

      Your idea would be easy to implement, a perfect solution to the problem and most of all it would work. We can't have that at MS.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    3. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      A leopard never change its spots.

      There are some really awesome people at Microsoft, but really the culture just corrupts most mortal beings passing through their gates.

      "It all works out in the end" yeah right.... works out for who? IE 6 worked out pretty well for MS, by shitting on everyone else.

    4. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      But really, it was simply because June 06, 06 was too obvious.

    5. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Yeah BOOOOO microsoft. I love linux. it is the best because it is in C. I especially like "for" loops

    6. Re: An insanely clever solution, Microsoft-style. by bondsbw · · Score: 1

      It seems that this mechanism exists precisely because Microsoft does not claim that their drivers are perfect.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    7. Re:An insanely clever solution, Microsoft-style. by TheDarkMaster · · Score: 1

      It would not work very well. It would have the same original problem if two drivers had the same source and you would still have to define a criterion to decide which source would have priority (not always the manufacturer's drivers will automatically be better than Microsoft's, or both drivers are from different third parties and Windows does not know which one to give priority to).

      --
      Religion: The greatest weapon of mass destruction of all time
    8. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      We're coming up on four decades of applying band-aids (like this one) instead of ever really fixing the problems. By now Windows is mostly made of carved band-aid.

    9. Re:An insanely clever solution, Microsoft-style. by mwvdlee · · Score: 1

      Because there are probably situations where conflicting drivers come from more than two sources, which would break.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    10. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Exactly, consider the nVidia reference driver vs a driver customized by MSI for their version of the nVidia card.

    11. Re:An insanely clever solution, Microsoft-style. by MrLint · · Score: 1
    12. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      From someone who has never built a driver before.

      Microsoft drivers (unless supplied by the manufacture and are whql) are made to support the *standard* functionality in the given hardware. If the manufacture does not support the standard or modifies / extends it to suit their own proprietary needs then there is nothing Microsoft can do about it.

    13. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      No, this is a workaround for something stupid.

    14. Re:An insanely clever solution, Microsoft-style. by robot256 · · Score: 1

      The flag would simply be "Microsoft" and "Non-Microsoft", and priority would be given to existing non-Microsoft drivers over all Microsoft drivers. It would fix the specific problem indicated (overwriting non-Microsoft drivers during a Windows update) without creating any new ones. The other ranking criteria would still apply when comparing existing Microsoft drivers to new third party drivers, and you would still have to manually select when the rankings failed. But it would eliminate the overloading of the date field to control Windows update behavior.

    15. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      That is when it should ask the user...

      But that would be giving the users control over their machines.

      Microsoft can't tolerate that.

    16. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Nope, if it was they wouldn't do something like sort on date and only then check versions. If they wanted it done right, they would sort on version and only then check date

    17. Re:An insanely clever solution, Microsoft-style. by Bert64 · · Score: 1

      The MSI driver should be a closer match for the hardware, and thus be prioritised...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    18. Re:An insanely clever solution, Microsoft-style. by clodney · · Score: 1

      Why don't they simply add another record ("source") to help make the driver comparison? A typical Microsoft solution I would say.

      So how do you compare sources? If I have a nVidia reference driver, a custom driver from the hardware OEM, and a Microsoft driver, how do I rank those? Or is source simply MS vs non-MS?

      Don't forget that whatever change to driver ranking MS makes also has to have provision with the thousands of already existing drivers that won't get updated to include a new field.

    19. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Nice try, but no. Nothing to do with standards.

    20. Re:An insanely clever solution, Microsoft-style. by dgatwood · · Score: 1

      Yeah, this is a hideous workaround. Apple's design is much saner, providing a default probe score based on how many properties were matched, then calling a probe method in the driver to give it an opportunity to dynamically change its probe scores for even more control. So with that scheme, the generic Windows driver would match based on something generic like vendor and device subclass, the NVidia reference driver would match with vendor + product (and optionally add bcdDevice), and the custom driver from the OEM would presumably return a higher probe score dynamically so that it always wins.

      Version numbers and release dates have no legitimate place in driver matching behavior, IMO.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    21. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      Then why is Windows10 force pushing Microsoft's broken drivers over the functional drivers?

    22. Re: An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      yeah, but the do {} while() loops deserve a special mention....

      CAP === 'steeps'

    23. Re:An insanely clever solution, Microsoft-style. by espenskaufel · · Score: 1

      Because adding another field makes it more complicated and why do that when you can KISS?

    24. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      It's not a Microsoft solution. MS hasn't got a solution. This is the hardware vendor's solution to a Microsoft problem.

    25. Re:An insanely clever solution, Microsoft-style. by Anonymous Coward · · Score: 0

      D day for the apocalypse!

    26. Re:An insanely clever solution, Microsoft-style. by Carewolf · · Score: 1

      Yeah, this is a hideous workaround. Apple's design is much saner, providing a default probe score based on how many properties were matched, then calling a probe method in the driver to give it an opportunity to dynamically change its probe scores for even more control. So with that scheme, the generic Windows driver would match based on something generic like vendor and device subclass, the NVidia reference driver would match with vendor + product (and optionally add bcdDevice), and the custom driver from the OEM would presumably return a higher probe score dynamically so that it always wins.

      Version numbers and release dates have no legitimate place in driver matching behavior, IMO.

      You mean to say Apple solved it by not having 3rd party drivers...

    27. Re:An insanely clever solution, Microsoft-style. by grcumb · · Score: 1

      Your idea would be easy to implement, a perfect solution to the problem and most of all it would work. We can't have that at MS.

      I laughed, too. But it has to be admitted that this phenomenon is not unique to Microsoft.

      I haven't used RPM in years, so I don't know if the problem persist, but it used to be that Redhat upgrade mechanism sorted packages alphabetically, which meant that this you'd frequently get cases where upgrade candidates sorted like this:

      package-name-9.8.7.6-alpha.rpm
      package-name-9.8.7.6-beta.rpm
      package-name-5.4.3.2.rpm
      package-name-10.12.13.14.rpm
      package-name-1.2.3.4.rpm

      And because your packages came from hundreds of different sources, everybody had their own way of coping with the problem. The company I worked for managed a special-purpose server distro, and our builds were constantly beset with a day or two spent disambiguating package names.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    28. Re:An insanely clever solution, Microsoft-style. by dgatwood · · Score: 1

      Um... no, there are lots of third-party drivers available in OS X. Maybe you're thinking of its mutant halfling spawn, iOS?

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    29. Re:An insanely clever solution, Microsoft-style. by Daniel+Klugh · · Score: 1

      The command "ls -1rv" does what you want. At least when using the "ls" program included in the GNU "fileutils" package.

      --
      Daniel Klugh
    30. Re:An insanely clever solution, Microsoft-style. by WorBlux · · Score: 1

      But the MSI driver is more likely not to be the latest version. If the reference driver doesn't create any issues, I always suggest to use that. This is more true as you get into off-brand hardware, where the standard driver for the chipset works just as well and doesn't have any crap ware attatched.

    31. Re:An insanely clever solution, Microsoft-style. by flink · · Score: 1

      Why don't they simply add another record ("source") to help make the driver comparison? A typical Microsoft solution I would say.

      DLLs and EXEs on windows already have a Company and Product metadata fields.

  3. So it's a kludge for a basic OS function? by Anonymous Coward · · Score: 0

    Nice to know.

    1. Re:So it's a kludge for a basic OS function? by Anonymous Coward · · Score: 0

      Nice to know.

      And the guy seems totally unfazed about talking about it in public. Well, he is a Microsoft employee, after all.

  4. Seriously... What a nightmare computing has become by Anonymous Coward · · Score: 5, Insightful

    . Maybe it's all the weed talking, but I've really lost the will to even attempt to understand all the insane complexity of modern PCs. I feel like I do nothing but constantly deal with all sorts of bizarre glitches and software harassing me in numerous ways, to the point where I mostly use the computer for the sake of maintaining itself, rather than any actual work.

    That's not how it was back in the Amiga days.

  5. badly designed by edxwelch · · Score: 5, Insightful

    Seems like a really badly designed system to me. If the time stamp of a driver somehow got changed by accident, it would lead to a very hard to find problem.

    1. Re:badly designed by Anonymous Coward · · Score: 0

      Yep, I can't imagine that it'd be that hard to simply prioritize anything that wasn't authored by Microsoft. Then again, it's Windows we're talking about, so I guess it is probably almost impossible to do anything particularly well in a reasonable amount of time.

    2. Re:badly designed by Anonymous Coward · · Score: 1

      Seems like a really badly designed system to me. If the time stamp of a driver somehow got changed by accident, it would lead to a very hard to find problem.

      I doubt "design" had anything to do with it.

    3. Re:badly designed by TheFakeTimCook · · Score: 1

      Seems like a really badly designed system to me. If the time stamp of a driver somehow got changed by accident, it would lead to a very hard to find problem.

      Especially since you can change the tine stamp of a Windows file by so much as looking sideways at it.

    4. Re:badly designed by Anonymous Coward · · Score: 0

      I have a completely unsubstantiated hunch that it uses the build timestamp in the PE header, not the file system date.

    5. Re:badly designed by felixrising · · Score: 1

      That never happens in Windows... so no need to fix what ain't broke... amirite?!

  6. Common attitude by Anonymous Coward · · Score: 0

    Basically, it's broken, but they don't want to fix it. Because fixing things is hard.

    1. Re: Common attitude by Anonymous Coward · · Score: 0

      Not for politicians.

  7. Put the real date in the info area! by Joe_Dragon · · Score: 3, Interesting

    Put the real date in the info area!

    1. Re:Put the real date in the info area! by Anonymous Coward · · Score: 0

      Put the real date in the info area!

      What _is_ the "real" date. Creation date? Installation date? Final beta testing date (to be determined ;-).

  8. But why that date? by Anonymous Coward · · Score: 0

    The article explains why drivers have a fixed "backdated" date, but doesn't explain why that date (rather than some other) is used.

    Was that date when the decision was made?

    1. Re:But why that date? by Anonymous Coward · · Score: 0

      Vista was the last driver model overhaul and was released in 2006. If I had to guess, it's the date that first Vista release candidate was built.

    2. Re:But why that date? by somenickname · · Score: 5, Funny

      It's Windows, so, they probably do something nutty like compute epoch time as an offset from 2006. Since 1970 would be a negative number, some deep and dark timestamp code somewhere in the driver model probably (correctly) assumes the timestamp is unsigned so, 1970 is actually far into the future.

    3. Re:But why that date? by Anonymous Coward · · Score: 0

      "Every driver we ship has the Vista RTM date"
      https://www.reddit.com/r/windows/comments/5hediy/is_windows_10_still_a_polished_vista_kernel/dazxa6z/

    4. Re:But why that date? by Anonymous Coward · · Score: 0

      I believe Windows epoch (and DOS epoch) is also 1970-01-01 00:00:00...

    5. Re:But why that date? by Anonymous Coward · · Score: 0

      Start date for drivers for Vista, which was the last time drivers changed dramatically.

    6. Re:But why that date? by Anonymous Coward · · Score: 0

      "Every driver we ship has the Vista RTM date"
      According to this: https://www.reddit.com/r/windows/comments/5hediy/is_windows_10_still_a_polished_vista_kernel/dazjyiw/

    7. Re:But why that date? by Anonymous Coward · · Score: 0

      Because June 06, 06 was too obvious.

    8. Re:But why that date? by Anonymous Coward · · Score: 0

      I realize we are talking about the Windows world and not the *nix world, but even in the Windows world I have seen crazy shit happen when that date comes up (some apps/systems interpret it as null which results in either weird logic faults or just plain null pointer exceptions).

      That date is cursed. You should never have uttered its name.

  9. Wow by gatkinso · · Score: 3, Funny

    This is the type of hack that an inter is chastised for in a code review.

    Ship it.

    --
    I am very small, utmostly microscopic.
    1. Re:Wow by Scarred+Intellect · · Score: 5, Insightful

      Seems to me it would be easier and more maintainable to check the author of the driver and give precedence to NVidia drivers over Microsoft drivers rather than back-dating your own...but maybe that's why I'm not a Microsoft software engineer, they obviously know more than me.

    2. Re:Wow by edtice1559 · · Score: 1

      I agree with your main point although when I read the article I kept thinking that I would always prefer the Windows driver over the third-party driver. Third-party ones tend to be horribly buggy. Once a device has a built-in driver is when I know that it will actually work correctly. Until then it's a crap shoot.

    3. Re:Wow by Scarred+Intellect · · Score: 1

      Simple: user option.

      I do like your point, though, and understand your reasoning. I've never had huge issues with manufacturer-supplied drivers (actually, I probably HAVE...) and typically default to them over MS/Windows drivers.

      One instance, I installed Server 2012 on my old desktop, and Windows Server didn't have any good drivers for the video card (GeForce 560) so I had to install NVidia's...

      But now you've got me wondering...how often have those quirky problems I've lived with been the result of third-party drivers that could be fixed by a rollback to MS drivers...?

    4. Re:Wow by ShipIt · · Score: 1

      You rang?

    5. Re:Wow by Anonymous Coward · · Score: 0

      Seems to me it would be easier and more maintainable to check the author of the driver and give precedence to NVidia drivers over Microsoft drivers rather than back-dating your own...but maybe that's why I'm not a Microsoft software engineer, they obviously know more than me.

      Easier still (for the user): differentiate between explicitly installed non-MS drivers and drivers that were just automatically chosen by the dependency and precedence rules. For drivers not explicitly chosen by an administrator user, don't give any preference based upon who made the driver. For drivers explicitly chosen, never automatically replace them with a driver from MS.

    6. Re:Wow by Anonymous Coward · · Score: 0

      Wow, that's is the clear opposite of my experience. Not to mention that it ignores decades of best practice. But hey, if it works for you keep it up.

  10. Windows 10 by Sporkinum · · Score: 2

    Why were there all the issues with Windows 10 replacing manufacture drivers with Microsoft ones then? I am guessing they have since fixed that, but I did hear about a lot of complaints.

    --
    "He's lost in a 'floyd hole"
    1. Re:Windows 10 by Anonymous Coward · · Score: 0

      Because Windows 10 is the best Windows there is. It is the Alpha and the Omega, the begining and the end. It's the last Windows you will ever use.

    2. Re:Windows 10 by Anonymous Coward · · Score: 0

      Because Windows 10 updated a bunch of shit and manufacturers, being their usual lazy selves, were slow to update their drivers accordingly.

      With all of the telemetry that Win10 gathers, Microsoft knew how to fix these things in their generic drivers and did so. When they pushed out the November 2015 update, they pushed fixes to their in-house/generic drivers for a bunch of stuff (Intel graphics was a biggie, another was Dell's AIO radio chip), and weaseled the timestamp/version info to prefer their updated version until the vendors got their shit together.

      It wasn't until around February 2016 that I started seeing non-Microsoft driver fixes to some of those things. And that's on a laptop that shipped with Win10!

      From what I can tell, about 90% of everything Microsoft gets blamed for is actually not their fault. Hardware vendors make some janky shit and then blame "Windows" for their own incompetence at making proper drivers.

    3. Re:Windows 10 by Anonymous Coward · · Score: 2, Insightful

      While I tend to agree....

      I was an early adopter of Win10, and that fucker replaced my ati drivers with generic drivers twice, the ATI drivers functioned fine, the generic drivers disabled some of the 3d features. It wasn't until MS gave me the option to NOT update hardware drivers, that this nonsense stopped. Was this related to backdating? Can't see it, doesn't jive with the article.

    4. Re:Windows 10 by Anonymous Coward · · Score: 0

      Was this related to backdating?

      Nope. It was one of the many other design bugs in windows. Or maybe just one of the plain bugs.

  11. 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 Anonymous Coward · · Score: 1

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

    2. Re:There's a word for this by NatasRevol · · Score: 2

      Sorry, but backdating is the kluge.

      Properly identifying the resource is not a kluge.

      --
      There are two types of people in the world: Those who crave closure
    3. 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
    4. Re:There's a word for this by TheFakeTimCook · · Score: 3, Interesting

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

      Exactly what I came here to say.

      Microsoft Developers have got to be the laziest on the planet. EVERYTHING that MS does is done for the ease of their Developers, regardless of what hoops or inconvenience it causes the User.

    5. Re:There's a word for this by Anonymous Coward · · Score: 2, Insightful

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

      Also known as literate people.

    6. Re: There's a word for this by Anonymous Coward · · Score: 0

      No, they just don't know how to pronounce it.

    7. Re:There's a word for this by Anonymous Coward · · Score: 0

      What happened to the D in kludge?

    8. Re:There's a word for this by flopsquad · · Score: 4, Funny

      Kluge: An ordinary high-speed death toboggan, but with KDE graphical interface. Those who prefer GNOME on their bullet sleds might call it a "kludge."

      --
      Nothing posted to /. has ever been legal advice, including this.
    9. Re:There's a word for this by Anonymous Coward · · Score: 0

      Sounds like what the California DMV did to flag vehicle titles as paperless at my financial institution. Their solution was to put PO BX instead of PO BOX in the lienholder address section. If a car dealer types BOX, box or bx instead of BX for the new lienholder information, the DMV computer errors and doesn't generate an electronic title.

    10. Re:There's a word for this by clodney · · Score: 2

      Microsoft Developers have got to be the laziest on the planet. EVERYTHING that MS does is done for the ease of their Developers, regardless of what hoops or inconvenience it causes the User.

      Given that in the this case the kludge only affects Microsoft developers, it forces other developers and users to go through exactly zero hoops.

      Microsoft backdates their drivers so that they don't win timestamps and will only win on version compares. I think changing the order of the timestamp and version compares would be a simple solution, but I can imagine that they considered that and had some reason why that led to undesirable results. So they have a solution where they backdate their drivers and nobody else has to.

    11. Re: There's a word for this by Anonymous Coward · · Score: 0

      I would have assumed the gnome version was called gluge.

    12. Re: There's a word for this by Anonymous Coward · · Score: 0

      ... only the needful be spelt; the 'd' is not part of the needful.

      CAP === 'genial'

    13. 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.
    14. Re:There's a word for this by NatasRevol · · Score: 2
      --
      There are two types of people in the world: Those who crave closure
    15. Re:There's a word for this by Anonymous Coward · · Score: 0

      But it affect users! If you copy your windows over to a new drive, the timestamps will be current and screw up this mechanism.

      Wait - this is how you migrate linux onto a new drive - windows people can't do that. Somehow, they're forced to reinstall when replacing a drive . . .

    16. Re:There's a word for this by TheFakeTimCook · · Score: 1

      Microsoft Developers have got to be the laziest on the planet. EVERYTHING that MS does is done for the ease of their Developers, regardless of what hoops or inconvenience it causes the User.

      Given that in the this case the kludge only affects Microsoft developers, it forces other developers and users to go through exactly zero hoops.

      Microsoft backdates their drivers so that they don't win timestamps and will only win on version compares. I think changing the order of the timestamp and version compares would be a simple solution, but I can imagine that they considered that and had some reason why that led to undesirable results. So they have a solution where they backdate their drivers and nobody else has to.

      This is where certain Slashdotters would accuse me of being a "shill", if I were defending an Apple policy; so, pray tell, why wouldn't the term apply to you and your response?

    17. Re:There's a word for this by TheFakeTimCook · · Score: 1

      Microsoft Developers have got to be the laziest on the planet. EVERYTHING that MS does is done for the ease of their Developers, regardless of what hoops or inconvenience it causes the User.

      Given that in the this case the kludge only affects Microsoft developers, it forces other developers and users to go through exactly zero hoops.

      Microsoft backdates their drivers so that they don't win timestamps and will only win on version compares. I think changing the order of the timestamp and version compares would be a simple solution, but I can imagine that they considered that and had some reason why that led to undesirable results. So they have a solution where they backdate their drivers and nobody else has to.

      Oh, and please tell me how this Kludge ONLY affects MS DEVELOPERS?

      In fact, I am pretty sure that it is almost exclusively USERS that are affected by this.

      And to clarify, I meant "Developers that work AT Microsoft" that we're lazy; NOT the poor sods (like me), who have done something horrible in a past life, and so are now forced to Develop stuff FOR Microslop Products.

    18. Re:There's a word for this by grcumb · · Score: 1

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

      Physician, heal thyself.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    19. Re:There's a word for this by clodney · · Score: 1

      This is where certain Slashdotters would accuse me of being a "shill", if I were defending an Apple policy; so, pray tell, why wouldn't the term apply to you and your response?

      If I were to be pedantic, I would say that a shill is someone who is paid by the entity being promoted, or at a minimum has a self interest at stake in the promotion. I get nothing from Microsoft (you will have to take my word on that I guess), so at worst I am being guilty of being a fanboi.

      But I would also say that my statement was correct, and truth is an affirmative defense. Microsoft backdates their drivers. They don't ask anyone else to do so, and the fact that copying a Windows install doesn't work isn't solely (or even mostly) due to driver dating, so I don't consider driver backdating to be something that inconveniences users. That goes to my assertion that this at most inconveniences Microsoft's own developers.

    20. Re:There's a word for this by Tablizer · · Score: 1

      their self-created problem is a kluge.
      Or, as some people spell the word, a kludge.

      English spelling is the Mother Of All Kludges.

    21. Re: There's a word for this by Anonymous Coward · · Score: 0

      What the fuck are you talking about? Copying a hard drive to replace it in the same motherboard is never an issue. Sounds like you're doing if wrong.

      If you're changing motherboard, you need to use third party software to inject the right CPU and chipset drivers for first boot.

    22. Re:There's a word for this by Anonymous Coward · · Score: 0

      OK, but if you insist on spelling it "kluge", I'm going to insist on pronunciating it "klooge".

    23. Re:There's a word for this by lgw · · Score: 1

      Yes, that's how it's pronounced.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    24. Re:There's a word for this by Anonymous Coward · · Score: 0

      The reason it "looks funny" is because it's wrong. Chen ought to know better than this -- but we all know that marketing/sales rules over technical considerations at Microsoft.

    25. Re:There's a word for this by Anonymous Coward · · Score: 0

      When MS does it, it is a kluge. If a Linux developer had done it, it would be a clever hack.

  12. must have been an emergency fix by Anonymous Coward · · Score: 1

    Seems to me that MS found a bug that their latest build screwed up the 3rd party driver, so they came up with a short-term fix for it. Then they never ever worked on a long term solution because nobody (or not that many people) complained.

    1. Re:must have been an emergency fix by Anonymous Coward · · Score: 0

      Thats what I was thinking. For all the people in this thread up in their ivory towers, as a developer I can see exactly how this happened. They ran into this problem and needed to get something working *now*. I'm willing to bet if you go into the code there's a comment // TODO: This is a temporary fix just to get things working, come back and implement a proper field or something

      And there's probably even an issue in the internal issue tracker that has forever been set to "deferred". To those mocking MS here, this is the reality of real development. We who do it aren't proud, but priorities dictate...

  13. Easier to hack a work-around than code a fix. by Overzeetop · · Score: 1

    nm

    --
    Is it just my observation, or are there way too many stupid people in the world?
    1. Re:Easier to hack a work-around than code a fix. by Anonymous Coward · · Score: 0

      Yes... At the time it kept a boat load of drivers and the hardware they enabled "in service" as the windows version counter ticked up...

      Microsoft's biggest problem is that they are big... And it's really hard to change stuff that's kind of working OK, especially if the design change breaks a bunch of legacy things and ticks off a bunch of users because they cannot use that necessary piece of hardware because nobody can (or will) create a new driver for that latest version of windows..

      Legacy sucks....

  14. STUPID thing to have to do. by Anonymous Coward · · Score: 0

    Windows should always defer to the users choice.

    Any vendor driver is by definition, the users choice.

  15. Familiar by Anonymous Coward · · Score: 0

    Sounds like some of the crap code I have to maintain. You would think MS would employ professionals that know how to design actual solutions. If they use logic this silly on a real simple process imagine what the really complex stuff looks like.

  16. A bit here a bit there by goombah99 · · Score: 4, Interesting

    Right. A bit here a bit there and pretty soon you have saved a whole byte. Overloading the date value with multiple meanings is so 1980s programming. Maybe they could also start using special dates for other meanings too! that way they could save another bit somewheres

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. 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.

    2. Re:A bit here a bit there by Anonymous Coward · · Score: 1

      February 30th, 6:22 AM to be exact. I know, it was my idea.

      CAP === 'livers'

  17. Typical Microsoft kludge by OneSmartFellow · · Score: 5, Interesting

    So, if the hardware provider creates a driver too, why does MS use the "perfect match hardware ID".. Why not a system where the manf. Hardware ID is X.Y.Z.Pref  (or some other identifier which would supersede the Microsoft version) and Microsoft's would then be X.Y.Z.Microsoft.  Then it's really obvious what's going on, it doesn't rely upon checking for date, or version ID, or other in-exact ways of *guessing* which driver to use.<br><br>
    Why ?<br>
    Because, the vast majority of devs at MS can't think straight about anything - that's why we have the current state of Windows.  MS hasn't hired a good developer since the days of Windows NT.

    1. Re:Typical Microsoft kludge by Anonymous Coward · · Score: 0

      Welcome to the wonderful world of outsourcing.

      Oh and of course they have a guaranteed revenue stream from lock-in so they don't have to care about solid engineering.

    2. Re:Typical Microsoft kludge by DarkOx · · Score: 1

      Or even just extend the version number field out one extra .X and tell third parties a release driver should always have a value of 1 or greater in the final position, where Microsoft always puts a zero in the final position.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    3. Re:Typical Microsoft kludge by johannesg · · Score: 1

      On the other hand, Microsoft at least has a kernel that allows for drivers to be dynamically added to the system...

    4. Re:Typical Microsoft kludge by OneSmartFellow · · Score: 1

      If that's a dig at Linux, perhaps you haven't heard of loadable modules, and modprobe ?

  18. Either that, or by Anonymous Coward · · Score: 0

    Steve Sinovsky's kid was born on the day.

  19. Driver override by Anonymous Coward · · Score: 0

    Result: When you install a new build, all your manufacturer-provided drivers get replaced by the Windows drivers. Oops

    This happens anyways.
    I've had drivers with 2010 time stamps on them get overridden with windows old time-stamp drivers so this just seems like bullshit to me.
    If only there was some place in the OS to store meta information about drivers...Like a registry or something. Oh well.

  20. Programming the Windows Driver Model by monkeyxpress · · Score: 5, Interesting

    I realise the driver system in windows has moved along (hopefully for the better) a lot recently, but about 15 years ago I remember looking into developing a custom driver for a USB device I had developed. My background was as an embedded developer so I had a detailed knowledge of how the bits on the bus worked, and what the host controller chip was doing. All I wanted to do was send some packets to my device and receive a few packets back from a windows application - nothing real time or taxing of the system's capabilities.

    I got a copy of Walter Oney's windows driver model book, and proceeded to work my way through it.

    Even now, as someone who does a fair amount of web development, working my way through ten years of terrible javascript language and library designs decisions to make otherwise simple things happen on a webpage, it still shocks me just how ridiculously horrible the WDM was. The basic IRP system was already pretty over the top architectural astronauty, but I guess you could accept that they had to provide for the possibility that there would be a lot of fancy new peripherals in the future. But once you figured that out, the book went into how incredibly broken the model was once you had to support multi-processor system and plug and play. What ensued was basically 200 pages describing the most horrible mess of obscure synchronisation problems you could possibly find in a couple of pages worth of driver code.

    Ever since I ceased being shocked when my computer BSOD due to a third party driver. Frankly, if the thing allowed you to get much done at all, whoever wrote the driver probably deserved a medal or something.

    Anyway, with such an experience, this back dating driver thing doesn't surprise me in the slightest.

    1. Re:Programming the Windows Driver Model by ShooterNeo · · Score: 4, Interesting

      I'm doing embedded work. I've noticed (and done myself) that there is a way to dodge this issue. What you do is, you stick an FTDI chip at the front end. USB to serial is the easiest, but if you need more bandwidth, you can do USB to SPI. So FTDI manages the drivers, and most windows (and Linux) PCs are going to have valid FTDI drivers in them from OS install. You then either access the chip by having it map to a comm port or there is a way to link to FTDI's drivers.

      Either way, you export the problem - FTDI worries about writing and maintaining the driver, which hundreds of millions of devices depend on, and you just piggy back on that driver for your gadget. Works great and you can be up and running in under a day. (just use their USB to serial one, and connect RX and TX, and use the scanf/printf which most any microcontroller has support for)

    2. Re:Programming the Windows Driver Model by Anonymous Coward · · Score: 0

      But then you have to trust that FTDI won't intentionally brick your device with a future driver update.

    3. Re:Programming the Windows Driver Model by Anonymous Coward · · Score: 0

      It's even worse now with the quality of H-1Bs thrown into the mix over the last decade. Stackexchange, copy, paste, compile, ship.

      Anders bailed us out big time. He's a CS god who actually knew how to design a usable language+library that's on par with ios/cocoa.

      MHO.

    4. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      Cocao? Are you seriously trying to suggest that Objective-C is well designed language? Its one of the most hideous kludges I've ever seen, and for all of the supposed "power" that it brings over from smalltalk, its far less powerful than C++ was even a decade ago.

      Manually calling constructors/init in 2017? And not just one call, two!
      No collections
      No generics
      God awful mish mash syntax
      Dynamicing typing when sending messages

      Obj-c should be taken out the back and shot. Even apple has seen the light, but instead of doing the sensible thing and moving to C++ they created another pointless new language Swift. Ah well.

    5. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Are you seriously trying to suggest that Objective-C is well designed language? Its one of the most hideous kludges I've ever seen, and for all of the supposed "power" that it brings over from smalltalk, its far less powerful than C++ was even a decade ago.

      I don't know what he's implying, but I'll take Objective-C over the C++ cruft any day. Clean design wins over scatter-brained feature adding every time. The motto of C++, especially a decade ago as you said it, "If there are two ways to do something, choose the least obvious way." Having to manually add a v-table is a perfect example: it's totally backwards. There should be a keyword to suppress v-tables if you don't want them. And 'friend', what a glorious keyword! And the way classes are instantiated makes it difficult to maintain a stable public interface.........you need to recompile even if you want to add a private variable. C++ is a klludge that only a scatter-brained tinkerer could love.

      Also, your mother sucks goat cheese!

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Programming the Windows Driver Model by Anonymous Coward · · Score: 0

      I'm doing embedded work. I've noticed (and done myself) that there is a way to dodge this issue. What you do is, you stick an FTDI chip at the front end. USB to serial is the easiest, but if you need more bandwidth, you can do USB to SPI. So FTDI manages the drivers, and most windows (and Linux) PCs are going to have valid FTDI drivers in them from OS install. You then either access the chip by having it map to a comm port or there is a way to link to FTDI's drivers.

      Either way, you export the problem - FTDI worries about writing and maintaining the driver, which hundreds of millions of devices depend on, and you just piggy back on that driver for your gadget. Works great and you can be up and running in under a day. (just use their USB to serial one, and connect RX and TX, and use the scanf/printf which most any microcontroller has support for)

      This method puts you at the mercy of bugs in FTDI's driver. Practically speaking, that isn't much of a problem any more, but the driver would BSOD almost immediately if you had a multiprocessor machine and more than one FTDI device connected... and the problem didn't get fixed until multiple years after the Pentium D made multiprocessor pervasive.

    7. Re:Programming the Windows Driver Model by Lehk228 · · Score: 1

      that's easy, don't use pirate chips.

      --
      Snowden and Manning are heroes.
    8. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      "Having to manually add a v-table is a perfect example: it's totally backwards"

      If you mean using the "virtual" keyword then there are good reasons for having it as an option and if I have to explain why then you probably wouldn't understand the answer.

      "There should be a keyword to suppress v-tables if you don't want them"

      There is - don't use "virtual".

      "And 'friend', what a glorious keyword! "

      Not a problem with objective C since its class security isn't complex enough to warrant it.

      "you need to recompile even if you want to add a private variable"

      Err yes, compiled languages tend to need recompilation if you alter the code unless its in a shared object library / dll in which case you don't. So no idea what your point is there.

    9. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Err yes, compiled languages tend to need recompilation if you alter the code unless its in a shared object library / dll in which case you don't. So no idea what your point is there.

      You don't know what the point is because you have no language judgement. I will say it again, so your simplistic mind can maybe wrap its head around:

      If you add a private variable to a C++ class, it's a breaking change. It's not backwards compatible. That's a C++ problem, it's not a problem in almost any other language.

      --
      "First they came for the slanderers and i said nothing."
    10. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      "If you add a private variable to a C++ class, it's a breaking change. It's not backwards compatible. That's a C++ problem, it's not a problem in almost any other language."

      *boggle*

      You're talking out your arse and clearly have no idea of the difference between backwards compatability, re-compilation requirements or what a shared library is or how they work. Go educate yourself on compiled languages , not whatever mickey mouse VM or scripting languages you think makes you an expert on this subject. You're not.

    11. Re:Programming the Windows Driver Model by WorBlux · · Score: 1

      >that's easy, don't use pirate chips.

      Easier said than done, you can't buy chips directly from FTDI, and in small quantities it is even hard to buy from an official supplier. The supply chain for this stuff is very complex, and not very transparent. And even then how in the world is the end user supposed to now weather a device they are looking at buying has a genuine FTDI chip.

    12. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Sure, sure, insult all you want. But I am right.

      class A {
      public:
      int y;
      private:
      int z;
      }


      If you change that to this:

      class A{
      public:
      int y;
      private:
      int z;
      int r;
      }


      Any users of your library need to recompile.

      --
      "First they came for the slanderers and i said nothing."
    13. Re:Programming the Windows Driver Model by ShooterNeo · · Score: 1

      And you think that rolling your own driver isn't going to carry the same risk?

    14. Re:Programming the Windows Driver Model by ShooterNeo · · Score: 1

      You can buy FTDI development boards that do come direct from FTDI from Mouser. As well as the chips themselves. Reason these things are pirated so often is they are the best. (or, I guess more accurately, everyone else's is crap).

    15. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      "Any users of your library need to recompile."

      Not if its in a DLL they don't and if its #included then of course a recompilation is needed if any code has changed - its a fucking compiled language you clueless gimp! As I said, go educate yourself on:

      A) the difference between shared libraries and code included in compilation
      B) what "backwards compatability" means cos it ain't what you think.

      Perhaps if you'd concentrated in class instead of thinking you've got the inside view of programming from PHP for Dummies or some similar mickey mouse beginners book you might make less of a fool of yourself. In the meantime, go buy a ticket on the clue train. Bye.

    16. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      if its #included then of course a recompilation is needed if any code has changed - its a fucking compiled language you clueless gimp!

      A compiled language? What does that have to do with it? Objective C can add private members in a library without recompiling everything that depends on it. Lots of compiled languages can, actually.

      tbh I'm surprised how little you know about languages. Might want to pick up a book on the topic or something.

      --
      "First they came for the slanderers and i said nothing."
    17. Re:Programming the Windows Driver Model by Lehk228 · · Score: 1

      you can buy as few as 1 from element 14, it took all of 30 seconds to find FTDI's vendor list. it's not difficult at all unless difficult = I buy 'em off alibaba and don't give a shit.

      --
      Snowden and Manning are heroes.
    18. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      "A compiled language? What does that have to do with it? Objective C can add private members in a library without recompiling everything that depends on it. Lots of compiled languages can, actually."

      I think we've already established that you have no idea of the difference between static and dynamic linking. Don't dig the hole even deeper. Also Obj-C isn't a pure compiled-to-the-metal language like C++ , since it has a runtime support system. Which you knew about, right? Oh, you didn't. Quelle surprise.

    19. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Static or dynamic makes no difference in this case. It's a question of who allocates, the caller or the callee.

      --
      "First they came for the slanderers and i said nothing."
    20. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      BS. If you want the updated code you have to recompile if the class is in an archive/static library. If its in a shared object library you don't. End of.

    21. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      If its in a shared object library you don't.

      Nope, you've obviously never used dlopen(). LOL You're so cute.

      --
      "First they came for the slanderers and i said nothing."
    22. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      Did you just google something about shared object files and slap it down in text hoping it would be some killer point?

      So do tell me - why would one require a full recompilation when using dlopen() if a .so file has been updated because of a class update but the main program isn't directly using the class thats been modified?

      Be specific, take your time...

      (Just as an aside - you should have stayed AC, I'm going to email this thread to some friends of mine to have a laugh at and we'll all follow your further "insights" in the future now ;)

    23. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Nah, I think the thing you're not seeing is that by convention, in C++, the caller allocates the memory. So if the size of the class changes, the caller needs to be recompiled. Check out the assembly output sometime, you'll see.

      --
      "First they came for the slanderers and i said nothing."
    24. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      Which bit of "but the main program isn't directly using the class thats been modified?" didn't you understand?

      If the shared library is constructing the class to be used internally and the main programing isn't even #including the class prototype the main program DOES NOT need a recompilation since it would rather defeat the point of dlopen()! Perhaps you need a refresher in basic linking.

      Also I would suggest remedial english courses since apparently comprehension isn't your strongpoint either.

    25. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      Hehe, now you changed the example when you learn you were wrong. Incidentally, I would never want to work with you.

      --
      "First they came for the slanderers and i said nothing."
    26. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      How exactly did I change it? If the main program is using the class and the class definition changes in the .h file then obviously it'll need a recompile. Thats so fucking obvious I didn't think it even needed stating to a so called expert like you.

    27. Re:Programming the Windows Driver Model by phantomfive · · Score: 1

      heh.......what exactly did you think was meant by this comment? Maybe you should change the subject and talk about kittens. Or get some knowledge.

      --
      "First they came for the slanderers and i said nothing."
    28. Re:Programming the Windows Driver Model by Viol8 · · Score: 1

      That ONLY applies if you're using the class in the main program, NOT if its just used in my library which is the whole point. Sorry, is recompiling when a header file changes such as advanced concept for you that you thought it required explicit confirmation? I'm afraid I thought I was having a discussion with someone who had a clue, clearly I was wrong.

      As for getting some knowledge sonny, I've been doing unix systems programming in C & C++ for 2 decades , unlike I suspect you, who's probably dabbled for a few weeks or read a few chapters in Stevens and now you think you're an expert.

      But anyway thanks for the entertainment. Like I said, your handle has been noted and we're all going to be watching for further of your "expert" pronouncements ;) Over and out script kiddy and don't bother responding , I won't be reading this thread again.

  21. 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.
    1. Re:Methinks silly hack... by TheDarkMaster · · Score: 2

      The problem arises when both drivers looks the best ones to use, assume equal signatures, certifications, etc. Compilation date is not a bad option to decide priority when you have many copys from the same driver from the same vendor for the same hardware and this vendor forgets to report correctly the version.

      --
      Religion: The greatest weapon of mass destruction of all time
    2. Re:Methinks silly hack... by wbr1 · · Score: 1

      Uhhhh.... why would the sigs be equal? It is a cryptographic hash of the driver and can contain, or be used as a unique id to obtain all the info for that specific version. Also, this is between vendor versions vs MS versions, not vendor to vendor. Would not the signature be invalid if the vendor failed to update it for new versions? Shouldn't it contain a hash of the driver data to compare (which would change between versions)?

      --
      Silence is a state of mime.
    3. Re:Methinks silly hack... by TheDarkMaster · · Score: 1

      I was thinking of drivers from the same manufacturer to the same hardware unless you are thinking of putting in that signature the manufacturer and the driver version. And I noticed that Microsoft's idea would also work in the situation where you're replacing a manufacturer's driver with a newer version of the same manufacturer without having to depend on the manufacturer having informed the versions correctly. So with the same code you can satisfy both cases (manufacturer-manufacturer and manufacturer-microsoft)

      --
      Religion: The greatest weapon of mass destruction of all time
    4. Re:Methinks silly hack... by thegarbz · · Score: 1

      are now

      I quoted the relevant part of your comment. Never underestimate the power of legacy.

  22. Well, it was either that, or... by Oxygen99 · · Score: 5, Funny

    Prefix all their drivers with AARDVARK_

    --
    I had a dream, bright and carefree, but now there's doubt and gravity
    1. Re:Well, it was either that, or... by Chris+Mattern · · Score: 1

      Hey, aardvark pays off!

    2. Re:Well, it was either that, or... by thegarbz · · Score: 1

      That will be a problem when Nvidia release version 26 of their driver prefixed with ZAPOS_. Then on the roll-over they will do it excel style and the next driver will be called AAARDVARK_ only to be alphabetically replaced by the windows default.

    3. Re:Well, it was either that, or... by Anonymous Coward · · Score: 0

      I remember I used to use Opera browser. For several versions, they didn't increment the version past 9 because a ton of websites only checked one digit. If they presented version '10,' those websites would wig out thinking they were visited by Opera 1. Lol. Terrible.

  23. It doesn't look funny by Doloresanto · · Score: 1

    It's plain ugly.

  24. 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.

    1. Re:Wrong Priority by ShooterNeo · · Score: 5, Interesting

      Yeah that's what I don't get. Why doesn't version number take precedence over time stamp? Why isn't the time stamp the date the manufacturer driver got Windows Certified? If you think about it, the last windows certified driver is going to be the one you want, from the perspective of an OS updater you want the latest version from the most stable branch.

    2. Re:Wrong Priority by Yunzil · · Score: 1

      Sure. Now you just have to get everyone to agree on a version number scheme and get all the vendors to coordinate with Microsoft to make sure their version numbers are in sync.

      (The problem is, what happens if the Microsoft driver version number is 4.6.13 and the vendor's version number for their newer revision of the same driver is 2.9?)

    3. Re:Wrong Priority by Anonymous Coward · · Score: 0

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

      How does that help things when you have 2 different companies writing drivers using 2 different versioning schemes ?
      Setting the date back to 2006 does sound silly, but the alternative is for MS to waste shitloads of time going thru every OEM driver and making sure their version of it has a lower number.

    4. Re:Wrong Priority by CrimsonAvenger · · Score: 3, Insightful

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

      So, Rev 51.2.3.1 of the MS Driver, dated July 20, 1969, should have a higher priority than Rev 34.5 of an nVidea driver? Really?

      Revision number having priority would work if everyone who made drivers for that device used the same sequence of revision numbers. With two or more groups each using their own sequence of revision numbers, not so well.

      --

      "I do not agree with what you say, but I will defend to the death your right to say it"
    5. Re:Wrong Priority by coinreturn · · Score: 1

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

      So, Rev 51.2.3.1 of the MS Driver, dated July 20, 1969, should have a higher priority than Rev 34.5 of an nVidea driver? Really?

      Yes, because the time stamp of 1969 has obviously been altered and thus the version number should be used. Thanks for proving my point.

    6. Re:Wrong Priority by Anonymous Coward · · Score: 0

      Obviously.

    7. Re:Wrong Priority by Sabriel · · Score: 1

      Or you could just use a revision numbering format standard that includes a temporal direction, e.g. yyyy.mm.dd.xxx, and insist that third-party drivers adhere to that standard (Microsoft does have a WHQL certification process after all)? That way it wouldn't matter if someone accidentally'd the filesystem date stamps for the driver files at all.

  25. That's Not What I Asked by magusxxx · · Score: 1

    "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." But is it the flagon with the dragon or vessel with the pestle?

    --
    Care killed the cat, but satisfaction brought it back.
  26. But why that date? by Tomahawk · · Score: 2

    I was expecting an answer to why that particular date was chosen. I could easily have guessed that they were back dated to allow files with new filestamps to take priority. But why that date, and not, say, 1970-01-01 00:00:00?

  27. Half asssed by Anonymous Coward · · Score: 0

    Typical half-assed mickeysoft solution. Just check to see if the driver is windows or manufacturer and if it's manufacturer with a later date use it instead of the windoze crap driver.

  28. Hilarious by Anonymous Coward · · Score: 0

    From the perspective of modern (and at this point I'm not even sure what I mean .. anything made after the 1970s, maybe?) computer, this is hilarious. In contrast to the Windows approach, over here in the real world, the way we pick drivers is to..

    (wait for it)

    ..use whichever one passed your tests the best. I know, crazy, right?!

  29. WTF is this about by Anonymous Coward · · Score: 0

    What does that comment have to do with anything? If I could mod you OFFTOPIC I would.

    1. Re:WTF is this about by jpellino · · Score: 1

      1. Watch Silicon Valley. 2. Note jaw droppingly bizarre tech 'splaining by Erlich Bachman (and other selected characters). 3. Note similarity to Windows driver decision tree explanation. Or not.

      --
      "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  30. Yup! by Sooner+Boomer · · Score: 2

    For years, people have wondered why all Windows drivers are dated June 21, 2006.

    Yup, I just checked. All my XP and Vista drivers are dated 7/21/2006. How did they know?

    --
    Chaos maximizes locally around me.
    1. Re:Yup! by freeze128 · · Score: 1

      That would actually be JULY, not June.

    2. Re:Yup! by Anonymous Coward · · Score: 0

      D'oh! Off-by-one error.

  31. Windows full of kludges, confirmed by HalAtWork · · Score: 2

    I think we already knew this type of bullshit was happening under the hood but it's nice to see a detailed explanation. Gross though.

    1. Re:Windows full of kludges, confirmed by Anonymous Coward · · Score: 0

      I think we already knew this type of bullshit was happening under the hood but it's nice to see a detailed explanation. Gross though.

      Best comment. So gross.

  32. And MS fanboys wonder by RightwingNutjob · · Score: 2

    why no one takes Microsoft seriously. I mean how hard is it to maintain a "registry" of drivers for a given device? It's not like peripherals don't have unique ids you can get at through the bus.

    1. Re:And MS fanboys wonder by Anonymous Coward · · Score: 0

      Unique ids for peripherals... are not. Originally, every nic was supposed to have a unique value. That takes effort and resources to burn that value into the onboard memory. (also people became worried about tracking) So skip it. And the world breaks since it expected them to be unique.

    2. Re:And MS fanboys wonder by Anonymous Coward · · Score: 0

      Id's that are unique enough to match the type of chipset and features to a driver already exist. It's called PCI ID.

    3. Re:And MS fanboys wonder by Anonymous Coward · · Score: 0

      Why worry about unimportant things like DEVICE DRIVER reliability when you need to add Cortana features to read your email, start menu tiles that are video adverts, and just about every mouse click spawning a dozen HTTP requests to OS and app trackers.

      MS and now Apple have lost sight of fundamentals in a BIG way. When windows don't size correctly, or the mouse cursor doesn't respond properly, you need to go back and make the BASICS work first.

      Shit, I'm using MS Office 2016 on both OSX and Win10 and both versions of Excel have axis label rendering problems. But boy oh boy do the scroll animations work like a fucking peach.

    4. Re:And MS fanboys wonder by RightwingNutjob · · Score: 1

      Spoken with the wisdom of inexperience. Cheapo Chinese USB serial port dongles have unique serial numbers that you can get at to map the right physical dongle to the right /dev/ttyS_whatever symlink. Or "COM port" in the parlance of the n00bs.

  33. Better timestamped June 21. 2006 by Anonymous Coward · · Score: 0

    Than being timestamped April 4. 1984.

  34. It probably corresponds with... by Anonymous Coward · · Score: 0

    It probably corresponds with the introduction of a new driver model with Windows Vista. Drivers prior to that date weren't guaranteed to be compatible, so they wanted to make sure that if you had an older, incompatible driver, that the Microsoft driver would be used until the Manufacturer had updated their driver to the new model(s).

    They're working with Windows Installer technology, which as some basic rules about when to replace a file or driver. While Windows itself may have a newer version of the Windows Installer engine installed and available, Device or Software manufacturers may be using much older versions of the MSI database, and Microsoft can't force new behaviour on the older installer. The date thing was a way to make sure that even if a manufacturer was using a Windows Installer 1.0 based installation, it would still work as they intended.

  35. Re:Seriously... What a nightmare computing has bec by TheFakeTimCook · · Score: 1

    . Maybe it's all the weed talking, but I've really lost the will to even attempt to understand all the insane complexity of modern PCs. I feel like I do nothing but constantly deal with all sorts of bizarre glitches and software harassing me in numerous ways, to the point where I mostly use the computer for the sake of maintaining itself, rather than any actual work.

    That's not how it was back in the Amiga days.

    You need to shitcan that Linux box and buy a Mac.

  36. Because the version numbers are different by Anonymous Coward · · Score: 1

    Microsoft version's their drivers with the Windows version (5.1.2600), ATI's Drivers at the time were something like Catalyst 2.6. If they used the version number, Microsoft's drivers would have always been higher.

    They're working under the paradigm of the Windows Installer engine, and using the behaviour that it provides to get the behaviour they want without changing the engine.
    If they added new "Microsoft driver vs. Manufacturer Driver" logic to a new version of MSI, installation programs built with an older version wouldn't be able to use it, and if MS forced it to apply to installations built with an older schema, they could break the manufacturer's intended behaviour.
    This date thing follows all the MSI rules as they exist, wont' cause any unintended behaviour, and by using the Windows Vista RTM date, they guarantee that they will replace any pre VISTA drivers, but drivers that have been updated by the manufacturer will always take precedence.

    If they made another major driver model change, they would probably change their drivers to that new date, to cause the same behaviour again.

  37. So then why a date at all? by damn_registrars · · Score: 2

    It sounds like the date is almost never, ever, used as they are all dated the same. Why even consult that field or have it exist at all?

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:So then why a date at all? by thegarbz · · Score: 1

      It sounds like the date is almost never, ever, used as they are all dated the same. Why even consult that field or have it exist at all?

      "All Windows drivers" are all dated the same. Not "all drivers for Windows". Only Microsoft sets a fixed date for drivers shipped with Windows. Every other manufacturer can and does use the field. E.g. My graphics card driver: 11/12/2016

  38. If that were so, you could never install a beta. by Anonymous Coward · · Score: 0

    If that were so, you would never be able to install a Beta driver

  39. Viruses? by Anonymous Coward · · Score: 0

    Hold on. Let's say that a virus modifies the older driver which, of course, now bumps the timestamp to the day of the infection. This would move the older - now infected - driver up in the priority? Wow. That explains so much.

    1. Re:Viruses? by clodney · · Score: 1

      Hold on. Let's say that a virus modifies the older driver which, of course, now bumps the timestamp to the day of the infection. This would move the older - now infected - driver up in the priority? Wow. That explains so much.

      As Raymond Chen would say, "That rather involved being on the other side of the airtight hatchway". If you can modify the driver, who cares about the timestamp, just modify the actual driver being used and be done with it.

  40. Re:If that were so, you could never install a beta by ShooterNeo · · Score: 1

    We're talking about default behavior here. Obviously if the user wants to override that and install any (signed) driver they want, they can do it. If they want install an unsigned driver, these days they are forced to reboot into safe mode, which I don't disagree with, since drivers have the privileges to do almost anything and the user has no way to know what a driver will do from the binary.

  41. No, they can't .. that's not how it works.. by Anonymous Coward · · Score: 0

    That's not how the Windows Installer engine works. You can't force the system to install a older driver over a newer driver unless the installation has been written to do that (And the way the Windows Installer engine "always overwrite" is be setting the version number impossibly high, so that it will always win the "which file is a higher version" check. The Windows Installer engine won't let you do that, precisely to avoid installing an older release over a newer one.

    This implementation uses the standard Windows Installer file versioning rules to provide the behaviour they want, without breaking anything else.

  42. In defense ... by Anonymous Coward · · Score: 0

    It's not only about Microsoft drivers vs. manufacturer drivers. Not all drivers shipped with Windows are developed (and signed) by Microsoft.
    Not all drivers pre-installed on a shipped computer are developed by Microsoft (OEM drivers by laptop makers).
    So you cannot easily determine precedence by who signed the driver.

    "Why doesn't version number take precedence over time stamp?" - You would need to synchronize version numbers across different driver developers. Silly.

    File timestamps are actually a pretty good mechanism to determine what is newer. Works fine for code builds for example. So what's wrong with using it to determine which drivers are newer?
    Also, you do not need to actually open the driver file to read the timestamp (it's in the directory record) - saves a bit of HDD trashing during boot.

    That specific date is probably related to current generation of driver model, coming with Windows Vista.

  43. 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.

  44. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 0

    You need to shitcan that Windows box and buy a Mac.

  45. In other words... by QuietLagoon · · Score: 1

    ... a massive kludge to get around yet another Windows design flaw.

  46. Microsoft must believe... by QuietLagoon · · Score: 1

    ... that so long as there is an explanation n for the incredibly stupid design decision, that design decision is masterful.

  47. You design something right the first time by FeelGood314 · · Score: 1

    As the driver system architect you have to:
    Make sure all the existing drivers work
    Work with every possible permutation of system - multi core, weird combinations of peripherals
    Anticipate new possibilities even though you have no idea what those might be
    Get it done by a deadline

    No you don't get to go back and fix past mistakes, you don't get to create a new preference field, you have to work with something that is common to every existing driver. Kludge? It's ugly but I bet 99.9% of us couldn't have come up with something better and MS just didn't have the 0.1% guy available at the time.

  48. Wouldn't it be easier.... by Anonymous Coward · · Score: 0

    ... to just have windows know to automatically default to the manufacture's drivers first unless the user specifies otherwise?

  49. So then.... by Chris+Mattern · · Score: 1

    ...you had to use a hacky, counterintuitive fix to cover for a bad design decision. Business as usual at Microsoft, in other words.

  50. Re: Seriously... What a nightmare computing has be by Anonymous Coward · · Score: 0

    Weed is very much a demotivator for all kinds of things.

  51. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 1

    Actually his box was Windows.

    That is why things are so complicated.

  52. Re:1980 for DOS, 1970 Unix Aways ten years behind. by Anonymous Coward · · Score: 0

    Nothing special about the data according to this extensive list. It is near the new DST rules being implemented, though.

  53. XP using modern drivers? by Anonymous Coward · · Score: 0

    Does this mean my XP, where I am currently typing this, is using better drivers than Windows 10? All drivers of my XP were dated 4/14/2008. I told you guys, don't downgrade your OS.

  54. 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
    1. Re:The goal of MS drivers was to kill WordPerfect by Anonymous Coward · · Score: 0

      I don't know if you have read Almost Perfect, but it is a fascinating look at the internals of Word Perfect: http://www.wordplace.com/ap/ While I do think Microsoft's approach was a big problem for WP, I'm not sure WP's culture was some ideal panacea either.

    2. Re:The goal of MS drivers was to kill WordPerfect by Anonymous Coward · · Score: 0

      I remember these days and like your perspective!
      I'll add some things to confirm your description that MS has always been fond of Embrace, Extend, and Extinguish:
      https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

      >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.
      - MS will see a good thing and try to replace it with their version as 'standard'.

      >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...
      - Again proprietary & ill-defined changes against a working model that benefits MS, at the sacrifice of customer happiness & useability.

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

      ALL HAIL 140Mandak262Jamuna !!

    3. Re:The goal of MS drivers was to kill WordPerfect by Anonymous Coward · · Score: 0

      What idiot modded this informative? None of his claims are actually true.

  55. Real reason could be related to Telemetry by Anonymous Coward · · Score: 0

    /tinfoil hat on

    Just imagine if the Telemetry system works by sifting all the currently updated/modified/touched files. All the Telemetry would send is a bunch of useless files related to drivers and useless binary blobs which could clog the MS servers. By reinstalling your drivers, all the driver files would be touch'ed to the current date and be included in Telemetry, while if it is dated to 2006 it won't be included to Telemetry, ever.

    captcha: excels

  56. Unless.... by Anonymous Coward · · Score: 0

    Yeah, like most stupid kludges, this works unless... the date on the best mfr driver is before 2006, which can easily happen, and the include MS driver is later, earlier, or whenever, but crappier.

  57. Click here to update your drivers. by Anonymous Coward · · Score: 0

    We scanned your computer and noticed your drivers are all dated June 21, 2006. Please click here to download this program to update all your drivers. No ???, just profit!

  58. Re:Seriously... What a nightmare computing has bec by phantomfive · · Score: 1

    Hey, it sounds like you have a deployment problem. Just use docker and kubernetes to keep your system up to date and everything will be easy. J/K docker is a mess, the problem is it's too close to the metal and needs to abstract some of those differences away. It should really have been built on top of systemd. Clean, simple, easy. You can run the deployment server in your bios.

    --
    "First they came for the slanderers and i said nothing."
  59. It's completely different in Linux by zdzichu · · Score: 1

    It is interesting to see this is complete opposite of what we have on Linux. Here, vendor drivers are almost universally shitty. If they work at all, vendors tend to ship drivers compiled for ancient and/or specific kernels.
    On Linux, if you have driver in kernel, you almost always want it instead of vendor provided one. nVidia GPU driver may be the only exception.

    --
    :wq
  60. How 'bout incorporating the driver in the hardware by mmell · · Score: 1

    UEFI doesn't suffer the same addressing limitations BIOS does. Just put the vendor driver in the hardware firmware, perhaps on EEPROM.

  61. Fix FeatureScore already by Anonymous Coward · · Score: 0

    If the FeatureScore directive in Windows driver INF files worked properly you wouldn't need these kludges. Stop overloading it's meaning and go back to respecting the documented usage of FeatureScore already.

  62. 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
  63. Windows does track the source, but ignores it by angryargus · · Score: 1

    Why don't they simply add another record ("source") to help make the driver comparison? A typical Microsoft solution I would say.

    Windows already keeps track of the source when ranking drivers, it's just MSFT changed the default Window policy to ignore it (to address certain issues, some technical, some political) and apparently used this kludge to mitigate some of the tradeoffs. The blog description skipped over several steps on how Windows ranks drivers. The first and main criteria is on how a driver is signed (i.e., the source), and only after that does it potentially need to tie-break based on the blog's description of hardware IDs, dates, and file versions.

    Lowest rank score wins, and an inbox driver (i.e., a driver included with Windows) is scored 0x0D000003, which is higher than a WHQL signature score of 0x0D000002 or 0x0D000001 (according to setupapi.h in the Windows SDK). However, in Windows 7 the default policy was changed to now treat all signers the same, which now effectively ignores the source. Apparently this date is used to still try to favor vendor drivers despite this change in policy.

  64. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 0

    I prefer the days when my OS was stored in a 12K ROM :-/

    And no, I don't mean an mbed-os flash loader. I mean my Apple ][.

    I just spent 15 minutes looking for "apple ][ bugs" ... i wonder what bugs Woz was working on back then.

  65. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 0

    > You need to shitcan that Linux box and buy a Mac.

    You're not a programmer, are you?

    Mac OSX posix implementation has some components that are a decade old and cannot be updated. They provide "port" which is supposed to roll in packages, but they are out of date. Brew tries to help, but the community is small.

    Linux packages: what distro you on? yum, zypper, apt, rpm? /bang head on wall/ .. uh oh, /usr/local/ just got nuked, how do i back out a package? can't. doh. reinstall everything.

    It's a fucking cluster fuck out there on EVERY OS.

    Source: I develop OSX, Win, Linux.

  66. WOW by Anonymous Coward · · Score: 0

    Well played Microsoft... well played.

  67. It's very simple actually.. by r1348 · · Score: 1

    That's when we last touched them.

  68. Remember the real reason for Windows "10"? by Anonymous Coward · · Score: 0

    Wasn't it because some oddball software was reading a version string rather than version number, and would have read Windows "9" as "9x" and tried to install the Windows 95 or 98 version of the software (or failed in that pursuit because there simply wasn't one)? Marketing of course then realized that the new Windows had to be a "perfect 10" so voila. Considering that approach to version numbering, is it any wonder why drivers are done the way it's described?

  69. Uh... by Anonymous Coward · · Score: 0

    Instead of back dating drivers they should just revise their algorithm. That sounds more like a hack than a solution.

  70. Re:Seriously... What a nightmare computing has bec by antdude · · Score: 1

    No kidding. I miss the old days of computing. These days, computing is no fun. Complex, unstable, buggy, etc. :(

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  71. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 0

    See, this is what happens when you introduce dumbed down devices that make every effort to encourage the masses to stop thinking for themselves. Thanks, Steve Jobs!

    Now go back to your tablet.

  72. Mac OS? by felixrising · · Score: 1

    I hate to say it, but really it should "just work".. given Microsoft *can* control what drivers are installed, I simply don't understand why hardware drivers aren't maintained through a quality controlled channel, let people choose which version they want, but otherwise have a default currently supported (and tested in at least the most common hardware configurations) driver that is delivered through windows updates or something...

    One of the reason's I (as a Windows admin, and Linux admin too) enjoy using an Apple Mac is because I *never* have to dick around with drivers. This is likely also a major contributor to touted enterprise support cost savings at IBM despite higher initial buy cost for their Macbook Pro fleet.

    I realise all the myriad configurations would make extensive testing of every configuration improbable, something that Apple has an advantage over by controlling the hardware as well as OS, but I also refuse to believe this is an insurmountable engineering problem.

    1. Re:Mac OS? by WorBlux · · Score: 1

      > I *never* have to dick around with drivers

      Only if you never venture beyond the set of approved hardware.

      Linux has the technological framework to do what you ask already, it's just that not all manufacturers are on board with the issue. Even Windows drivers could be managed more centrally, but the big issue is fly-by-night hardware and peripheral companies that release stuff into the market and are trying to hit the lowest price point. These manufacturers have not intention of providing long term support.. As long as the driver doesn't break during the 1 year warranty period they don't care. One solution may be to windows to stop selling OEM licenses to any computer that includes a for which the manufacturer as publicly released source code, or has given Microsoft the source code and a monetary bond so that Microsoft is able to fix the driver if it breaks during the expected life of 95% of the units sold.

  73. Re: Seriously... What a nightmare computing has be by Anonymous Coward · · Score: 0

    Fuck off, shill.

  74. Re:1980 for DOS, 1970 Unix Aways ten years behind. by complete+loony · · Score: 1

    Using 1899-12-30 vs 1899-12-31 is due to counting from 1 instead of 0, and screwing up 1900-02-29 in Lotus 1-2-3...

    --
    09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  75. Re:Seriously... What a nightmare computing has bec by Anonymous Coward · · Score: 0
    The weed has tinted your hindsight rose-colored. The way I remember, any app could (and often did) go haywire and corrupt the entire system and cause a guru meditation.

    From the wikipedia entry:

    The text of the alert messages was completely baffling to most users. Only highly technically adept Amiga users would know, for example, that exception 3 was an address error, and meant the program was accessing a word on an unaligned boundary. Users without this specialized knowledge would have no recourse but to look for a "Guru" or to simply reboot the machine and hope for the best.

    Business as usual.

  76. I Would Have Thought by Anonymous Coward · · Score: 0

    ... that they would have used January 1, 1980. That's the date which the original IBM PC (IBM DOS) used before clock cards were available. There was even a joke about it: "Fortunately I had a backup dated Jan 1, 1980."

    Back when Lotus 1-2-3 was popular on the dual floppy PC, you had to make a boot disk, which had command.com and some other stuff, as well as "DATE / TIME / LOTUS" in the AUTOEXEC.BAT file. IIRC, it also had IBMBIO.COM and IBMDOS.COM as hidden files.

  77. Re:Driver release date vs file timestamp by hackwrench · · Score: 1

    The driver release date should be embedded in the files, but apparently that isn't what is happening and they go by file timestamp. I'm fairly certain that executables/dlls can contain a release date.

  78. Re:Seriously... What a nightmare computing has bec by Waccoon · · Score: 1

    That's not how it was back in the Amiga days.

    You mean the days when simply plugging in some fast RAM caused half your software to stop working? 8)

    Both my A1000 and A1200 were the most fun computers I ever owned, but man, Amiga programmers were the worst. They understood nothing about making software for a proper OS, especially when copy protection was involved (as it always was).

  79. Re:Seriously... What a nightmare computing has bec by WorBlux · · Score: 1

    >It's a fucking cluster fuck out there on EVERY OS.

    Yes, but where the cluster is and why it's there changes.

    Linux packages are definitely a nightmare for developers, but solutions are being worked on, GUIX is able to provide transaction updates and multiple versions without conflict. Flat-pack and docker, allow distribution by third parties that are isolated from the underlying system.

  80. MS Clueless by ebvwfbw · · Score: 1

    They can't compare version numbers? This is Computer Sci 101. As bad as their stupid date idea. Instead of it being the correct yyyymmdd they wanted it mmddyyyy. Yea, that'll sort well. Dumbasses.