Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

341–350 of 424 posts

Re: Windows 11 will happily execute a binary compiled 30 years ago

#341

That shouldn't be considered remotely impressive. It should be seen as routine and expected, and if it doesn't work, that should be considered a hugely humiliating and unacceptable fail. To be clear, I am not saying that it's not impressive in the shitshow that is 2023. I am saying what norms we should work towards.

Agreed. There is absolutely no reason most statically compiled binaries should stop working.

They won't if you use the old version.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#342

Earlier quoted context omitted.

And why you don’t allow developers to make business decisions.

The huge backlash against Reddit's policy change is a good example of that. Sure, devs and programmers were upset, but after a week or two, all went back to normal as if nothing happened. Reddit continued to work, and its alternatives didn't gain much traction. I have an engineering background and then pivoted into managements science, and the difference in perspectives in the two fields is really obvious.

Let's not give Reddit's management too much credit. They've lit a decade's worth of investor and advertiser money on fire and have precious little to show for it. Their recent moves seem less like calculated business decisions and more like desperate scrambles to make the site appealing to public investors on very short notice.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#343
post #337

Earlier quoted context omitted.

This is actually what most gpu driver updates are. Instead of devs fixing their games, nvidia calcilated its in their best interest to just fix the game bugs at the gpu driver level and push updates.

See the infamous story about Quack 3 on ATI Radeon cards.

Here's the link, for those interested:

https://techreport.com/review/how-atis-drivers-optimize-quak...

Personally, I don't believe this is a good example; as this was ATI purposefully crippling the experience (downscaling textures, being the prime aspect) to cheat benchmarks. OP is more referring to "transparent" optimizations (the same experience, but made to run faster for the GPUs architecture, usually via operation reordering or shader modifications).

Re: Windows 11 will happily execute a binary compiled 30 years ago

#344
post #207

Earlier quoted context omitted.

FWIW Safari and Chrome are also doing this with their “quirks” files: https://github.com/WebKit/WebKit/blob/main/Source/WebCore/pa... (I can’t find the chrome one)

Chrome doesn't have one anymore, that's a WebKit thing.

Yeah, this was removed from the Blink engine. They've also done a lot of work removing namespace hacks (--opera-foo or --webkit-bar).

Not that I think the Google/Blink monopoly is a great thing, especially with their recent moves, but they did stick by some of their "sticking to standards" rhetoric.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#345
post #70

Microsoft's commitment to backwards compatibility is definitely one of the strengths of the Windows platform. On the flipside, it's also at the root at the insanity that is the forbidden word list in MS Teams channel names. https://learn.microsoft.com/en-us/microsoftteams/limits-spec...

I wonder if they could have mitigated that by leaning more heavily on the ability to have multiple personalities running on top of the kernel. So for instance, you could run a program from 1996 on the "Windows 95" subsystem and get better compatibility, but Teams could run on the "Windows 11" subsystem that treats CON as just another file name. Of course, there might be a problem if programs at different compatibility levels interact with the same files, but there's actually precedent for dealing with that kind of thing quasi-transparently, or perhaps I should say QUASI-~1.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#346

Earlier quoted context omitted.

> They will probably retire Rosetta2 in a few years, like they did with Rosetta. Counterpoint: The PPC-to-Intel version of Rosetta was licensed technology (QuickTransit); Apple was undoubtedly paying for it, possibly even per user, so there were financial reasons for them to get users off of it ASAP. Rosetta 2 was developed in-house by Apple, so there isn't the same hard timeline to get users to stop using it. I woul…

It could last longer if gaming with their game porting toolkit gets big enough to drive more Mac sales. Money talks.

[deleted]

Re: Windows 11 will happily execute a binary compiled 30 years ago

#347

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

From where I'm sitting this looks like an excellent argument for breaking backwards compatibility. All those bullshit hacks are a maintenance and debugging burden for someone and a tax on the whole rest of the operating system -- and I'd argue that it really shows.

They did this at a point where there was competition for the operating system GUI transition. Having this backward compatibility focus was a major win for them.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#348

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

This is actually what most gpu driver updates are. Instead of devs fixing their games, nvidia calcilated its in their best interest to just fix the game bugs at the gpu driver level and push updates.

> fix the game bugs at the gpu driver level and push updates

it's because the nvidia drivers are opaque blobs, rather than a source distribution.

If nvidia distributed their drivers as open source, i would imagine developers would likely "fix" their games properly because they'd be able to see what is going on underneath the hood, and write more optimal code.

of course, this removes some "competitive advantage" nvidia has over their AMD counterpart.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#349

Earlier quoted context omitted.

> Mac is a mixed bag of excellent Rosetta and breaking apps for no reason. They will probably retire Rosetta2 in a few years, like they did with Rosetta. Apple usually seems to care about getting the bulk of applications to transition over, and the rest is just collateral damage/the devs should’ve just updated their software.

> They will probably retire Rosetta2 in a few years, like they did with Rosetta. Counterpoint: The PPC-to-Intel version of Rosetta was licensed technology (QuickTransit); Apple was undoubtedly paying for it, possibly even per user, so there were financial reasons for them to get users off of it ASAP. Rosetta 2 was developed in-house by Apple, so there isn't the same hard timeline to get users to stop using it. I woul…

> I wouldn't expect it to survive long beyond support for running the OS on x86

Even if the support for running x86 Mac GUI apps along with x86 macOS, they might still keep the technology around for docker, linux VMs, etc.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#350
post #151
post #66

Earlier quoted context omitted.

OTVDM will allow running 16-bit windows programs on modern 64-bit windows.

OTVDM is great, but it's just using Wine. Windows really ripped out the whole 16-bit compatibility layer, which is a little sad.

They were kind of forced to. WoW (classic, not WoW64) relied on the CPU being able to switch to a 16-bit context, in much the way modern WoW uses amd64's compatibility mode. OTVDM's project page directly mentions this as a core component:

> CPU Emulator

> 64-bit Windows cannot modify LDT(NtSetInformationProcess(,ProcessLdtInformation,,) always returns error)

They would have had to replace/extend WoW with an architecture emulator. Raising the development/support complexity quite a bit for little gain (few people that use Windows 11 are running DOS or Win16 applications today, beyond retro gamers who use DOSBox anyways).

Post reply on HN