Hacker News new | comments | show | ask | jobs | submit login
DOS Ain't Done Til Lotus Won't Run? (2005) (proudlyserving.com)
68 points by mindcrime on Oct 22, 2015 | hide | past | web | favorite | 79 comments

The obligatory Joel post ...

"Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here's the amazing part: On beta versions of Windows 95, SimCity wasn't working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn't free memory right away. That's the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95."


Changing Windows to work with legacy software is easy to do when you are the unchallenged market leader. That wasn't the case when Lotus running on DOS was something Microsoft (and Lotus) would care about. In that era, Microsoft faced competition from multiple directions. I wouldn't be surprised if there was a decision to sabotage Lotus 123 on some version of DOS, specially if that sabotage could drive the move to Windows and Excel.

In all fairness, that Microsoft (they seem to have somewhat improved, as their power diminished) was known for not playing fair (something later demonstrated in court):


So, forgive me if I take this piece of history with a grain of salt. I started in this business at a time Microsoft made a BASIC interpreter and little more and I have observed a lot myself.

I think what MS did to take on Lotus was to outdo them by being able to read the file formats perfectly.

I seem to recall that after the MS Office file formats was documented as part of a MS-EU settlment, Joel pointed out how the Excel format carried at least two ways to do dates. One of them a replica of how Lotus 123 did it.

I been around IT long enough to know that this statement:

"DOS ain't done till Lotus won't run"

Was never a common saying. It is actually:

"DOS ain't done till Lotus runs"

I am not sure how it devolved to the current usage. I suspect it is probably started after the Microsoft-DOJ trials.

That's wrong. I started in that era and the saying was "till Lotus won't run" even back when it was fresh.

Microsoft also put misleading error messages in Win3.1 to sabotage DRI's DR DOS product. There are email snippets of the execs planning their strategy.

It's their standard operating procedure.

They fixed around SimCity because it didn't compete with any of their offerings.

I've been in computing since the TRS-80 Model I, and I have only ever heard the "won't run" variant.

The test could work both ways, if you really think about it:

1. I vaguely remember hearing stuff like that long ago - e.g. "Lotus 1-2-3 used such low-level features of the OS (MS-DOS) and the hardware (PC) - for performance, that it would not work on PC clones that are close but not 100% compatible.

2. It could also have meant: MS-DOS clones and PC clones were different enough (even if just slightly, but in crucial ways) that Lotus would not work on clones.

While this article is dated, a more appropriate reference would be the Windows/DR-DOS kerfuffle: https://en.wikipedia.org/wiki/AARD_code

This. It's damning. I was an attentive nerd when this and the Stacker scandal went down and I was outraged. I've been a staunch open source advocate ever since.

Microsoft's willingness to sabotage competitor's software is an established fact.

"The AARD code was a segment of code in a beta release of Microsoft Windows 3.1 that would determine whether Windows was running on MS-DOS or PC DOS, rather than a competing workalike such as DR-DOS, and would result in a cryptic error message in the latter case."

"The rationale for the AARD code came to light when internal memos were released during the United States v. Microsoft antitrust case in 1999. Internal memos released by Microsoft revealed that the specific focus of these tests was DR-DOS. At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there feature [sic] they have that might get in our way?"

Yea, there was a reason why I mentioned DR-DOS when I was discussing the OS/2 2.0 fiasco.

I recall story of leaked Win2k source code which was filled with profanity and ugly hacks. Surprising fact was how much effort was put in to make software suites work with windows [1].

Although these are ugly hacks but it is a general reminder that people who will buy the software won't see why some obscure bad pointer in MS Office is causing this but something that used to work perfectly fine in previous Windows doesn't work in the current.

[1]: http://www.kuro5hin.org/story/2004/2/15/71552/7795

It's so strange you mentioned the Win2K source leak - I was just thinking about this yesterday. I remember at the time there was warnings about it on Slashdot along the lines of "Don't download/read the source code, else you'll be 'tainted' and won't be able to commit code to Open Source projects!"

Has it been long enough that I dare peek at it now? ;)

What's funny is Microsoft had some of the same ideology. The belief was nobody could look at Open Source code, or they risked applying the GPL to, like, Windows Vista. The fear was real, if unrealistic.

You're probably fine, unless you ever want to commit to ReactOS. From what I've heard, they're very serious about not letting anyone with exposure to Microsoft's code touch the project, because the clean-room implementation requirements are so strict.

I never contributed to Mono because they didn't allow it if you had MS source code access. That was probably prudent, though should be OK now I'd guess.

I dunno, that tabs to spaces problem makes me pretty angry too, particularly if your tooling is weak.

Tab wars can drive your version control system crazy managing changes that don't matter unless they are using python.

