4 ms·
Also it seems Microsoft had code reviews to catch such shenanigans as "/♥", but somehow the AARD code went completely undetected. https://en.wikipedia.org/wiki
by amiga386 3y ago
Also it seems Microsoft had code reviews to catch such shenanigans as "/♥", but somehow the AARD code went completely undetected.
https://en.wikipedia.org/wiki/AARD_code https://en.wikipedia.org/wiki/AARD_code
> The AARD code was a segment of code in a beta release of Microsoft Windows 3.1 that would determine whether Windows was running on MS-DOS or PC DOS, rather than a competing workalike such as DR-DOS, and would result in a cryptic error message in the latter case. This XOR-encrypted, self-modifying, and deliberately obfuscated machine code used a variety of undocumented DOS structures and functions to perform its work.
> Internal memos released by Microsoft revealed that the specific focus of these tests was DR-DOS. At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MS-DOS and not run with DR-DOS. Is there [sic] feature they have that might get in our way?"
> Microsoft Senior Vice President Brad Silverberg later sent another memo, stating: "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS."
> Microsoft Co-President Jim Allchin stated in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger."
- mewse-hn 3y agoI love business guys thinking they're mafia dons and using tortured murder metaphors to put their crimes in writing
- BearOso 3y agoUndetected only in the tongue-in-cheek sense. AARD was obviously intentional.
- amiga386 3y agoIntentional? Where is the specification explicitly asking for it? All we have are some memos asking Will no one rid me of this turbulent priest? My point is that internal QA processes mean nothing if the company itself has nefarious intent. It can approve every violation of trust it wants to. But here we are cheering Dave Plummer reminiscing about 1990s Microsoft firing an intern and overlooking their underhanded behaviour as a company.
- hinkley 3y agoThe AARD code ended up costing MS $280 million, not counting lawyer costs, in 1996 dollars when the new owners of DR DOS took them to court. Microsoft did unforgivable shit like this all the time, which is why some of us have never forgiven them. Bill Gates is a piece of shit trying to buy his way into heaven.
- lordfrito 3y agoThis is the way...
- hinkley 3y agoThere’s a reason Melinda’s name is on the foundation. I emphatically believe that if they hadn’t met he’d have spiraled out of control by now. I was going to make a joke about Melinda Gates deserving a Nobel, not Bill. In doing so I just learned that Bill tried to persuade the Nobel committee by using Jeremy Epstein’s help. What kind of help could Epstein provide other than blackmail?
- duped 3y ago> Bill Gates is a piece of shit trying to buy his way into heaven. On the one hand, he fucked over some tech bros. On the other, he's using the money he made off that to cure malaria. What a garbage human being.
- hinkley 3y agoHe tried to make the entire Information Age about him. Do you think if Bill Gates and Larry Ellison didn’t exist, that Google’s original mantra would have been, “Don’t Be Evil”? I don’t.
- toast0 3y ago> Where is the specification explicitly asking for it? Edit: actually check the docs [1], there are some specs. But anyway, assuming that memo was all... I never worked for Microsoft, and I know they did do some real design and specification work in this time period, but in my experience, this looks like as much of a specification as I usually get: > Microsoft Senior Vice President Brad Silverberg later sent another memo, stating: "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS." Tell me what the user's outcome is (user with DR-DOS is uncomfortable and thinks they have bugs), tell me what the desired user response is (buy MS-DOS and retry), and let me figure out the rest. Sounds like detect DR-DOS explicitly or implicitly, and fail occassionally, and cast asperssions in the error messages. Something like relying on internal layout of memory where MS-DOS always does it one way but DR-DOS doesn't always would be great (add comments to make sure MS engineers don't change it!) ; but I think they went with direct detection and intentional breakage. I don't think this was a good choice for MS, but I don't think the specification was unclear even if it wasn't detailed. I've done similar work that I don't feel bad about; unapproved 3rd party clients were using my service and I held them to a very strict API; not my fault they didn't have API docs and only reverse engineered 2/3rds of the requests. [1] https://web.archive.org/web/20180803194008/http://antitrust.slated.org/www.iowaconsumercase.org/011607/1000/PX01133.pdf https://web.archive.org/web/20180803194008/http://antitrust....
- sterlind 3y ago> Microsoft Co-President Jim Allchin stated in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger." For years, our yearly training specifically warned against using violent metaphors when referencing our competitors. It was probably because of that memo, huh?