[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)