Software analyst Geoff Chappell was the expert hired by Caldera to dig into the infamous AARD code. Recently he made a review of the discovery, publication, earlier work, personal work, and scale of effort involved in analyzing the AARD code, from a historical perpective. He doesn't adress the ethical or political repercussions of the code. However, being a principal in the analysis, he is able to set the record straight on some technical and legal facts.
The AARD code is from back when MS Windows was still just a graphical shell on top of a text-based disk operating system (DOS) and existed briefly as some XOR-encrypted, self-modifying, deliberately obfuscated machine code and using a variety of undocumented DOS structures and functions. The purpose of the code was to detect competing DOSes, specifically, the then popular DR-DOS, and throw up an unnecessary warning when detected.
Some programs and drivers in some pre-release builds of Windows 3.1 include code that tests for execution on MS-DOS and displays a disingenuous error message if Windows is run on some other type of DOS. The message tells of a "Non-fatal error" and advises the user to "contact Windows 3.1 beta support". Some programs in the released build include the code and the error message, and even execute the code, performing the same tests, but without acting on the result to display the error message.
The code in question has become known widely as the AARD code, named after initials that are found within. Although the AARD code dates from the start of the 1990s, it returned to controversy at the end of the 1990s due to its appearance in a suit at law between Caldera and Microsoft. Caldera was by then the owner, after Digital Research and Novell, of what had been DR DOS. It has ever since been treated as a smoking gun in analyses of anti-competitive practices by Microsoft.
It is not my intention here to comment on the rights or wrongs that I may or may not perceive in the AARD code's existence. However, I must declare a financial interest: in 1999 when this note was first published, I was engaged indirectly by Caldera to assist with their understanding of MS-DOS and Microsoft Windows for the suit just mentioned.
What I do intend here is to put on the public record a few points of history.
The AARD code, during its short tenure, was particularly effective in scaring the public away from DR-DOS.
(Score: 2) by iWantToKeepAnon on Friday November 12 2021, @06:29PM (16 children)
"Happy families are all alike; every unhappy family is unhappy in its own way." -- Anna Karenina by Leo Tolstoy
(Score: 3, Funny) by weilawei on Friday November 12 2021, @06:49PM (3 children)
Like that Linux thing that was a fad back in the early 90s?
(Score: 3, Touché) by DannyB on Friday November 12 2021, @07:09PM
Like back in 1982, long before that Linux thing.
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 0) by Anonymous Coward on Sunday November 14 2021, @04:43PM (1 child)
Who the hell needs an operating system anyway? Shit runs faster on the bare metal. I'm posting this on a customized C64 and still have 16k spare to...[carrier lost]
(Score: 2) by pipedwho on Monday November 15 2021, @04:44AM
I agree with you who needs a
shitty os to low you down
when you can just run bare
metal on a C64. That said, my
brother's system with MacOS
seems to run a few thousands
times faster than my C64 with
an internet connection that runs
faster than 1200 baud. The C64
who could want more?
(Score: 4, Informative) by DannyB on Friday November 12 2021, @07:09PM (10 children)
People now don't realize it, but that is exactly right. There were several superior systems available for the PC.
There is a reason for that. [soylentnews.org] I wrote that just earlier this morning. I'll repost some here:
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 0) by Anonymous Coward on Friday November 12 2021, @07:45PM (9 children)
there were mac clones but apple squashed them?
on topic: too young to care back then: joystick works? check! sound blaster works? check? himem and emm386 loaded all drivers above 640 kb leaving enough low mem for wing commander? check!
my "luv" for m$ started to crumble when internet explorer became "unremovable" in win98se.
*shrug*
using wine now and noticed i forgot windows stuff already "f#ck me! look at that registry thing!" lolz
(Score: 2) by bzipitidoo on Friday November 12 2021, @10:11PM (3 children)
What killed it for me was not just MS's untrustworthy code and ways. It was the Borland C++ compiler. Had several really horrendous bugs. Like, if your program used more than 64K RAM, the Borland C++ executable would just reuse the same 64K segment! This bug persisted to at least version 4.5, and I think into 5.0. One option was to pay lots more money for MS Visual C++. Switched to gcc on Linux, and never looked back.
(Score: 2) by DannyB on Friday November 12 2021, @10:23PM
The one C++ compiler that was a disaster for me, on Power Mac, was the Symantec C++ compiler version 8. Prior to that it worked great. And I also had used THINK C and MetroWerks CodeWarrior.
What really did it in for me (mid-late 90's) was that no two platforms C++ compiler implemented the same subsets of the language. Thus I couldn't expect to make some large subset of my code generic across both Mac and PC.
Now I'm sure that situation changed over time. But by then I had moved on to (something else) and then to Java.
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:20PM (1 child)
Reminds me of the time I was talking with the guys at Matrox, and they were complaining that Borland was optimizing away certain variables and replacing them with static values. This was actually a defect in the Microsoft compiler, which didn't have a "volitile" keyword for variables modified outside the programs control, such as an external clock or video hardware. So they wouldn't optimize out any variables that COULD be replaced by static values.
That you thought the 64k limit was a compiler defect shows that you were incompetent. It was VERY easy to seitch memory model, especially in the IDE.
(Score: 3, Interesting) by bzipitidoo on Saturday November 13 2021, @10:40PM
You troll, but I'll respond anyway.
I did buy it. Why did you assume otherwise? And I tried every one of those memory models, hoping to fix the problem. Not even "huge" avoided the flaw. Borland C++ is a toy compiler, okay for small school projects that stay well under 64K data. Even if your contention is correct that it was an intentional crippling to punish piracy, such treacherous design is stupidly risky. A false positive can too easily happen, and screw the paying customer. Sneakily injecting a flaw that could take much time to discover, rather than up-front telling the user of a licensing problem, is the height of treachery. Damned unfair to downstream users who had no part in any alleged piracy of the compiler by the developers. One has to wonder what else the compiler is doing? Maybe inserting back doors in the binary? Compilers must never abuse that trust. One reason it took me so long to figure out the problem is that I trusted the compiler, and thought that whatever was wrong was my mistake, in my code.
One flaw in version 2 that was fixed by 4.5 was its inability to handle the =<< and =>> shift assignment operators. Version 2 would throw up a screen of x86 assembly showing either SHL AX,n or SHR AX,n respectively, and those instructions aren't supposed to have a immediate amount, it can be only a shift of 1, or the amount in CL. At least, that's the way it was in pre-64bit days, not sure now with the frequent extensions of the x86 instruction set. Easily worked around by using the slightly more verbose notation "y = x >> 1;" but not something to inspire confidence in the compiler.
(Score: 2) by DannyB on Friday November 12 2021, @10:20PM (4 children)
The only Mac cone was blessed by Apple.
After much pressure, Apple finally decided to allow third parties to build Mac clones. One company bit. I can't remember for sure, but I think the name was Power Computing. (I can't swear to that.)
We got one for testing. It worked. But it felt like a cheap PC clone. Not like a Mac. The software was the same. But the experience was not. Like a PC clone, you could be sure that the company had paid people to sharpen the edges of the metal inside the case so that you would cut your hand open if you dared open the case to insert a peripheral card into a slot. That was typical of PC clones. Why go to the expense of sharpening all of those metal edges? Or needing tools to open the case.
With a Mac, you could safely open the case with your bare hands. No tools. Not even a screwdriver. The case was hinged. You flipped the top over exposing the inside. Everything was neatly arranged and accessible. As though someone had put actual thought into the user experience for someone adding or removing a card, or servicing a drive.
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @12:23AM
The sharp edges are a result of the stamping method used to make the cases. IBM, Apple, and the better clone case makers either rolled the edges afterwards or ran a dremel over them to remove the burs, but that costs money so the cheap case makers never bothered. It wasn't until the metal got thin enough that severe injuries happened and lawsuits forced them to change around the late 90's to early 2k's.
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @11:53AM (2 children)
haha, "open a mac". new generation reading this today are like: "what is "open a mac"?"
(Score: 2) by DECbot on Saturday November 13 2021, @03:18PM (1 child)
That's what Apple geniuses do at the tech bar when you crack your screen. It requires lasers, special tools, and UV ovens.
cats~$ sudo chown -R us /home/base
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:25PM
Not everyone wants a phone the size of an Otterbox in their pocket.
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @02:47AM
But the other systems required more expensive hardware (more resources) to run than DOS did. They also didn't run on an open hardware platform with a thriving free market.
Speaking of shit software platforms, I would give anything to have an alternative to our modern standard of open sores webshit software. It's the slowest, most unstable, and least documented platform to develop for. It was a giant leap backwards.
(Score: 2) by DannyB on Friday November 12 2021, @07:23PM (4 children)
I remember that Dr. Dobbs article. It reinforced my negative view of Microsoft. (disclosure: I was a card carrying Apple fanboy at the time, so naturally I wasn't a Microsoft fan.)
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 5, Interesting) by canopic jug on Friday November 12 2021, @07:33PM (3 children)
I remember that Dr. Dobbs article. It reinforced my negative view of Microsoft.
That's more than the Dr Dobbs does. You have to turn to the Internet Archive for that 1999 article: Examining the Windows AARD Detection Code: A serious message--and the code that produced it [archive.org]. Strange how of the few sites keeping archives, the inconvenient topics somehow vanish anyway.
Money is not free speech. Elections should not be auctions.
(Score: 2) by canopic jug on Friday November 12 2021, @07:40PM
Money is not free speech. Elections should not be auctions.
(Score: 0) by Anonymous Coward on Friday November 12 2021, @07:52PM
(Score: 2) by DannyB on Friday November 12 2021, @10:12PM
I was a Mac guy. I remember reading about this. I am not completely sure what year it was, or even if it were Dr. Dobbs. But I do remember the news. And an article that explained some of the analysis.
People today are educated enough to repeat what they are taught but not to question what they are taught.
(Score: 3, Insightful) by epitaxial on Saturday November 13 2021, @04:32AM (5 children)
Don't tell us what the fuck AARD code is or anything. https://en.wikipedia.org/wiki/AARD_code [wikipedia.org]
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @05:21AM (1 child)
They probably felt it was unnecessary because it's so well known, like writing about wheels without taking the time to explain what they are and their historical significance.
(Score: 0) by Anonymous Coward on Sunday November 14 2021, @04:52PM
Mmm I love cheese1
(Score: 3, Touché) by canopic jug on Saturday November 13 2021, @05:25AM
Money is not free speech. Elections should not be auctions.
(Score: 2) by drussell on Saturday November 13 2021, @09:46AM (1 child)
It is literally the second paragraph of the summary....
(Score: 0) by Anonymous Coward on Saturday November 13 2021, @03:30PM
It was poor marketing that killed DrDos. I went looking for it and couldn't buy it. If you're not in retailers, you were invisible.