DOS Ain't Done Til Lotus Won't Run? (2005)
proudlyserving.com
proudlyserving.com
"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."
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):
http://www.theregister.co.uk/1999/11/05/how_ms_played_the_in...
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 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.
"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.
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.
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.
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?"
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.
Has it been long enough that I dare peek at it now? ;)
Tab wars can drive your version control system crazy managing changes that don't matter unless they are using python.
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).
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.
Nobody gives hell to every other OS manufacturer that will clobber our current bootloader configs. That means more than OSX, btw.
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.)
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.
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.
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.
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.)
Grub shows a single Windows entry on its boot menu.
Then you see Windows 7 and 'Previous Windows version' in a text mode menu.
There is less risk of such from Linux. Even at their current size, RH is a flea next to MS.
You only need to reinstall grub/lilo. It's possible to even use Windows bootloader.
(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.
https://www.phoronix.com/scan.php?page=news_item&px=MTIyOTg
Kinda reminds me of the issues Linux has run into with ACPI, and here are some lovely emails from Torvalds regarding that:
With the caveat that UEFI has its own can of worms...
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.> Then along came smartphones.
Wasn't ARM a relative minor player before smartphones took over?
Which versions of DOS broke compatibility with which versions of Lotus?
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.
Exactly.
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.
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...
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.
But in general, it's beyond me at this stage why people single out Microsoft for being anti-competitive. It's completely unbalanced.