that source code is still available in torrent form. I have a copy somewhere.

Deity i miss Gorklaw.

I remember the phrase from back in the day, but never really paid attention to it. I do remember testing new PCs with Lotus 1-2-3 and Flight Simulator to prove they were actual compatibles that were going to work with all the software.

Retrospect is fun;

  When Transmeta unveiled their new CPU, it was the first
  time in a long time that a company that was not Intel
  finally admitted that if you're a CPU, and you want a
  zillion people to buy you, you gotta run x86 code. This
  after Hitachi, Motorola, IBM, MIPS, National
  Semiconductor, and who knows how many other companies
  deceived themselves into thinking that they had the
  right to invent a new instruction set.
Then along came ARM.

ARM is not an overnight success. It's older than Transmeta. ARM is from the 1990's -- it was the chip that powered the Newton.

You mean:

> Then along came smartphones.

Wasn't ARM a relative minor player before smartphones took over?

Is the "Well Known Microsoft Blogger" maybe Raymond Chen (http://blogs.msdn.com/b/oldnewthing)? I can't seem to get to the archives on that site, so I don't know how long it's been around, but he published a compilation in 2007, so might already have been blogging in 2005.

The author of that article says "I know from personal experience that today [2005] Microsoft takes application compatibility very seriously".

And if you want to install Windows on a computer that already has a Linux distribution installed (dual-boot), then Windows will replace the existing boot manager, making it really difficult to boot Linux. That thing used to happen then, and it still happens now (2015).

Yes, it's annoying, but it's not app compat. And dual-boot is pretty far outside the mainstream, I don't blame them for not building out other boot loader detection and integration. Other bootloaders change frequently, and windows install discs come out maybe every two years. It's better to have consistent behavior (windows install WILL wipe your MBR) than sometimes it works and sometimes it doesn't, and when it doesn't work everyone says it worked for me, etc.

> I don't blame them for not building out other boot loader detection and integration.

It's not that they even try. Not even a little. Last time I installed Windows on real metal, it didn't even warn the other operating system would no longer boot. Microsoft probably has an internal policy to consider installing Windows is an upgrade.

it's so far out the mainstream, that people have been doing it regularly for 20 years now.

Grub is old enough to attend Junior High. Lilo would be in grad school. they both have windows compatability. Microsoft not reciprocating is evidence of their intent.

"People" in this instance is a handful of special edge cases compared to the majority of computer users, even if we're only looking at people that build their own computer, or hell, even just looking at only linux users. Dual booting is a minority. Yes, you CAN do it. Linux has made it easy. Great! But not many DO.

Nobody gives hell to every other OS manufacturer that will clobber our current bootloader configs. That means more than OSX, btw.

FreeBSD used to (maybe still does?) clobber the boot loader too. Do they also have mustachios that they evilly twirl?

On the other hand, Windows runs on 85 - 90 percent of desktop machines, whereas FreeBSD's market share on the desktop is probably below 1%. (This is not a judgement on FreeBSD's quality as a desktop system, I have used it myself for about two years and was very happy with it. But compared to Windows, its market share on the desktop is tiny.)

For better or worse, there is a difference between a system used by a tiny minority of people (again: on the desktop) and a system that practically has a monopoly on the (corporate) desktop and that is developed and sold by a company that has a history of anti-competitive behavior. (And to be fair, I get the impression that things have begun to change at Microsoft since Nadella became CEO. But that still does not erase history.)

That other hand and its callbacks to anti-competitive behavior and whispers of monopolies don't have much bearing on anything unless you are prepared to substantiate exactly how this behavior impacts the market share of other competitors. (I wish you luck on that very, very long row to hoe.)

Meanwhile, even that "good behaving" Linux distro will happily remove Windows's boot record in favor of GRUB's, rendering the system reliant on a component that breaks if you want to remove Linux (and most people are way more likely to want to remove Linux than to remove Windows!). Hardly neighborly behavior in and of itself. And yet, I'm still not seeing a reason to cast aspersions on GRUB or Linux distros, nor am I seeing those twirly mustachios on their faces.

No OS gives much of a damn about anything else running on the computer. Claims to the contrary are literally farcical and the pseudo-damages it could theoretically cause to the easily bruised are silly.

> No OS gives much of a damn about anything else running on the computer.

Most Linux distros (the ones I have used, at least) will detect an existing Windows installation and put a corresponding entry into GRUB's menu. Linux has been able to access data on Windows partitions for many, many years.

I agree that the boot loader issue probably has at most negligible impact on the adoption of Linux (or any other OS for that matter). I am just saying that in light of Microsoft's history one may feel inclined to judge them differently.


