[HN Gopher] The AARD Code and DR DOS (2021)
       ___________________________________________________________________
        
       The AARD Code and DR DOS (2021)
        
       Author : lproven
       Score  : 209 points
       Date   : 2023-05-23 10:24 UTC (12 hours ago)
        
 (HTM) web link (www.geoffchappell.com)
 (TXT) w3m dump (www.geoffchappell.com)
        
       | astrashe2 wrote:
       | I think they still introduce small problems for people who run
       | software they don't like. For example, if you run Linux on your
       | desktop, and want to use a Windows VM for work, you can't run
       | WSL2 or Hyper-V in the KVM/Qemu guest, even if nested
       | virtualization is enabled and working with other operating
       | systems. It used to work, but now it doesn't, and no know knows
       | exactly why.
       | 
       | These situations are murky. I don't know that they broke it
       | deliberately. Maybe it broke on its own and the problem affects
       | so few people that they just don't care about it.
       | 
       | And you can't really demand that they spend their developer
       | resources on things that they think won't help them. But on one
       | hand, they wrote their own Wayland server for Windows 11, but on
       | the other hand, they say, we can't make Teams work on Wayland.
       | 
       | They do lots of odd stuff. It's pretty easy, and pleasant, to run
       | a headless linux server on Hyper-V, but setting up a proper
       | desktop system on your own is hard. They don't actually create a
       | wall you can't get around, but they create obstacles that make it
       | easier to do the things they want you to do.
       | 
       | It's not fair or reasonable to get mad at them about this stuff.
       | It's more that we should be clear about where they're coming
       | from.
        
         | Bran_son wrote:
         | > It's not fair or reasonable to get mad at them about this
         | stuff. It's more that we should be clear about where they're
         | coming from.
         | 
         | You're describing a wild animal: "It's not fair to get mad at
         | the wolf for biting you - that is its nature"
         | 
         | Perhaps then we should also treat them as the wild, hostile
         | animal they are.
        
         | wingmanjd wrote:
         | If it helps, I'm currently running a Windows kvm guest that
         | runs WSL2, but I had to change my processor type.
         | 
         | Ubuntu 22.04 Host, virt-manager/ qemu/ kvm hypervisor Win10x64
         | Guest, CPU model is set to "Broadwell-noTSX-IBRS"
         | 
         | It's definitely not as performant with this setting, but it
         | gets the job done so I can run WSL2 and Docker Desktop in my
         | Windows vm.
         | 
         | YMMV.
        
           | astrashe2 wrote:
           | Thanks, I'll definitely give that a try.
        
         | WalterBright wrote:
         | A while back, my Ubuntu LTS system kept badgering me to upgrade
         | to a new Ubuntu. I finally relented, and installed the latest.
         | It installed without any errors, but the display was all messed
         | up.
         | 
         | After much fiddling and googling about, I deduced that
         | apparently didn't support the graphics card anymore. It never
         | said "don't install me, cuz it won't work with the card I used
         | to work with." It just died on it. I wound up reinstalling the
         | older Ubuntu.
         | 
         | I don't believe there was any conspiracy by the Ubuntu
         | developers. No conspiracy is necessary - it's really hard to
         | not break things. I knew some people who worked in appcompat at
         | MS, and they had a lot of stories to tell about how hard they
         | had to work to _not_ break things. A lot of software _misused_
         | Windows APIs making it hard for MS to improve things.
         | 
         | > I think they still introduce small problems for people who
         | run software they don't like.
         | 
         | This is completely unfounded speculation.
        
       | stefantalpalaru wrote:
       | > In assessing Microsoft's reaction to DR DOS, I must think what
       | would be own reaction if I had designed and implemented
       | something, and someone copied my design into a distinct
       | implementation of their own.
       | 
       | "MS-DOS was a renamed form of 86-DOS - owned by Seattle Computer
       | Products, written by Tim Paterson." -
       | https://en.wikipedia.org/wiki/MS-DOS?useskin=vector
        
         | NotYourLawyer wrote:
         | I mean yeah, but it's not like they just copied it from him.
         | 
         | > Microsoft, which needed an operating system for the IBM
         | Personal Computer,[8][9] hired Tim Paterson in May 1981 and
         | bought 86-DOS 1.10 for US$75,000 in July of the same year.
         | Microsoft kept the version number, but renamed it MS-DOS.
        
           | [deleted]
        
       | weare138 wrote:
       | _To Microsoft, by my reckoning, DR DOS was an imitator of MS-DOS.
       | In assessing Microsoft's reaction to DR DOS, I must think what
       | would be own reaction if I had designed and implemented
       | something, and someone copied my design into a distinct
       | implementation of their own. I would have to accept that
       | copyright law gives me no protection and I might console myself
       | with the proverb about imitation being flattery, but I would
       | think it outrageously unjust if some law would somehow have me
       | owe anything to the imitator._
       | 
       | I'm sorry I have to _strongly_ disagree with this view. MS-DOS
       | was developed in 6 weeks and was a clone of another popular OS of
       | the era called CP /M created in 1974 by Digital Research. The
       | same company that created DR-DOS. If there were laws regulating
       | common and fundamental designs and implementations as we do
       | copyrighted works Microsoft wouldn't exist. Digital Research
       | would have sued Microsoft in '81 and that would have been the end
       | of Microsoft.
        
         | neilv wrote:
         | I believe you're correct about QDOS (which was bought to become
         | MS-DOS) being a quick knockoff of DR's CP/M.
         | 
         | So I didn't understand the author's comment about DR-DOS being
         | the imitator, at least not without acknowledging the prior
         | history.
        
           | eesmith wrote:
           | The section "Common Ancestry" acknowledges the prior history.
           | Though it feels a bit odd. "MS-DOS is there said to be
           | variously a copy or clone of an operating system named CP/M"
           | seems to gloss over the details by sticking specifically to
           | Caldera's Consolidated Statement of Facts, and not mentioning
           | QDOS/86-DOS.
           | 
           | But the author really assert that "DOS" is a very specific
           | term:
           | 
           | > To me, DOS meant MS-DOS and its licensed variants such as
           | PC DOS. DR DOS was no more a brand of these than juices
           | pressed from soy beans, almonds or cashews are brands of
           | milk. This is not to say they have no merit--some of those
           | juices are more enjoyable than is most American milk--but
           | they're not different brands of the same thing. To me, DR DOS
           | could not even be a candidate for consideration as another
           | brand if it would always, as seemed likely, need special
           | accommodation in anyone's DOS programming.
           | 
           | so the idea of a "DOS market" doesn't make sense.
           | 
           | Further, the author probably places you into this camp:
           | 
           | > The preceding question seems to have got conflicted in the
           | early 1990s--and may be still in the apparently growing
           | community of retro-computing enthusiasts, some of whom are
           | vigorously revising history, at least as recorded by
           | Wikipedia, to favour DR DOS. The conflict I mean is that
           | celebration of DR DOS as a compatible alternative to MS-DOS
           | for running MS-DOS programs often coincided with requests
           | that MS-DOS programmers should keep in mind what different
           | writing may be needed for DR DOS.
        
             | flashback2199 wrote:
             | This part in the article didn't make sense to me:
             | 
             | > DOS meant MS-DOS and its licensed variants such as PC DOS
             | 
             | Because I know that Apple had Apple DOS since 1978, and I
             | thought DOS was a general term in that time period
        
               | eesmith wrote:
               | The author appears to have a specific interpretation in
               | mind, yes, and it doesn't match my understanding from the
               | wet-behind-the-ears me at the time.
               | 
               | However, to be more clear, Apple DOS almost certainly was
               | not part of the "DOS market" that the lawsuit concerned.
               | You would have to care far more than I to resolve the
               | underlying issues. I just know the linked-to text doesn't
               | seem to have the ring of truth.
        
       | rob74 wrote:
       | In case you're wondering what AARD means (I did): _" The name was
       | derived from Microsoft programmer Aaron R. Reynolds (1955-2008),
       | who used "AARD" to sign his work; "AARD" was found in the machine
       | code of the installer"_ (from Wikipedia).
        
       | hk1337 wrote:
       | Wow, DR DOS. That's a memory I forgot I had.
        
       | stuaxo wrote:
       | Has anybody implemented this in the open source world ?
       | 
       | It's far enough in the future, it would be good to see a
       | reproducable demo of Win95 on DrDOS (or even freedos) - it seems
       | like something someone on the virtuallyfun site might do
       | eventually.
        
       | exabrial wrote:
       | Someday this is going to be in an engineering ethics class.
       | 
       | Microsoft literally broke every anti trust law, but the DOJ was
       | too incompetent to prosecute them properly due to the lack of
       | education.
       | 
       | A lot of these decisions remind me of SV companies: if it's not
       | specifically, illegal it's fine; Ex: Goog/Fb invasive Tracking
       | users across the web, even if the user requests not to be. I hope
       | every person that works for these companies is someday ashamed of
       | their time there.
        
         | miketery wrote:
         | Ashamed? The opposite, usually they're proud.
         | 
         | "It Is Difficult to Get a Man to Understand Something When His
         | Salary Depends Upon His Not Understanding It."
         | 
         | Also see current AI doom debates. See Yann LeCun tweets. He has
         | some the silliest metaphors, like comparing AI development to
         | aviation development. As if the two are similar in order of
         | magnitude of downside risk.
        
           | garganzol wrote:
           | Salary and income are one of the most powerful decision
           | making and ethics shaping factors. The flow of money
           | literally defines everything for 95% of people, including
           | their ideological and political preferences.
           | 
           | Sad but true.
        
             | ta8645 wrote:
             | When was the last time you took a political stance that
             | cost you your income (ie. flow of money)? For the majority
             | of people, money is a fair proxy for quality-of-life; it
             | makes sense that it permeates their ideology and politics.
        
             | robertlagrant wrote:
             | Money is the indicator to us that what we're doing is
             | valuable to someone else. That seems useful.
        
           | intelVISA wrote:
           | The auto complete black box is just soooo dangerous haha you
           | better regulate all the risky other ones, mine's cool though
           | d/w chief
           | 
           | > "It Is Difficult to Get a Man to Understand Something When
           | His Salary Depends Upon His Not Understanding It."
           | 
           | see also: cloud
        
         | nabla9 wrote:
         | > DOJ was too incompetent to prosecute them properly due to the
         | lack of education.
         | 
         | It was not the lack of education. It was a political policy
         | choice that tied DOJ's hands.
         | 
         | Reagan era changed US antitrust into so called Borkism. Robert
         | Bork's "The Antitrust Paradox" (1978) criticized the US United
         | States antitrust law and solidified the thinking of University
         | of Chicago school of economists.
         | 
         | Borkism has very narrow view into monopolies. It has created
         | monopolies in ever sector of the economy.
        
         | narrator wrote:
         | That microtracking made a lot of tiny and very cool niche
         | consumer packaged goods brands a lot of money in the early
         | 2010s. They can't afford to use untargeted TV advertising like
         | the mega brans unfortunately, but Facebook did a great job
         | helping them connect with their niche. It's much harder for new
         | brands to get started these days.
        
         | yard2010 wrote:
         | I hope the people who make these kind of decisions will get
         | prison time. It's much easier saying sorry than asking for
         | permission and some people exploit it on the back of the
         | society, no less
        
         | WalterBright wrote:
         | Which anti-trust law says you harm consumers by giving them
         | free stuff?
        
         | zamnos wrote:
         | Yes, incompetent, and not due to as of yet unknown payoffs to
         | key officials. With that much money at stake, in a far less
         | transparent world than we live in today, briefcases full of
         | cash worked a lot better. How would you even deposit that today
         | without some sort of money laundering scheme?
        
           | bombcar wrote:
           | Briefcase cash is so gauche - you just hire them when they
           | "retire" from public service. Much more proper and you don't
           | even need to explicitly offer - everyone knows how the bread
           | is buttered.
        
             | cabalamat wrote:
             | > you don't even need to explicitly offer
             | 
             | Which has the added benefit of plausible deniability.
        
             | javajosh wrote:
             | Also, speaking fees are, funnily enough, not campaign
             | contributions.
        
               | bombcar wrote:
               | There's also great laundering fun to be had with your
               | book, too!
        
             | mysterydip wrote:
             | Defense contractors seem to have this down to a science.
        
             | willcipriano wrote:
             | [flagged]
        
           | mrguyorama wrote:
           | Microsoft didn't need to bribe anyone in the 80s and 90s
           | because our country was still snorting that "woo hoo free
           | markets fix everything" pixie dust. We weren't allowed to
           | interfere with big business anymore. Clearly they knew what
           | was best for us.
        
           | dsr_ wrote:
           | Tell your parents to sell their house, but the contract
           | includes lifetime tenancy and guaranteed maintenance and
           | renovations. Surely that's not bribery.
           | 
           | It's not bribery if you just happen to visit a new friend's
           | mansion in Hawaii any time you want a vacation.
           | 
           | Perhaps your spouse would be a good choice to be VP of
           | Something Boring at this non-political non-profit charity.
           | Isn't it nice that the employees of TotallyNotCorruptCo
           | always make sure to donate so much money each year? Did we
           | mention that the VP job comes with a car and driver? And can
           | be done from home except for the fund-raiser galas. Totally
           | not a bribe.
        
         | jmclnx wrote:
         | Plus when Bush took over, looks like he had the DOJ drop the
         | case. At least under Clinton they were trying, though
         | incompetently as you said.
        
           | nailer wrote:
           | IIRC the ruling was under Clinton, but the 'punishment' under
           | Bush was that Microsoft gave free copies of Windows to
           | schools (which were a Apple bastion at the time).
        
           | BLKNSLVR wrote:
           | The two primary parties any country generally votes for:
           | 
           | 1. Corrupt over there and incompetent everywhere else
           | 
           | 2. Incompetent over there and corrupt everywhere else
        
             | jzb wrote:
             | My father was a staunch Democrat, former union (UAW) guy.
             | He always said "both parties are going to steal from you,
             | the only difference is that Democrats believe you have to
             | have something to steal first." I think that's a largely
             | true observation even today.
             | 
             | The older I get the less optimism I have that it's possible
             | for any system to avoid corruption and a class system of
             | haves and have nots where the haves just amass power to
             | keep gathering more and more...
        
             | HeckFeck wrote:
             | Finally, a reasonable definition of the left/right
             | dichotomy!
        
               | mordae wrote:
               | Except the left are green.
        
         | NelsonMinar wrote:
         | The DOJ competently prosecuted Microsoft for its illegal
         | monopolistic practices: https://en.wikipedia.org/wiki/United_St
         | ates_v._Microsoft_Cor....
         | 
         | But then Bush took over as president and ordered DOJ to
         | effectively drop the case. Microsoft got away with a slap on
         | the wrist. https://www.latimes.com/archives/la-
         | xpm-2001-sep-07-mn-43010...
        
       | tored wrote:
       | The idea of introducing bugs to users that doesn't conform 100%
       | to intended use of your software is not good idea, what will
       | happen is that your software will be perceived as buggy in
       | general.
        
         | i2cmaster wrote:
         | Most people will tolerate the bugs until they absolutely cannot
         | use whatever software they're running though.
        
           | trelane wrote:
           | Depends on whether it's common or not. If a smaller
           | competitor has bugs, the default is something else, and folks
           | will go yo the default and look askance at the ones sticking
           | with the odd duck software. Source: Linux user since the 90s,
           | LibreOffice/OpenOffice/StarOffice since early '00s.
        
           | ndespres wrote:
           | When they reach that unusability limit, most people will call
           | their IT department and have the offending buggy software
           | reinstalled as a fix. IT won't remove your buggy copy of
           | Microsoft Word and Teams and replace it with WordPerfect and
           | Slack.
        
             | quickthrower2 wrote:
             | But Word has competitors like GSuite so it cannot be
             | completely complacent. People are making these buying
             | decisions constantly.
        
               | trelane wrote:
               | It's had competitors forever. The lockin is from UI, file
               | formats, compatibility generally (e.g. functions),
               | scripting / existing infra around it, and its utter
               | dominance in the market ("nobody got fired for buying
               | Microsoft")
        
             | i2cmaster wrote:
             | I should have said "people and organizations" because
             | that's what I meant.
             | 
             | The mechanism with organizations works like you said yes.
             | They'll just develop processes to work around the bugs
             | until it becomes completely impossible.
        
         | mrguyorama wrote:
         | Those users would have been running DR-DOS, meaning they would
         | assume THAT software is buggy.
         | 
         | Which was the entire point and intention, as we saw in an email
         | chain that came out during court.
        
         | avereveard wrote:
         | You are literally commenting under an article of a company
         | having a 2billion market cap, built also from such underhanded
         | tactics.
         | 
         | While it's immoral, it doesn't seem to produce the result that
         | you hope it's be producing.
        
           | tored wrote:
           | Microsoft's software is definitely perceived as buggy (And I
           | never said anything about revenue).
        
         | pjc50 wrote:
         | > what will happen is that your software
         | 
         | Not _your_ software, a _competitor 's_ software. The intent
         | here was to inject bugs to make DRDOS look bad. And it worked.
         | 
         | Later Microsoft would have to spend many long years dealing
         | with how many extension points they'd put in Windows which were
         | opportunities for third parties to inject crashes accidentally
         | into Microsoft executables. That's why there's an entire
         | subsystem to allow video drivers to crash and restart.
        
         | tourgen wrote:
         | [dead]
        
       | quitit wrote:
       | Keep in mind that this isn't an isolated case: Microsoft used
       | this as a tactic with Quicktime amongst others. Their tactics
       | were numerous, either bringing spurious error messages, stealing
       | associations to bring error messages/dodge the invocation of the
       | competitor software or simply altering windows code to produce
       | legitimate errors in competitor software.
       | 
       | That's on top of plain old threatening other companies if they
       | dared use technology that they were trying to suffocate.
        
         | jmclnx wrote:
         | >Keep in mind that this isn't an isolated case
         | 
         | True, this is one case that isn't mentioned much, but this gave
         | Excel and Word its massive market share.
         | 
         | When Windows 95 was being developed, MS kept telling Lotus (and
         | maybe Word Perfect) that OS/2 was the real future, so Lotus was
         | focusing on a GUI version of their main product for OS/2. And
         | Notes was originally developed on OS/2.
         | 
         | So Lotus had a nice version of 123 for OS/2 about to go, but
         | the had to shift gears to Windows when W95 was released. Also
         | there were rumors that MS was keeping some APIs secret to make
         | it appear their products were faster than competitors.
         | 
         | When W95 came out, by magic, MS had a GUI version of Excel and
         | Word, thus eventually killing those companies. Lotus had to
         | shift gears and may have lost a couple of years to MS.
        
           | jojobas wrote:
           | GUI Excel 2.2 was released for Windows 2.0 in 1989, 3 major
           | releases before Office for Windows 95. Essentially same for
           | Word.
           | 
           | WordPerfect had a perfectly working GUI version for Windows
           | by 1994, it just couldn't compete with Word. Same for
           | Lotus123, they were out of fashion long before Windows 95.
        
           | lproven wrote:
           | You have the timeline all messed up.
           | 
           | Excel and Word both ran on Windows _2.0_ (released Dec 1987).
           | I supported Excel on Windows 2 in production.
           | 
           | In the late 1980s, yes, Microsoft and IBM told the industry
           | that OS/2 was the future, because they both thought it was.
           | 
           | OS/2 1.0 was released the same month as Win 2.0) had no GUI,
           | because it wasn't ready.
           | 
           | OS/2 1.1 had in, released nearly a year later in Nov '88.
           | This was what Lotus and others needed. 1.1 was not good and
           | barely worked. For example, OS/2 1.1 still had the Windows 2
           | MS-DOS executive style user interface.
           | 
           | OS/2 1.2 was nearly another year: Oct '89.
           | 
           | Now, it worked, it included advanced features such as the
           | HPFS filesystem, meaning long filename support, it had a
           | revamped and improved user interface, and the performance was
           | OK... but also the 80386 had been out for 2 years and 386 PCs
           | were becoming mainstream. OS/2 1.X was limited to the 286.
           | That meant a maximum of 16 MB of RAM, that meant no ability
           | to multitask DOS applications, and other serious limitations.
           | The high end PC market was visibly accelerating away from the
           | new operating system.
           | 
           | It also had formidable hardware requirements. For example it
           | wanted 8 MB of RAM minimum.
           | 
           | Somewhere around the timeframe of OS/2 1.1 or OS/2 1.2 is
           | when Microsoft realised that this project was running late,
           | it had high hardware requirements, and yet it still couldn't
           | fully exploit the hardware of new PCs shipping in the late
           | 1980s, and it was becoming apparent that the future was not
           | OS/2 after all.
           | 
           | So it's somewhere around the 1988 to 1989 that Microsoft
           | realised that's unless it was willing to sacrifice the PC
           | operating system market, it needed a fallback plan, it needed
           | some kind of alternative: something that could run on high-
           | end mainstream commodity PCs, which means a 386 with 2 to 4
           | MB of RAM, that offers more compatibility with DOS, DOS
           | device drivers, and DOS applications than OS/2.
           | 
           | That's roughly the time that the school choir project within
           | Microsoft started to turn into Windows 3. Windows 3.0 was
           | released in 1990, it had the new user interface from OS/2
           | 1.2, it could support and use the new facilities of 386
           | chips... but it could also run in just 1 MB RAM, ran quite
           | well in standard mode in 2 MB of RAM, and ran really well
           | with 4 MB of RAM in 386 enhanced mode with multitasking of
           | DOS applications. In other words, in half the RAM requirement
           | of OS/2 1.2, they could actually do more than that operating
           | system could do, in terms of important things that MS-DOS
           | users actually wanted and needed.
           | 
           | So yes in the very late 1980s, Microsoft did lie to large
           | software vendors, promising them that OS/2 was the future,
           | while it was working on something that would ultimately
           | destroy OS/2. But even now I am no admirer of Microsoft, I
           | have to admit that it was very far from a certainty that
           | Windows 3 was going to be a hit. In the time frame that
           | Microsoft was developing Windows 3, Word for Windows and
           | Excel were already shipping products.
           | 
           | Yes Lotus and WordPerfect believed the lies. Yes it's true,
           | Lotus and WordPerfect could've targeted Windows 2, but
           | Windows 2 was pretty terrible and was a commercial flop. So
           | if they had targeted Windows 2 it would cost a lot of money
           | and the products would never have made it back. Yes they made
           | a mistake, and yes later on Microsoft encouraged them to
           | continue investing in that mistake, knowing that there was a
           | gamble that might make it all a huge waste of money. But what
           | they did probably looked like the sensible prudent decision
           | the time.
           | 
           | And more to the point, relevant to your comment, this all
           | occurred in the late 1980s, long before the industry went
           | 32-bit and long before anybody even dreamed of Windows 4
           | which would eventually become Windows 95. That stuff happened
           | in the 1990s, when frankly the OS/2 war was already long
           | over.
        
             | estebank wrote:
             | Thank you for writing all of this out.
             | 
             | Just one confusion I have: wasn't NT Win 4.0? The first NT
             | release IIRC was 3.5, which had the same UI style as
             | 3.0-3.2, but with the new kernel. This of course muddles
             | the waters, having two parallel OSs with almost the same
             | APIs but different kernel being sold at the same time with
             | easy to confuse versioning (all the way up to Me and 2000
             | and until XP finally finished merging the lineages).
        
               | mschaef wrote:
               | > Just one confusion I have: wasn't NT Win 4.0?
               | 
               | NT's first version released as 3.1, to align with the
               | traditional Windows 3.1. Windows NT 3.5 (Code name
               | 'Daytona') was a performance and stability improvement
               | release. You can think of NT 3.1 as the "1.0" release and
               | 3.5 as the "1.1" release.
               | 
               | Windows NT was natively 32-bit, but this was also the
               | same time that the traditional Windows kernel was
               | developing its own story for running 32-bit code.
               | Windows/386 introduced the 386-specific 32-bit
               | underpinnings and Windows 3.1 added something called
               | Win32s. Win32s was an extension to the Windows executable
               | loader and a set of 32-bit libraries that mapped a subset
               | of Win32 calls to the underling Win16 API. Win32s made it
               | possible to take the same 32-bit binary and run it
               | unmodified on both Windows NT and on Windows 3.1. The
               | caveat (and it was a big one) was that you only had
               | access to a very restrictive subset of the Win32 API.
               | 
               | For Windows 95, Microsoft's strategy was mainly to build
               | out more of Win32s. This built on the Windows 3.1/Win32s
               | ability to run 32-bit binaries and added more of the
               | API's that Win32 developers would've been used to from
               | NT.
               | 
               | > The first NT release IIRC was 3.5, which had the same
               | UI style as 3.0-3.2, but with the new kernel.
               | 
               | It's Windows NT 4 that unified the new UI from Windows 95
               | and the NT kernel. Even then, the system requirements and
               | compatability issues were demanding enough that it took a
               | few releases to make the NT kernel suitable for the
               | mainstream.
        
               | einr wrote:
               | The first Windows NT was actually 3.1.
               | 
               | Windows 95, 98 and Me are all 4.x internally. Windows NT
               | 4.0 is _also_ version 4 internally...
        
           | mschaef wrote:
           | > When Windows 95 was being developed, MS kept telling Lotus
           | (and maybe Word Perfect) that OS/2 was the real future, so
           | 
           | Microsoft's committment to OS/2 ended with Windows 3.0. But
           | until 3.0, they themselves believed OS/2 was the (imperfect)
           | future.
           | 
           | Windows 3.0's ability to use protected mode on a 286 changed
           | it all.
           | 
           | https://www.landley.net/history/mirror/ms/davidweise.html
           | 
           | > Lotus was focusing on a GUI version of their main product
           | for OS/2.
           | 
           | Lotus and Wordperfect both spent a lot developing for almost
           | every platform other than Windows. It always surprised me
           | that they never had even a fallback for Windows for their
           | main products, given how dependent they each were on a single
           | product.
        
           | WalterBright wrote:
           | Lotus was at a crossroads. They could continue with DOS, port
           | to Windows, or port to OS/2. Which path should a cash-rich
           | company with one product pick?
           | 
           | All three.
           | 
           | I have little sympathy for Lotus. They need to own their
           | decisions. Blaming their competitor for misdirection is eye
           | rolling.
        
           | mike_hearn wrote:
           | I used to work on Wine and don't recall encountering any APIs
           | that made things magically faster. That was a popular rumour
           | on Slashdot in the early 2000s because at the time, most devs
           | were unaware of how IE could start so much faster than
           | Mozilla, and how MS Office could start so much faster than
           | OpenOffice. Cheating via pre-loading was assumed. It was
           | eventually proven that this couldn't be the case when these
           | apps started faster than their competitors even on Wine on
           | Linux. The actual cause was that MS cared about and heavily
           | optimized startup time. No magic.
           | 
           | The OS/2 history isn't quite how I remember it. The fact
           | there'd be a new version of Windows surprised nobody. Chicago
           | development wasn't exactly a secret that caught anyone
           | unawares. Also OS/2 Warp came out before Windows 95 did.
        
             | amiga386 wrote:
             | No offense, but I don't think you looked too hard. There
             | are lots of calls that could be used to do things in a more
             | performant way, or to make things possible that were not
             | possible using documented APIs. [0]
             | 
             | Generally speaking though, what you say is true. There are
             | certainly no "magically faster" API calls.
             | 
             | There are thousands of undocumented calls that, if you were
             | aligned with the internal team at Microsoft that wrote
             | them, allowed you to write better performing code than if
             | you were a third party. And as a major developer inside
             | Microsoft, you had the power to get API calls created for
             | your needs, while third parties didn't. That is the crux of
             | the matter.
             | 
             | Here's one straight from the site we're discussing today,
             | the IOwnerDataCallback interface [0] makes it possible to
             | do grouping on a virtual ListView. Windows Explorer uses it
             | to great effect, everyone else can't use it. [2]
             | 
             | [0] http://undocumented.ntinternals.net/
             | 
             | [1] https://www.geoffchappell.com/studies/windows/shell/com
             | ctl32...
             | 
             | [2]
             | https://www.codeproject.com/Articles/35197/Undocumented-
             | List...
        
               | mike_hearn wrote:
               | Of course there are internal APIs, every OS has those. I
               | don't know of any that would make the difference between
               | an app being competitive and not, certainly not in that
               | timeframe.
               | 
               | Grouping on a virtual list view was added in Vista which
               | is after I stopped working on Wine, but again, that is
               | hardly the sort of thing that makes or breaks apps. Most
               | competing office suites and browsers don't even use
               | comctl32 at all, preferring to roll their own widgets for
               | portability reasons.
               | 
               | The reasons IE and Office were so fast to start was due
               | entirely to heavy optimization. In particular Microsoft
               | were very good at doing profile guided re-ordering of
               | code pages to minimize HDD head movements, which was
               | critical in an era when hard disks were the only storage
               | medium and also much slower. The Linux toolchains didn't
               | have anything like that and the technique wasn't even
               | well known outside of Microsoft back then, so to GNU
               | hackers the results appeared to be almost magic.
               | OpenOffice or Mozilla would take like 30 seconds to start
               | and Word/IE could start in 3.
               | 
               | So what thousands of calls are you thinking of? To give
               | MS such a huge competitive advantage that other companies
               | get wiped out they'd need to have done stuff like kept a
               | new DirectX back only for themselves. Back then they
               | didn't even have the technology to do that. Even your
               | link where you say people "can't do that" is about how to
               | use that private API you named. Blocking that sort of
               | thing requires pervasive code signing, package identity
               | and for that to be propagated robustly through IPC. Even
               | today Windows is kinda ropey in that regard (vs macOS/iOS
               | where robustly enforced Apple only APIs are widespread
               | and critical, e.g. mmap +x is an Apple-private API on
               | macOS).
        
               | mschaef wrote:
               | > No offense, but I don't think you looked too hard.
               | There are lots of calls that could be used to do things
               | in a more performant way,
               | 
               | Undocumented API calls were rumored to be a big deal even
               | back in the Windows 3.x days. I remember reading through
               | this at the time looking for the 'smoking gun'.
               | 
               | https://www.amazon.com/Undocumented-Windows-Programmers-
               | Micr...
               | 
               | There were some cute and offensive names, and a few
               | interesting details about the internal implementation of
               | Windows, but nothing that would've been hugely
               | beneficial.
               | 
               | Things might well have changed since then. (Both at
               | Microsoft and at Apple, where their software is
               | definitely allowed to do things that third party software
               | is not.)
        
             | jve wrote:
             | So much stuff thrown within this submission comments. One
             | can wonder how much of this is misinformation, because
             | someone once said something and the other one echoes it
             | back...
        
           | skissane wrote:
           | > When Windows 95 was being developed, MS kept telling Lotus
           | (and maybe Word Perfect) that OS/2 was the real future, so
           | Lotus was focusing on a GUI version of their main product for
           | OS/2. And Notes was originally developed on OS/2.
           | 
           | This story doesn't make sense to me. IBM and Microsoft's
           | falling out was public knowledge by July 1991 - there was an
           | article about it in the New York Times. [0] Windows 95 wasn't
           | released until July/August 1995 - 4 years later. Everyone who
           | was paying attention knew by mid-1991 that Microsoft's future
           | was Windows not OS/2.
           | 
           | [0] https://www.nytimes.com/1991/07/27/business/microsoft-
           | widens...
        
           | mrguyorama wrote:
           | You don't have to spread old lies to make microsoft look bad,
           | they do just fine at being terrible on their own.
        
         | inetknght wrote:
         | > _stealing associations to bring error messages /dodge the
         | invocation of the competitor software_
         | 
         | So... just like what they're doing with browsers these days
         | then
        
       | dosman33 wrote:
       | Heh, I remember finding shreds of these news groups threads and
       | news letters posted to Geocities and such in the mid-90's when I
       | was coming of age. "The MUF List" - Microsoft's Undocumented
       | Features, etc. I still have my DOS programming books but I never
       | really did much myself, other than some assembly programs written
       | in debug. The list of dirty things MS did to other companies is
       | extensive. The DriveSpace debacle was the one I remember most. If
       | memory serves, they tricked the company that made a compressed
       | filesystem driver for DOS/Windows to "license" the feature to MS,
       | then MS just forgot to ever pay them. The company was so cash
       | starved they couldn't outlast a lengthy lawsuit to recoup what
       | they were legally owed. MS did every dirty trick they could. Bill
       | Gates is one seriously dirty MFer.
        
         | userbinator wrote:
         | Unfortunately, MS is even worse these days.
        
           | bdhcuidbebe wrote:
           | [flagged]
        
           | jzb wrote:
           | Is it? How so? I'm not saying they're angels, but I don't
           | know if I'd consider the MSFT of today "worse" than in the
           | 90s and early 2000s. It's certainly a more complicated beast
           | than it was then.
        
             | JohnFen wrote:
             | I don't think they're worse. I also don't think they're
             | much better. Microsoft remains Microsoft.
        
         | phire wrote:
         | That's not the story on Wikipedia.
         | 
         | Microsoft entered into negotiations with Stac Electronics to
         | licence Stacker, but the deal fell though (allegedly, Stac
         | claim that Microsoft didn't offer any money, just the right to
         | sell enhancement products).
         | 
         | So Microsoft instead licensed a competing product called
         | DoubleDisk from Vertisoft. So of course MS didn't pay anything
         | to Stac Electronics, but presumably Vertisoft was compensated
         | (hopefully fairly, we haven't heard otherwise... But this is
         | Microsoft)
         | 
         | Stac later successfully sued MS for patient infringement, which
         | is where the story about Microsoft alleged "no cash licensing"
         | offer came from.
        
         | selcuka wrote:
         | > The company was so cash starved they couldn't outlast a
         | lengthy lawsuit to recoup what they were legally owed.
         | 
         | They were actually paid $120M by Microsoft [1]:
         | 
         | > A Los Angeles jury Wednesday ordered Microsoft Corp. to pay
         | $120 million for infringing a software patent held by Stac
         | Electronics Co., a much smaller software firm based in
         | Carlsbad, Calif.
         | 
         | [1] https://www.latimes.com/archives/la-
         | xpm-1994-02-24-fi-26671-...
        
           | ballenf wrote:
           | Somehow it seems like "paid" is the wrong word when you're
           | forced by a court to do it. Almost like stealing a car and
           | then claiming you "donated" it to the true owner upon arrest.
        
           | SteveGerencser wrote:
           | The way I understood the story back then was that they wanted
           | a license deal with MSFT just like MSFT had with the hardware
           | companies. MSFT wanted to just buy them out. Lawsuits, court,
           | and so on finally forced the sale of the company to MSFT for
           | the amount in the settlement.
        
           | devsda wrote:
           | Justice delayed is justice denied.
           | 
           | I wonder if we can say the same for timely payments
           | especially when maintaining proper cashflow is critical for
           | small businesses.
        
           | JohnFen wrote:
           | Winning a settlement doesn't automatically get you the money.
           | It just gives you legal rights when trying to collect -- you
           | still have to actually collect, which can be difficult and
           | time-consuming.
           | 
           | Do we know if MS actually paid this settlement, and if so, on
           | what schedule?
        
           | sillystuff wrote:
           | Stac sued MS and won. But, Microsoft counter-sued Stac for
           | reverse engineering MS software-- Microsoft's claim was that
           | the features used to implement Stacker were undocumented by
           | Microsoft, and only used internally by Microsoft. Microsoft
           | won this suit. And, ultimately "invested in" Stac and paid
           | some royalties as the ultimate settlement.
           | 
           | The "funny" thing was that Microsoft was claiming that it
           | documented everything and that competitors could make
           | equivalent competing products to their own on their platforms
           | to the court in the anti-trust case that was around the same
           | time.
           | 
           | MS management and their company were and are sleazy and
           | ruthless to a fault.
        
       | shrubble wrote:
       | "DOS isn't done until Lotus won't run" ... not the first time for
       | Microsoft
        
         | wodow wrote:
         | Provenance of this reviewed at
         | http://www.proudlyserving.com/archives/2005/08/dos_aint_done...
         | (and last discussed here at
         | https://news.ycombinator.com/item?id=10432608 )
        
       | EvanAnderson wrote:
       | If the QDOS/86DOS angle interests you check out a talk that Tim
       | Paterson, of Seattle Computer Products and later Microsoft, gave
       | at VCF West 2019. He describes the history of 86-DOS (licensed to
       | become PC-DOS and MS-DOS). API compatibility with CP/M, was the
       | intention but no code was taken from CP/M.
       | 
       | CP/M was an Intel 8080-based OS. The 8086 was mostly source
       | compatible (but not binary compatible) with the 8080 (i.e. 8080
       | assembler programs could be assembled targeting the 8086 with
       | only minor changes) and QDOS/86DOS supporting CP/M APIs was to
       | help it fit into this re-assembly workflow.
       | 
       | https://www.youtube.com/watch?v=R2Qh0O3Dt10
        
       | dale_glass wrote:
       | I remember somebody at Microsoft arguing that AARD had a sort of
       | legitimate purpose -- Windows reached deep into DOS in ways that
       | in modern times would be anathema, and did stuff that one
       | couldn't expect to necessarily work properly on a DOS clone,
       | since it wasn't part of the public API.
       | 
       | Still, that idea could have been better executed.
       | 
       | Aha, here:
       | 
       | https://learn.microsoft.com/en-us/archive/blogs/larryosterma...
       | 
       | > As a simple example, when Windows started up, it increased the
       | size of MS-DOS's internal file table (the SFT, that's the table
       | that was created by the FILES= line in config.sys). It did that
       | to allow more than 20 files to be opened on the windows system (a
       | highly desirable goal for a multi-tasking operating system). But
       | it did that by using an undocumented API call, which returned a
       | pointer to a set of "interesting" pointers in MS-DOS.
       | 
       | [...]
       | 
       | > But the problem was that the MS-DOS 4.0 SFT was 2 bytes larger
       | than the MS-DOS 3.1 SFT. In order to get Windows to work, I had
       | to change the DOS loader to detect when win.com was being loaded,
       | and if it was being loaded, I looked at the code at an offset
       | relative to the base code segment, and if it was a "MOV"
       | instruction, and the amount being moved was the old size of the
       | SFT, I patched the instruction in memory to reflect the new size
       | of the SFT! Yup, MS-DOS 4.0 patched the running windows binary to
       | make sure Windows would still continue to work.
       | 
       | So yeah, by modern standards the way old DOS software worked was
       | all kinds of screwy.
        
         | JdeBP wrote:
         | It was later revealed exactly what the purpose was, when
         | internal mail discussions came out in court.
         | 
         | "What the guy 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. or decide to not take the risk for the other
         | machines he has to buy for in the office."
         | 
         | -- Brad Silverberg, Microsoft, 1991, as quoted at
         | https://www.theregister.com/1999/11/05/how_ms_played_the_inc...
         | and in many other reports of the court case that one can still
         | find.
         | 
         | That was the purpose.
        
           | dale_glass wrote:
           | Interesting! I stand corrected, though I think the MS
           | explanation does sound plausible for the times.
           | 
           | Can this "Windows poked around in the guts of DOS" and "DOS
           | 4.0 patched Windows" sort of mechanic be verified elsewhere?
        
             | zamnos wrote:
             | Sorry, you bought Microsoft lies hook, line, and sinker. No
             | shame! Everybody did. That's why DR-Dos isn't with us any
             | more.
             | 
             | What they said it's entirely plausible is the problem, and
             | that's why people bought it. Even if it was true, it's on
             | Microsoft for doing that, not DR-Dos for being
             | incompatible. It's like how you needed to be using IE6 to
             | browse the web, or using Microsoft Word from Microsoft
             | Office to edit your documents.
             | 
             | What's really sad is how much things have shifted against
             | Microsoft. Now it's Apple's turn on top, and people are
             | buying that same line just as naively. iMessage this and
             | iCloud that.
        
               | NotYourLawyer wrote:
               | > Even if it was true, it's on Microsoft for doing that,
               | not DR-Dos for being incompatible.
               | 
               | Why should Microsoft have gone out of their way to make
               | windows compatible with some operating system it was
               | never designed to run on?
        
               | sillystuff wrote:
               | I think the implication is that MS went out of its way to
               | make windows not compatible with others (or just appear
               | to be by throwing bogus messages from xor encrypted
               | obfuscated code).
               | 
               | E.g., MS windows 3.1 running in a window under Desqview
               | ran faster than Windows 3.1 running natively. This was
               | presumably embarrassing for Microsoft. Microsoft removed
               | the operating mode that windows ran in that was supported
               | by Desqview in Windows 3.11. Perhaps there were
               | legitimate reasons for this feature removal, but breaking
               | compatibility with a competitor's product would only be
               | seen as a benefit by MS management, and is plausibly the
               | exclusive reason for removing the feature.
        
               | dale_glass wrote:
               | I didn't originally, I used MS-DOS, PC-DOS, DR-DOS and
               | even I think PTS-DOS at some point. I liked trying weird
               | stuff.
               | 
               | This is well past the point where any of this actually
               | mattered. It's just plausible to me that there was more
               | than one reason for it. Eg, that Windows poked in DOS
               | brains and did weird stuff is a very convenient thing to
               | the higher ups who wanted an excuse to have less
               | competition, so both things can be true at the same time
               | -- that Microsoft was unethical, but there was a
               | technical reason as well.
               | 
               | Arguably of course all of that should have been
               | documented and have a proper API for it
        
               | sillystuff wrote:
               | > It's just plausible to me that there was more than one
               | reason for it.
               | 
               | The code that put up the fake error messages (in the
               | Windows beta versions) when running drdos was xor
               | encrypted in an apparent effort to obfuscate / hide the
               | code. What possible reason would there be for MS to try
               | to escape detection if there was any legitimate reason
               | for the error messages?
               | 
               | These BS error messages have a more modern equivalent by
               | MS-- MS added open document support to MS office
               | natively, having already supported odt with a plugin in
               | their earlier version in order to do business in places
               | that mandated open data formats. The native odt support
               | would convert all formulas in a spreadsheet to the static
               | values they calculated to the first time the spreadsheet
               | was opened by MS Office. Destroying people's work to
               | annoy them to using their proprietary formats. The old
               | plugin did not have this issue (so MS did know how to
               | implement proper support, and had to expend effort re-
               | writing existing code in order to get the 'destroy
               | document' feature to work).
        
               | jaclaz wrote:
               | Not connected to the AARD code, but the abominations that
               | MS did to boot floppies in Win9x with volume tracker (or
               | IHC code) is worth a mention:
               | 
               | https://www.os2museum.com/wp/the-ihc-damage/
               | 
               | https://jeffpar.github.io/kbarchive/kb/148/Q148637/
               | 
               | jdebp touches the matter on the page on (previous)
               | messing up with bootsectors by MS-DOS:
               | 
               | http://jdebp.info/FGA/volume-boot-block-oem-name-
               | field.html
               | 
               | (but those DOS ones were only about not trusting the BPB
               | fields, not about corrupting the OEM field)
        
           | davidwritesbugs wrote:
           | Or "Gaslighting" in modern idiom.
        
             | dale_glass wrote:
             | No, "gaslighting" is a term for specifically making
             | somebody doubt their own sanity by sabotaging their
             | perception of their own actions.
             | 
             | It's not simply lying or creating fear, it's something a
             | lot more insidious, and I don't think it can be really done
             | on a non-specific target.
             | 
             | Eg, an example would be intentionally hiding somebody's
             | keys to convince them they can't keep track of anything, or
             | scheduling an appointment the person is supposed to go to,
             | never telling them about it, then arguing they were told
             | several times, they're just dumb and forgot.
        
               | ska wrote:
               | > sanity by sabotaging their perception of their own
               | actions.
               | 
               | I don't think "of their own actions" belongs in the
               | definition. Perception of others actions, as well as
               | basic facts, can be under attack as well.
        
             | Lammy wrote:
             | The classic term is "FUD" https://en.wikipedia.org/wiki/Fea
             | r,_uncertainty,_and_doubt#M...
        
           | kmeaw wrote:
           | Would it be legal to create similar incompatibilities if
           | there is both a legal business justification (that particular
           | solution can be implemented in X developer time and would
           | cost us Y money which wins against a proper implementation)
           | and an engineering justification (that particular solution
           | would use X less bytes of disk/RAM and would run better on Y%
           | of our customer's machines) for an implementation which
           | heavily depends on undocumented internals of another product?
        
       | jeromeof wrote:
       | I remember testing a protocol called DDE back in the Windows 3.1
       | days, and we couldn't figure out what Excel behaved so much
       | faster than Lotus 123. Then we dug into the code and found that
       | Windows 3.1 would free up all available memory as it launched
       | Excel. A sneaky trick which I guess meant that users would find
       | Excel much more responsive that 123 and ultimately help Microsoft
       | get Office domination that it has today.
        
         | brookst wrote:
         | Someone else in this thread who worked on Wine said there was
         | no evidence for such a thing since the faster launch times also
         | occurred in Wine. What forensics did you use to determine this?
        
           | toast0 wrote:
           | I don't believe the context of the Wine related comment was
           | Win 3.1. OpenOffice wasn't around to compare launch times.
           | Internet Explorer was around, a bit, but was competing with
           | Netscape, not Mozilla.
        
       | gavaw wrote:
       | This article is about the AARD code, which was present in a beta
       | release of Windows but was never shipped.
        
         | iso1631 wrote:
         | However it was present in the release shipped to reviewers, who
         | wrote their reviews which including saying how windows worked
         | better on ms-dos
        
         | stevekemp wrote:
         | As documented in the excellent book "Undocumented DOS", whose
         | red cover I can still picture. (Noted in the article, but it
         | was a good book that I still recall fondly.)
        
           | mysterydip wrote:
           | Thanks for the recommendation! Just bought a copy off eBay
           | for $4 for my collection.
        
           | JdeBP wrote:
           | I can touch my copy without moving from the chair that I am
           | sitting in. (-:
        
             | aflag wrote:
             | Is it now your monitor's support?
        
               | JdeBP wrote:
               | No. It's on the bookshelf next to Petzold, and below the
               | _other_ Petzold book, that I suspect far fewer have read,
               | on the shelf above. On the other side of the Lower
               | Petzold is Undocumented Windows.
               | 
               | If you deduced from this that the shelves were divided
               | into Windows and OS/2, the sad truth is that the lower
               | shelf is slightly too high, and the books are divided by
               | height differences that amount to millimetres in some
               | cases. Lower Petzold fits; Upper Petzold does not. (-:
        
         | duckqlz wrote:
         | Actually it was shipped. "Microsoft disabled the AARD code for
         | the final release of Windows 3.1, but did not remove it, so
         | that it could have become reactivated later by the change of a
         | single byte in an installed system." [1]
         | 
         | [1] Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels,
         | Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS:
         | A programmer's guide to reserved MS-DOS functions and data
         | structures - expanded to include MS-DOS 6, Novell DOS and
         | Windows 3.1 (2 ed.). Addison Wesley. ISBN 0-201-63287-X.
        
           | gavaw wrote:
           | Is it shipped if it cannot execute under any conditions?
           | Philosophical question I'm afraid.
        
             | codnee wrote:
             | The code? Yes
             | 
             | The feature? No
        
             | jen20 wrote:
             | > could have become reactivated later by the change of a
             | single byte in an installed system.
             | 
             | Is that not a condition under which it could be executed?
        
               | Uvix wrote:
               | Only if the application has code to change that byte. "It
               | could be changed by a patch" doesn't count as a condition
               | under which it could be executed, because a patch can
               | make any change it wants to. You wouldn't say "there's a
               | condition under which Windows will wipe your hard drive
               | and every visible network share" just because someone can
               | write code to do that.
        
             | zorked wrote:
             | The company that makes GTA was sued for content that was
             | not accessible in the game.
        
               | brookst wrote:
               | Anybody can sue anyone for anything. I could sue Rockstar
               | for not having enough nudity in GTA; that does not imply
               | guilt or lawbreaking on their part.
               | 
               | The suit you mentioned was settled out of court for a
               | tiny amount, basically nuisance value, with no finding or
               | admission of wrongdoing.
        
               | saagarjha wrote:
               | They probably shouldn't have?
        
         | sillystuff wrote:
         | IIRC, the author of "Undocumented DOS" discovered and disclosed
         | this feature during the beta, before release.
         | 
         | It seems at least plausible, if not probable, that Microsoft
         | disabled the xor encrypted bogus error message generating code
         | in the release version as a _result_ of this disclosure.
        
       ___________________________________________________________________
       (page generated 2023-05-23 23:00 UTC)