Personal attacks, which this crosses the line into, are not allowed on HN.

This might be an Appeal to Dehumanization (I just created a new fallacy), but I consider about 75% of the people on HN to be legitimate people. the remaining reek of sockpuppetry. I felt the grandparent was a sockpuppet, and am treating the account as a dataset for future encounters.

I should be more mindful of the fact that there's (potentially) a human being behind the account I'm treating like an astroturfer. I can see why you considered this a personal attack.

If you want to name a new fallacy, name the bias where people are more likely to think someone is astroturfing or a shill when they disagree with them. That's a common one, and it's definitely against the rules on HN to go there without evidence. An opposing opinion is not evidence.


one would assume the Hasty Generalization[1] fallacy would suffice.

When, do you think, does a rhetorical device fall into the realm of propagandizing?

1. http://www.logicalfallacies.info/presumption/hasty-generalis...

Propaganda? You're confusing a love for the English language and a little command of rhetoric with something vastly different, chief.

Hell, I don't even use Windows as a primary platform; I'm typing this from a Mac while I'm (quite literally) waiting to meet a guy to sell my Surface Pro 3 that I never use. I'm just not impressed by rules-for-thee-but-not-for-me silliness and knee-jerk, irrational fear. I don't trust Microsoft any more than I trust any company. But I don't rely on the fears of fifteen years ago to evaluate the current state of the world, either.

I think you and I have a vastly different definition of propaganda. I considered your post to be information or ideas methodically spread to promote or injure a cause, movement, nation, etc. In this case, the cause and movement would be "microsoft is still evil, do not forget." do you disagree that your post fits the definition under these constraints?

As you used it twice in this thread, I'm going to add "mustache twirl" (or variation) do my dictionary of rhetorical devices used to make an attack seem like less of an attack. it's very effective at disarming someone that calls it out. Thanks for this.

This is limited to BIOS-based booting, and there isn't really a whole lot of choice there. There's no standardised mechanism for bootloader configuration in the BIOS world, so you have the choice of either:

(a) overwriting the existing MBR, or (b) knowing how to configure every single third party bootloader, or (c) not booting

In the UEFI world, the Windows installer won't overwrite any files it didn't install.

UEFI brings with it all kinds of other lovelies though.


Kinda reminds me of the issues Linux has run into with ACPI, and here are some lovely emails from Torvalds regarding that:


That's not the same thing as application compatibility.

I don't see how those two things are in any way connected. The point they were making is that you might even be able take a Windows 3.1 app (but definitely a Windows 95 one) and run it on Windows 8.

Actually, you can't do Windows 3.1: Microsoft ripped out the Win16 subsystem in Windows 7.

They didn't. You can still enable it in 32-bit Win10 I think.

I wonder if Solaris ABI compat is actually older than the Windows stuff. Solaris to this day maintains binary compat with older releases and, for example, a 32-bit fopen() will fail once you open 255 streams because that was the limit in the ancient ABI. Everyone using Solaris at one point or another has probably hit this and it caused some issue, but Sun^H^H^HOracle refuses to make modern operation the default, all in the name of ancient binary compat. That's a bit more hardcore than optional support you can enable.

16-bit compatibility only exists in the 32-bit version, no longer in the 64-bit one. Same as every x64 version since XP64.

This is because in 64-bit mode the CPU can no longer handle 16-bit code. It's all AMD's fault...

And it should. Seriously, there are are less than 2% of users using Linux on the Desktop. Now a fraction of these users dual boot. Microsoft is a business, and it's bad business to spend money you could be using to make your product better to ensure that you play nice with every possible bootloader out there.

Most people that are capable of installing Linux (or some other Unixoid system) are probably capable of reinstalling GRUB (at least with a little help from a search engine of their choice).

But if you try to get your parents to give Linux a try, because their laptop ends up infected with some virus every other month, this does not help.

Which makes me think: What about dual-booting two Windows installations? This is probably a very rare scenario, especially with virtualization, but what if I was developing, say, device drivers and wanted to check my driver works both on, say, Windows 7 and 8/8.1? Does the Windows installer put my other Windows installation in the boot menu automatically? (Honest question, I have never tried this and probably never will.)

I wouldn't recommend linux if your parents keep getting malware. Wipe the PC, and set yourself up as the admin. Create a base user account for your parents, and RDP in to their machine to install programs for them. Or get them to use a tablet. The other option is to set them up with a mac. If they stay within the App Store, they're pretty safe.

I triple boot Windows XP, Windows 7 and Ubuntu 32bits in my gaming computer.

Grub shows a single Windows entry on its boot menu.

Then you see Windows 7 and 'Previous Windows version' in a text mode menu.

Thanks for the info!

OS/2 is perhaps not the best example, as early on it was a MS/IBM collaborative project. And even afterwards it had the economic backing of IBM. So if MS got overt about it, there would likely have been a lawsuit.

There is less risk of such from Linux. Even at their current size, RH is a flea next to MS.

That OS/2 2.0 fiasco used to be my favorite topic and I do have bad things to say against MS about it.

> really difficult

You only need to reinstall grub/lilo. It's possible to even use Windows bootloader.

I think it just stopped happening with UEFI and Win10.

With the caveat that UEFI has its own can of worms...

Oh man, Andrew Orlowski? I remember that IE7 story, it was absolutely a beat-up and it just confirmed for me he wasn't much of a reporter!

If this were true, then it should be easy to reproduce. It's not like the software has disappeared.

Which versions of DOS broke compatibility with which versions of Lotus?

Ugh, first time i have really experienced what others have complained about. the text really needs more contrast.

Looking at the submitter's background I don't see any professional experience with Microsoft tech. Maybe someone can explain it to me - I don't understand why a guy has avoided Microsoft for his entire career feels the need to dredge up a 10 year old article that talks about events from over 30 years ago.

Too much pro-Microsoft news for you? Honestly - what's your interest here?

I don't understand why a guy has avoided Microsoft for his entire career feels the need to dredge up a 10 year old article that talks about events from over 30 years ago. Too much pro-Microsoft news for you? Honestly - what's your interest here?

A comment[1] somebody made yesterday on the "Twitter apologizes" story reminded me of this. I think it's an important story regardless of your opinion on Microsoft specifically, exactly because it highlights the risk inherent in building something on top of a platform you don't control. I wanted to highlight that that particular bit of wisdom isn't exactly something new.

Looking at the submitter's background I don't see any professional experience with Microsoft tech.

FWIW, I have spent plenty of time working with Windows and DOS in my life, I just don't highlight it, because it isn't really relevant to what I do now. I also don't mention OS/2, AS/400, RPG, Visual Basic and a laundry list of other things I've worked with that now seem more or less irrelevant.

[1]: https://news.ycombinator.com/item?id=10427499

you should highlight some grails. :)

This quote was mentioned in the recent discussion of Twitter's outreach to developers. I believe the intent of this submission was to share a slice of relevant history with those in the community too young to have lived through it.

I believe the intent of this submission was to share a slice of relevant history with those in the community too young to have lived through it.


I'm guessing that the millions of tech people who make their living off of Microsoft's back would probably disagree that building on a Microsoft platform is a bad idea.

would probably disagree that building on a Microsoft platform is a bad idea

But nobody said "building on a Microsoft platform is a bad idea". What is being said is that "building on anybody's platform involves risk, whether it's twitter, microsoft, facebook, google, IBM or $WHOEVER". The point of this post was to highlight an example of the discussion around this topic and to emphasize that it isn't a novel thing.

Actually, "nobody said those words in the article or anywhere in the comments".

So, if your purpose was indeed to highlight that, you obviously failed since nobody here seems to be discussing that.

Here are some articles that say what you allegedly wanted to - https://www.google.com/search?q=risks%20building%20on%20some...

Dude, just drop it OK? I'm not sure what kind of fight you're trying to start here, or why, but I really don't give a fuck.


We've banned this account for repeatedly breaking the HN guidelines.

Which account? mindcrime and WorldWideWayne both seem to be alive at this time. Oh maybe you just meant banned from submitting stories. That makes sense. Thanks!

(Didn't see this earlier.) No, I'm sorry to say that what I meant is that we banned your account because https://news.ycombinator.com/item?id=10439668 was completely unacceptable, you've done this before, and you've ignored our requests to stop.

If you want us to unban your account, you're welcome to email hn@ycombinator.com. We're happy to unban people if (but only if) they give us reason to believe they'll follow the rules in the future.

Then I would say that building software that runs exclusively on MS is a bad idea.

That's the reason I don't use .NET and I have never poked inside a metro app.

And it is a reason for the explosion of the Appstores for mobile and webapps in general, startups want to bet on something that's not MS.

I guess not a single one of the YC companies writes exclusively windows software.

Multiplatform software for the win.

Can one only submit articles on topics in which one has professional experience?

No, but I'm interested in the motivation in relation to their point of view.

But in general, it's beyond me at this stage why people single out Microsoft for being anti-competitive. It's completely unbalanced.

The posted article seems to be doing quite the opposite; it is arguing against that perception of Microsoft.

It's a really bad example of what the submitter was allegedly trying to point out as you can see from his comment above.

No one is going to let facts get in their way of an anti-microsoft circle jerk.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact