[HN Gopher] Windows 11 will happily execute a binary compiled 30...
       ___________________________________________________________________
        
       Windows 11 will happily execute a binary compiled 30 years ago
        
       Author : mikkohypponen
       Score  : 150 points
       Date   : 2023-08-18 15:04 UTC (7 hours ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | xhkkffbf wrote:
       | I've always been sad that my old Mac software just won't run.
       | It's one thing for Apple to move to new architectures. Maybe that
       | was necessary. But when the emulators break after a few years,
       | well, that's the part that bugs me.
       | 
       | Microsoft's devotion to its customers shouldn't be so amazing--
       | it's the way that every company should behave.
        
         | agumonkey wrote:
         | Apple had a time where they would allow even 1st gen iMacs
         | (300MHz?) to get the latest MacOS X. You might have to max out
         | ram but that was it, and it was very usable.
        
         | [deleted]
        
       | Dwedit wrote:
       | That would have to be a Win32 Console App made for Windows NT
       | 3.1?
        
       | freitzkriesler2 wrote:
       | I'm ashamed to admit I really like windows 11.
       | 
       | Telometry and other questionable things aside, I've loathed and
       | detested every UI change that Microsoft has done since Windows 7.
       | 
       | I unequivocally believe that windows 7 was peak windows UX. Every
       | subsequent version, I've limped by using classicshell and then
       | openshell.
       | 
       | Windows 11 is the first windows release where I didn't feel the
       | need to install something to bring me back to the late 2000s.
       | 
       | My only pet peeve is not allowing me to create accounts that
       | don't tie into outlook. Yes I know there are tricks to bypass
       | this but I shouldnt have to do that.
        
       | knallfrosch wrote:
       | 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 Windows team were going through various
       | popular applications, testing them to make sure they worked OK,
       | but SimCity kept crashing. They reported this to the Windows
       | developers, who disassembled SimCity, stepped through it in a
       | debugger, found the bug, and added special code that checked if
       | SimCity was running, and if it did, ran the memory allocator in a
       | special mode in which you could still use memory after freeing
       | it.
        
         | lamontcg wrote:
         | 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.
        
           | ohgodplsno wrote:
           | You're sitting on the point of view of a software developer.
           | 
           | Microsoft's point of view is that the underlying software
           | doesn't matter. The user's software _has_ to run. The
           | Application Compatibility Database
           | (https://learn.microsoft.com/en-
           | us/windows/win32/devnotes/app...) is, overall, a relatively
           | small component, and all it does is apply some shims if your
           | executable is in that list. Performance issues in Windows do
           | not stem from anywhere near the kernel. The kernel team is
           | absolutely top tier. The kernel itself is of much higher
           | quality than what you'd find on Linux, or MacOS.
           | 
           | Now, the upper layers however...
        
             | lamontcg wrote:
             | > The kernel team is absolutely top tier. The kernel itself
             | is of much higher quality than what you'd find on Linux, or
             | MacOS. > > Now, the upper layers however...
             | 
             | You're not selling me on the idea that the compatibility
             | layer has no cost by pointing out that the upper layers
             | that reside over it are a mess.
             | 
             | That would actually be my argument.
        
               | ohgodplsno wrote:
               | Would you consider LDPRELOAD a massive cost to Linux ?
               | Because that's basically what it is.
               | 
               | You could give me the best kernel in the world, if I end
               | up reading a file whenever I push a pixel to the screen,
               | my performance will be dogshit. Windows's performance
               | problems are not due to the kernel (or rather, not due to
               | problems/bugs: some performance issues are just a choice.
               | See NTFS's dreadful performance with Git: NTFS simply
               | wasn't thought out for having thousands of very small
               | files all being touched at the same time.)
        
             | rbanffy wrote:
             | > The user's software _has_ to run.
             | 
             | My concern is that a lot of security issues may have come
             | from this. A clever attacker could grab recently freed
             | memory from one of these programs and inject malicious code
             | to enjoy whatever other weird privileges the original
             | program has, because marketing said it can't crash.
        
               | ohgodplsno wrote:
               | The compatibility hacks are not "revert to old, terribly
               | unsafe behavior". Rather, "use current, good behavior,
               | lie to the application about what happened."
        
             | everial wrote:
             | > The kernel team is absolutely top tier. The kernel itself
             | is of much higher quality than what you'd find on Linux, or
             | MacOS.
             | 
             | Have recommended sources for this or learning more? My
             | experience with Windows doesn't match this at all, though
             | from my perspective it's hard to tell if it's kernel as
             | opposed to any of the layers above it.
        
               | ohgodplsno wrote:
               | There's an absurd number of components to the Windows
               | Kernel, so here's a kind of disjointed list of various
               | things, from different time frames.
               | 
               | Windows Research Kernel -
               | https://github.com/HighSchoolSoftwareClub/Windows-
               | Research-K... - More or less Windows XP
               | 
               | I/O Completion ports - https://learn.microsoft.com/en-
               | us/windows/win32/fileio/i-o-c... - io_uring, but mostly
               | better, since NT 3.5
               | 
               | General architecture info:
               | https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
               | 
               | A bunch of things you'll find in Windows Internals, which
               | is pretty much the bible for Windows
               | (https://empyreal96.github.io/nt-info-depot/Windows-
               | Internals..., or buy it online. Mark Russinovich is a
               | treasure trove of Windows knowledge)
               | 
               | The various Windows subsystems - Windows is built from
               | the start to be able to impersonate other OSes. While the
               | most obvious one is WSL (despite WSL2 being just a VM),
               | there's an OS/2 Subsystem, a POSIX Subsystem, a Win32
               | subsystem...
               | 
               | Very few things actually run in kernel mode. There exists
               | a almost-kernel-but-not-quite mode called executive mode,
               | which is a much better option than Linux's all or nothing
               | user-or-kernel (and, as far as I know, Mach has the same
               | problem)
               | 
               | NT is a hybrid kernel: not quite monolithic, not quite
               | micro. This allows Windows to do things like swapping
               | your video drivers live as it's running, unlike Linux and
               | Mach which would miserably crash. Hell, it can even
               | recover from a video driver crash and restart it safely,
               | and all you'll see is a few seconds of black screen.
               | 
               | The breadth of devices it supports is absolutely
               | breathtaking. (well, in part because they very much have
               | a hand in forcing manufacturers to respect the standards
               | that they write)
               | 
               | All of Sysinternals (Mark Russinovich's work, again) is
               | also an amazing resource: https://learn.microsoft.com/en-
               | us/sysinternals/
               | 
               | Now, mind you, this is purely about technical merits: the
               | NT Kernel is a miracle of technology. The APIs it
               | exposes, and that most Microsoft products expose are
               | downright batshit insane sometimes. But that's also what
               | happens when you support 35 years of software. Also, the
               | HANDLE pattern that most Win32 API uses is the superior
               | alternative to dumb pointers
               | (https://floooh.github.io/2018/06/17/handles-vs-
               | pointers.html)
               | 
               | Oh and a bunch of The Old New Things articles, but I
               | can't be arsed to look them up right now, sorry.
        
               | PaulHoule wrote:
               | Notably Microsoft _does not_ document an API to the
               | kernel, the official userspace interface in Windows is
               | the DLLs they provide. In that since, Wine, which
               | provides DLLs that implement the same interface over the
               | Linux kernel is conforming to the way windows works, and
               | Cygwin, which provided a POSIX-like libc that ran on the
               | Windows kernel is a Windows-centric way to implement
               | POSIX.
               | 
               | (That said, the path of WSL 1, which emulated the Linux
               | syscall interface on Windows, takes advantage of the idea
               | Windows NT had from the very beginning which was
               | implementing "personalities" that could pretend to be
               | other OS, such as the original plan for Windows NT to be
               | OS/2 compatible.)
        
           | ClumsyPilot wrote:
           | > All those bullshit hacks are a maintenance and debugging
           | burden for someone
           | 
           | That's why that someone is getting paid -it's their job.
           | 
           | If you want software to power important things in society,
           | like transport and energy, you need to have a certain level
           | of responsibility for reliability.
           | 
           | As this post demonstrates, Right now we have immature
           | children who are used to breaking things for the sake of a
           | new fad, in charge of critical systems.
        
             | darklycan51 wrote:
             | This really bothers me and I'm young, I am TIRED of
             | applications FORCING restarts, and other garbage as a
             | software culture. You are doing something? Oh sorry our
             | developer team thought it would be smart to crash your
             | whatever task you are doing by force to give you a 2 line
             | changelog.
             | 
             | Typing a dm on discord or talking to people? boom random
             | restart to force update, using firefox nightly? sorry you
             | cannot use it as your main browser because they can decide
             | to brick your browser randomly to force you to restart. for
             | no reason whatsoever, what is the downside of just warning
             | people but not FORCE restarting? none.
             | 
             | Doing critical stuff on your pc that requires long term
             | uptime? sorry Windows will decide for you to restart
             | forcefully (at least these can be turned off, for now, via
             | group policy)
        
           | caycep wrote:
           | I think that's why they invented containers/virtual machines
        
           | PaulHoule wrote:
           | The thing about Microsoft is that they developed a framework
           | for doing that kind of thing in a systematic way so it is not
           | so hackish as it sounds.
           | 
           | That's an innocent example but do recall that circa 1995-2005
           | or so, Microsoft looked like a dangerous monopolist and could
           | have been in legal jeopardy if a product that competes with
           | office (say WordPerfect) quit working when they went from Win
           | 95 to Win 98 or Win 2k to Win XP.
           | 
           | I'd also add that more than once I've had web pages and
           | applications I've made been used as test cases by Microsoft
           | and been contacted by people from Microsoft about
           | compatibility issues. (... and I've never been an advocate of
           | Microsoft browsers, often I've been quite the opposite.) I
           | haven't heard once from Netscape, Mozilla, Apple, Opera or
           | Google about something like this.
        
           | Cthulhu_ wrote:
           | From a sales point of view though, if your operating system
           | can run one of the most popular games at the time, it means
           | people won't just keep using the existing one.
           | 
           | It had to be a step forward, not a step back. I mean I don't
           | know what you're using at the moment, but if your favorite
           | application didn't work on the next version, would you
           | upgrade?
           | 
           | This is why Apple spent so much on Rosetta, first when going
           | from PowerPC or whatever to x86/64, then from that to ARM /
           | M1, while in the meantime building a developer and
           | application ecosystem that allows for easier transition
           | between CPU architectures and environments.
        
           | charonn0 wrote:
           | Breaking backwards compatibility was one of the biggest
           | customer criticisms of Windows Vista.
        
         | candiddevmike wrote:
         | This seems like an interesting vector for a virus.
        
           | AnotherGoodName wrote:
           | These older games will all work in 640kb so the fix would
           | likely just have been to fence off 640kb completely from
           | other apps while SimCity was running.
        
         | binkHN wrote:
         | Nice. OpenBSD does something similar, with the difference being
         | that there are no exemptions for specific software--they expect
         | developers to fix their broken programs.
        
           | GhostWhisperer wrote:
           | you had me
        
           | [deleted]
        
           | housemusicfan wrote:
           | Clearly missing the point. The OP mentions DOS, so this was
           | the mid-90s. OpenBSD didn't exist (Theo hadn't burned all his
           | bridges with NetBSD yet). There were NO updates. You bought
           | software, games especially, in a shrink wrapped box at a
           | brick and mortar store. Most people outside universities did
           | not have internet access. If you were an extremely privileged
           | few, you could download small patches from a BBS or online
           | service but this was extremely rare. You got what you got.
           | The development model was different. It _had_ to work under
           | any circumstances. There was no  "we'll fix it in the next
           | sprint!" and push it to the app store. Developers had no way
           | to contact their customers.
           | 
           | Regarding that hobbyist OS OpenBSD, where the developers care
           | about nothing besides security, there were no proprietary
           | application packages available. Most retailed applications in
           | those days ran on SunOS/Solaris or HP/UX.
        
             | anthk wrote:
             | Gaming magazines shipped diskettes with game updates and
             | patches.
        
             | kibibu wrote:
             | > There were NO updates
             | 
             | I distinctly remember patching DOOM from 1.1 through 1.2,
             | 1.4, 1.666 to 1.9
        
           | pradn wrote:
           | That's not similar at all! Windows takes the "Linux way" of
           | "not breaking userspace" seriously. OpenBSD has other goals -
           | some sense of minimality and clarity, but this is not one.
        
             | vasco wrote:
             | > That's not similar at all!
             | 
             | That was the joke, friend.
        
               | pradn wrote:
               | If it was a joke, my bad !
        
             | nullindividual wrote:
             | And unlike Linux, has a stable ABI.
        
               | blibble wrote:
               | Linux has a stable userland ABI
               | 
               | OpenBSD doesn't even have that: if you don't reboot
               | quickly after installing a major upgrade you're going to
               | have a bad time
               | 
               | whereas you can run ancient userland on more modern Linux
               | kernels (as evidenced by the container ecosystem)
        
               | PlutoIsAPlanet wrote:
               | The Linux kernel has a stable userland ABI.
               | 
               | Other core components that makes up most Linux distros
               | (e.g. libc, gtk, libc, curl, ssl etc) however do not.
        
               | [deleted]
        
         | failuser wrote:
         | Counter-example: Soldier of Fortune is broken on modern windows
         | because of a misapplied compatibility hack. Rename the binary
         | and it works with no problems.
         | 
         | This is an awful way to implement backwards compatibility.
         | Opaque and ad-hoc. They have been using similar toolset to
         | break competitors applications.
         | 
         | The choice of what old version of windows to run the program on
         | is typically to try them one by one.
         | 
         | Linux is no better with no stable ABI. Mac is a mixed bag of
         | excellent Rosetta and breaking apps for no reason. Who did it
         | better? FreeBSD? Some extinct "grown-up" OS like VMS?
        
           | belltaco wrote:
           | > They have been using similar toolset to break competitors
           | applications
           | 
           | Source(s) ?
        
             | failuser wrote:
             | This, for example. And they got caught. How many times they
             | did not?
             | 
             | https://www.theregister.com/1999/11/05/how_ms_played_the_in
             | c...
        
               | lsaferite wrote:
               | Your evidence is an article from 24 years ago about
               | behavior that happened 32 year ago? And it's not even
               | about them breaking competitors applications, it's about
               | them refusing to run on a competing OS (in a bit of a
               | sleezy way).
               | 
               | Do you have more evidence of your claimed behavior?
               | 
               | I dislike MSFT, a lot, but that's a _very_ big claim and
               | needs to be backed up with evidence.
        
               | TylerE wrote:
               | Plus, let's be real, the Register is basically the tech
               | equivalent of the Daily Mail. Often amusing, occasionally
               | occurate.
        
               | failuser wrote:
               | Sure, but the DR DOS case is well known. Is ZDnet better?
               | It also lists other cases related to efforts to destroy
               | Novell.
               | 
               | https://www.zdnet.com/article/caldera-unlocks-microsoft-
               | evid...
        
               | failuser wrote:
               | My claim is that Microsoft operating system was silently
               | detecting competitors software and changing behavior to
               | break compatibility. That is proven. The war on
               | WordPerfect was equally shady.
               | 
               | Did Microsoft clean its act at some point and stopped
               | doing so? They force Edge at every opportunity, so even
               | the behavior that almost got them forcefully partitioned
               | is back.
               | 
               | I don't think we have caught them outright sabotaging
               | e.g. Chrome aside from the default browser shenanigans,
               | but who would bother to check unless it's a repeatable
               | crash? Aside from Chrome what app do they even have a
               | need to sabotage? Steam?
        
           | Tijdreiziger wrote:
           | > 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.
        
             | duskwuff wrote:
             | > 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
             | wouldn't expect it to survive long beyond support for
             | running the OS on x86, though.
        
               | Tijdreiziger wrote:
               | Yes, just like they had valid technical reasons to kill
               | 32-bit iOS apps. The point is that they don't go above
               | and beyond like Microsoft (although of course even MS has
               | deprecated e.g. 16-bit apps).
        
               | tinus_hn wrote:
               | On the bright side, the end result is that on Mac there
               | are only apps that have been updated this decade.
        
               | BirAdam wrote:
               | It could last longer if gaming with their game porting
               | toolkit gets big enough to drive more Mac sales. Money
               | talks.
        
             | failuser wrote:
             | Definitely. All Intel Mac apps will be abandoned. Even tiny
             | apps like Spectacle will cause pain.
        
               | Cthulhu_ wrote:
               | I've found Rectangle to be a good substitute / in-place
               | replacement.
        
               | failuser wrote:
               | Thanks, it actually makes sense to switch. And Spectacle
               | is even open source, so the amount of pain is minimal.
        
           | rbanffy wrote:
           | > Linux is no better with no stable ABI.
           | 
           | I'm confused. Linus has repeatedly stated that the ABI should
           | be stable, "we don't break user space". There are exceptions,
           | but any proposal that makes a breaking change to the kernel's
           | external symbols is very hard to push through.
           | 
           | I don't remember anything breaking because of a new kernel
           | version except device drivers, which are part of the kernel
           | anyway and should be compiled for a specific kernel version.
           | They are not applications, so they shouldn't rely on
           | assumptions about the ABI.
           | 
           | Most Linux distros offer mechanisms to compile a version-
           | dependent interface to isolate a version-independent driver
           | or program that messes too closely with the kernel.
           | 
           | > Some extinct "grown-up" OS like VMS?
           | 
           | I'd say the age of binary compatibility ended with most of
           | those "grown-up" OSs becoming legacy. I usually test (compile
           | and test) my C code on multiple platforms, ranging from
           | Windows to Solaris on SPARC (emulated these days, sadly). I
           | haven't yet figured out a cost-effective way to test it under
           | IBM z/OS's USS (which makes z/OS a certified UNIX).
        
             | aleph_minus_one wrote:
             | > Linus has repeatedly stated that the ABI should be
             | stable, "we don't break user space".
             | 
             | Linus said that the _kernel_ API should be stable, which
             | mostly is. But a GNU /Linux system contains a lot more APIs
             | (in user mode) than a kernel API.
        
         | mrguyorama wrote:
         | Search for the bonus chapters to Raymond Chen's "Old new
         | thing", which goes through MANY examples of how there was an
         | entire team who's job was to go through popular applications
         | and hack windows to make them work on the new OS
        
       | shortlived wrote:
       | Even more "insanity":
       | 
       | z/OS (aka OS360 aka MVS) supports programs going back to the 60s
       | and I just talked with a DE at IBM who is still using a program
       | compiled circa Apollo 11 mission.
        
       | armchairhacker wrote:
       | Does Linux have this backwards compatibility? What about macOS?
       | 
       | I know instruction sets changed from PowerPC to Intel to ARM, so
       | probably not macOS at least. But this is a CLI and I doubt old
       | system calls changed
        
         | anthk wrote:
         | Linux will just compile 30 yo binaries.
        
       | no_time wrote:
       | So much so that even only linux, the most stable API arguably is
       | win32 through wine. Atleast for desktop related tasks.
        
         | doublepg23 wrote:
         | Are the compatibility issues on Linux really an API issue or
         | having incompatible, newer versions of libraries? The effect is
         | the same, your old program doesn't run, but the cause is very
         | different.
        
           | Asooka wrote:
           | The latter. Old versions of libraries aren't maintained and
           | you're on your own to compile effectively from scratch an
           | entire distro's worth of libraries. Ironically, it should be
           | easier to have as strong backwards compatibility on Linux as
           | Windows, since all .so files are versioned and almost never
           | break the API within the same major version, so you're spared
           | the DLL hell of a program linking with blah.dll expecting it
           | to be version 1, but you have version 7 installed. On Linux
           | the program would link with libblah.so.1, not the
           | libblah.so.7 you have installed.
        
           | fredoralive wrote:
           | Incompatible, newer versions of libraries is an API issue? An
           | OS is more than a kernel, and on Windows if you link to the
           | standard set of libraries provided with the Windows,
           | Microsoft tries not to break them.
        
       | davidcollantes wrote:
       | Is there a link someone could share (other than the one to the
       | post)?
        
       | snickerbockers wrote:
       | That's cute and all, but it's fucking gzip. It doesn't have
       | complex dependencies.
       | 
       | Pretty sure Linux could run a 30 year old gzip binary too. I've
       | never needed to do that with gzip but I have definitely run
       | binaries of a similar vintage without issue.
       | 
       | Windows backwards-compatibility fails miserably on non-trivial
       | programs, you're generally pretty lucky if you can get something
       | from the XP-era or older to work out of the box.
        
         | herpderperator wrote:
         | Someone ran the gzip binary on Linux just fine:
         | https://twitter.com/stderrdk/status/1692652013711221045
        
       | veave wrote:
       | It's not really insane, what's insane is Apple refusing to run
       | 32-bit executables.
        
       | baal80spam wrote:
       | And that's why Microsoft will dominate corporate PC market for
       | the foreseeable future.
        
         | Sohcahtoa82 wrote:
         | I dunno, based on my anecdata of my last two jobs, Mac is
         | starting to take over.
         | 
         | Shit, at my current job, we're developing software that runs
         | solely on x86-64 Linux (And our output is an entire VM image,
         | not just an executable), yet we're running on M1 Macs. TBH,
         | it's quite painful and I wish I understood what the hell the
         | engineering department is thinking, since you can't run x86-64
         | VMs on M1 hardware.
         | 
         | But for gamers, Windows's backwards compatibility makes it
         | king. I can usually easily run 15+ year old games without a
         | hitch.
        
           | pjmlp wrote:
           | I bet you're located on North America.
           | 
           | Across the rest of the world macOS numbers aren't that high,
           | still better than "Desktop Linux" though.
        
         | pjmlp wrote:
         | Yeah, only beaten by IBM and Unisys compatibility on their
         | UNIX, mainframe and micro systems.
        
         | afavour wrote:
         | Eh. More and more native software is being replaced by web
         | versions (or versions that run inside a web _view_ ). I'd argue
         | that is going to be the more important compatibility test in
         | the coming years.
        
           | jbluepolarbear wrote:
           | Even so, a lot of those corporate web applications rely on
           | .net frameworks for integrating with shared point, ad, and
           | many other established enterprises services and applications
           | so they're still stuck to windows. An example, all my
           | partners medical software is through a browser but requires
           | multiple system frameworks to function. Also they're all
           | using Remote Desktop to Amazon workspaces that are running
           | windows.
        
         | c7DJTLrn wrote:
         | Not really, the average user doesn't give a shit about
         | backwards compatibility, they care about being able to create
         | slideshows and send emails. Windows will dominate for the
         | foreseeable future because of deals with manufacturers.
        
           | hx8 wrote:
           | Corporate IT cares about managing all of the devices inside
           | an organization. If a sizable portion of the workforce needs
           | windows for access to platform specific programs then having
           | non-Windows systems for other users that achieve what Windows
           | can do is just overhead for IT and can see pushback.
        
       | 40yearoldman wrote:
       | Is it? Maybe insane in a bad way.
       | 
       | Right click on windows desktop had what now 3 different menus
       | that might show depending on what you want to do. Oh. And let's
       | not talk about how much of what you see just covers the stuff up
       | from 1998. Still rendering the old stuff only to have a slightly
       | larger menu render right on top of it.
        
         | gotoeleven wrote:
         | The Windows 11 UI experience is opening up new markets for
         | Microsoft. For example, Windows 11 is sold to medical schools
         | as Microsoft Stroke Simulator 2023.
        
         | baal80spam wrote:
         | You raise a valid point. Still, I'd rather be able to run
         | software I need than not.
        
           | Supermancho wrote:
           | We have containers now. You can still run it.
        
         | bastardoperator wrote:
         | Agreed. I would say backwards compatibility at this point
         | hinders development and it shows in windows when you're looking
         | at 5 different UI's. I have a 4k monitor, and the installers
         | all look blurry because they can't scale up. We can't even get
         | decent looking icons that were created in the last decade.
         | 
         | Honestly, I think a barebones, absolute minimist windows OS
         | would be something that interest a lot of technical users. You
         | can only stack shit so high.
        
           | binkHN wrote:
           | > ...absolute minimist windows OS...
           | 
           | https://support.microsoft.com/en-
           | us/windows/windows-10-and-w...
        
             | bastardoperator wrote:
             | "it allows only apps from Microsoft Store"
             | 
             | That's a showstopper... but cool, ty for sharing
        
         | iknowstuff wrote:
         | > Still rendering the old stuff only to have a slightly larger
         | menu render right on top of it
         | 
         | Hahah no way? Is this documented somewhere? And the new UIs are
         | slooow!
        
       | pdpi wrote:
       | 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...
        
         | vb6sp6 wrote:
         | [dead]
        
       | mrwnmonm wrote:
       | I clicked on it thinking something else :(
        
       | [deleted]
        
       | badrabbit wrote:
       | But it is also this compatibility that makes it slower for
       | certain programs.
        
       | [deleted]
        
       | rkagerer wrote:
       | It's not insane, it's my expectation for a tool. My hammer still
       | works perfectly well with nails I bought 30 years ago.
       | 
       | It's impossible to build on shifting foundations that are
       | constantly breaking backward compatibility. You eventually spend
       | all your time maintaining instead of creating.
       | 
       | Then you have to go reinvent your wheel, and in my experience as
       | a user your shiny new one isn't necessarily better.
       | 
       | Most of the software I use is more than 10 years old. Some is
       | still updated, some is not (or went cloud and left me happily
       | behind).
        
       | 38 wrote:
       | Non crap link
       | 
       | http://farside.link/twitter.com/mikko/status/169250324959558...
        
         | dartharva wrote:
         | Nitter hasn't been working for me since a few days ago. Is it
         | just me or did X break it?
        
           | joos3 wrote:
           | https://news.ycombinator.com/item?id=37131559
        
       | blibble wrote:
       | yes it can run things that don't use much of the API surface
       | (just using libc? probably fine)
       | 
       | however try running a game from the Windows 95/98 days and you've
       | got a maybe 50/50 chance of it working
       | 
       | e.g. they changed the return code from BitBlt from 95/98 -> XP,
       | they used to return the number of scanlines but switched it to a
       | boolean
       | 
       | same with the heap management functions, directory traversal
       | functions, etc
        
         | mikkohypponen wrote:
         | Some stuff works fine. See
         | https://twitter.com/mikko/status/1692552661374005450
        
           | blibble wrote:
           | just don't try anything that used safedisc
        
         | pjmlp wrote:
         | Those issues only apply to Windows 9x linage.
         | 
         | Current Windows versions trace back to Windows NT 3.51/2000
         | linage.
         | 
         | Naturally 9X => XP don't work flawlessly, they are two
         | different OS stacks.
        
           | blibble wrote:
           | well yes
           | 
           | however it sort of undermines the "insane compatibility" /
           | "stable API" point if mass-market Windows software produced
           | before the 2001 release of XP mostly doesn't work on modern
           | Windows
           | 
           | NT effectively forked Win32 (introduced with Windows 3.1)
           | into something incompatible
           | 
           | (meanwhile it all runs on Wine perfectly fine)
        
             | pjmlp wrote:
             | What? Windows NT never forked anything.
             | 
             | Windows 3.1 introduced Win16 protected mode with segmented
             | memory.
             | 
             | Win32s was a backport from a Win32 subset from Windows NT
             | 4.0.
             | 
             | Windows NT linage exists since 1993.
        
         | eternityforest wrote:
         | Try running something from only ONE year ago on Linux and it
         | very often won't work, unless it's an Appimage or Flatpak, or
         | you're on Nix,
         | 
         | They might not break userland but Qt and GTK do the breaking
         | for you. Python joined the party recently. Random DBus daemons
         | might be missing, etc.
        
       | znpy wrote:
       | Someone's gonna come and say that linux has that too, and while
       | technically true it's quite hard in practice.
       | 
       | The kernel abi is stable, everything else is pure chaos, and this
       | is mostly due to how applications are usually packaged in linux:
       | your app could load (as long as it's not in a.out format) but
       | then would fail at loading most libraries. So effectively you
       | _need_ a whole chroot with the reference linux distro (or other
       | runtime in general) and I'm not so sure you could find archives
       | of 30 years old distros.
       | 
       | And I'm assuming that the kernel abi hasn't actually changed a
       | single bit and that no other interfaces changed either (stuff
       | like /proc or /sys - /sys wasn't even there 30 years ago i
       | think).
       | 
       | And if you're running an Xorg app, I wouldn't bet my lunch on
       | that level of protocol-level compatibility.
        
         | msla wrote:
         | It works in Linux the same way it works on Windows: If you
         | don't have the dynamic libraries and configuration you need, it
         | won't work.
         | 
         | Why this is a mark against Linux and not Windows is beyond me.
        
           | znpy wrote:
           | Eh, kinda. On linux you can only assume kernel abi
           | compatibility whereas pn windoes you can assume the basic
           | runtime (win32 or whatever) to be present and available.
        
       | rco8786 wrote:
       | I remember hearing that Windows 7 (XP?) had some code
       | specifically to support the original SimCity game in it.
        
       | kmoser wrote:
       | I have a command line Windows binary compiled over 30 years ago
       | (June 1996) that _won 't_ run on Windows 10 (64 bit). Windows
       | complains, "ANAGRAMS.EXE is not compatible with the version of
       | Windows you're running. Check your computer's system information
       | and then contact the software publisher."
       | 
       | Is this issue specific to Windows 10, and would it work on
       | Windows 11?
        
         | brailsafe wrote:
         | Almost 30 years ago*
        
         | rootw0rm wrote:
         | have you tried various compatibility options? right click ->
         | properties -> compatibility
         | 
         | there's a troubleshooter there, too
        
       | NullPrefix wrote:
       | XP games don't work on Win7. Doubt they fixed it for Win10 or
       | whatever the current version is.
        
         | sumtechguy wrote:
         | That is very hit or miss. Out of the 1200 or so I own I have
         | maybe 20 or so that do not run because the game did something
         | weird with the APIs (or starforce).
        
           | alaxapta7 wrote:
           | I don't have nearly as large sample size, but all the games I
           | used to play on XP work fine on W10. And I don't think I've
           | used the compatibility mode, ever.
           | 
           | Actually yes, C&C Red Alert 2 was running slow, but the
           | community came up with patches that make it play nice,
           | including the multiplayer which now works better than it did
           | back in 2000.
        
       | bartread wrote:
       | All the people on that Twitter thread getting butthurt about it
       | and complaining that Windows' backwards compatibility is a bad
       | thing... WTF koolaid have they been drinking?
       | 
       | I don't often sing Microsoft's praises but backwards
       | compatibility is something they get absolutely right: something
       | they've _always_ got right. Everything doesn 't have to be
       | changing and breaking all the time and, to me, it's a mark of
       | maturity when an organisation can maintain compatibility so as
       | not to inconvenience - and introduce unbudgeted (and sometimes
       | very high) costs to - users, integrators, and consumers. Top
       | marks, Microsoft.
        
         | galleywest200 wrote:
         | I agree.
         | 
         | As an example: The Xbox Series X, their newest flagship model,
         | is fully backwards compatible with all of the Xbox physical CD
         | games from all Xbox systems. Just pop the CD in and you are
         | good to go.
        
         | Asooka wrote:
         | The Linux world would benefit strongly from having a much
         | bigger commitment to backwards compatibility in foundational
         | libraries. Obviously there is nobody who can force e.g. OpenSSL
         | to keep supporting old versions or to provide them as wrappers
         | over the latest version, or to force GTK to keep around working
         | versions of libraries exposing all interfaces dating from GTK
         | 1.0 onwards. But if we could have a project to do just that,
         | that would be great. We all want people to move with the times
         | and adopt new versions of their dependencies so security
         | exploits can be patched, but right now if you're writing
         | software for Linux, either you package all your dependencies
         | with it (forever calcifying all security exploits), or you keep
         | on top of all updates of everything you use, or your software
         | simply won't run within a couple of years. The open source
         | community lives and dies by the ability of users to run
         | existing software. Effectively continually deleting open source
         | software from existence, while windows keeps supporting every
         | single program written since 30 years ago, means we're always
         | falling behind in usefulness. There ought to exist an
         | organisation dedicated to maintaining old versions of widely
         | used system libraries either in their original form, or as
         | wrappers over the new versions (to the extent possible), so
         | that people can rely on their existing software. Since we're
         | talking about open source, that would mean maintaining the
         | development kits as well, so old source can be built on new
         | systems. It makes no sense to just let all this work rot, it is
         | our greatest treasure.
        
           | PlutoIsAPlanet wrote:
           | > The Linux world would benefit strongly from having a much
           | bigger commitment to backwards compatibility in foundational
           | libraries
           | 
           | No point when this problem has been solved with containers
           | (docker, flatpak etc).
        
           | bryanlarsen wrote:
           | That's pretty much exactly what Red Hat does with their
           | Enterprise Linux.
        
       | paxys wrote:
       | I'm going to go ahead and say operating systems that _don 't_
       | work this way are the exception. Running a 30 year old binary
       | isn't all that big a deal. Pretty much every mainstream system
       | does so every day in its day to day operation.
        
         | sitzkrieg wrote:
         | try running a plain c linux userspace program from the 90s
         | without recompiling it on any modern distro of your choice
        
           | AnotherGoodName wrote:
           | Specifically you can't run a.out binaries anymore and ELF
           | came about in 98.
           | 
           | So that's a pretty hard limit. Linux can run binaries that
           | were compiled to the latest binary standard in 98.
        
             | sitzkrieg wrote:
             | how about the oldest elf on the latest x86 distro
             | available? please dont ruin my contrived abi changes
             | example!
        
             | pjmlp wrote:
             | ELF came out in 1994, kernel 1.0.9.
             | 
             | Slackware 2.0 was one of the first distributions to ship
             | it.
        
         | housemusicfan wrote:
         | macOS won't let me run binaries from 5 years ago, let alone 30.
        
         | toast0 wrote:
         | iOS and Android aren't 30 years old, so that's not possible.
         | Assuming you get by signing/appstore/etc, I don't think you can
         | take a compiled app from early iOS and run it on an iPhone now;
         | Apple removes old apis and there's the whole 64-bit transition
         | too.
         | 
         | Google isn't as aggressive and most? apps are bytecode only,
         | but I kind of don't expect an apk for Android 1.0 to function
         | properly if run on an Android today. At least if it does
         | anything advanced with networking or needs permissions that
         | changed a lot.
         | 
         | Linux should work if it was static compiled, and probably helps
         | if it doesn't use audio; because Linux audio has changed a lot
         | in 30 years. A dynamically linked Linux binary from 30 years
         | ago is nearly hopeless, because it would have been linked
         | against a different libc that's in common use today, and I
         | doubt that will be on your system today. If you had the full
         | filesystem, it _should_ run in a chroot.
         | 
         | MacOS was System 7 in 1993, on 68k, not power pc. Those
         | applications aren't running on your M2 without emulation.
         | Dropping 32-bit support doesn't help either, of course.
         | 
         | FreeBSD 1.0 was released in November 1993, so it's not quite 30
         | years old, but I suspect a static compiled app may work, but
         | libraries will be hard. FreeBSD makes compat packages to get
         | libraries to run older software, but I don't see one for 1.x or
         | 2.x, the package for 3.x was marked expired in 2010, but
         | compat4x seems alive and well; that gets you 20 years of
         | probable compatability.
        
       | robomartin wrote:
       | I have always believed this has been one of the primary reasons
       | for which Windows won decisively against MacOS.
       | 
       | Apple has never had a problem throwing away their customers'
       | investment in their ecosystem. I was at a company with several
       | hundred Macs when the transition away from PowerPC happened. It
       | was just brutal. And costly. Not just hardware, software too.
       | 
       | And, what for? From a business perspective, you can do the same
       | fundamental work woth both systems. The difference are: My
       | investment is protected in one case and not the other. We have a
       | bunch of Macs here. Only where absolutely necessary and for
       | multi-platform testing.
       | 
       | As much as MS is maligned by purists, the truth of the matter is
       | they have always protected their customers by having a remarkable
       | degree if backwards compatibility, which isn't easy to achieve
       | and maintain.
        
       | Pxtl wrote:
       | Meanwhile my new Android Pixel phone will run literally none of
       | the Android apks I bought 5 years ago on humble bundle because
       | it's 64-bit only and they're all 32-bit.
        
       | esalman wrote:
       | My windows 11 upgrade experience was one of the smoothest ever. I
       | was playing AOE, got a notification that my machine is eligible
       | for upgrade, paused and saved the game, did the update and
       | resumed.
        
       | jmkni wrote:
       | What I find so frustrating is that Windows, under the hood, is so
       | solid.
       | 
       | It's just the UI with Bing/Ads/telemetrics/etc integration is so
       | crap, like they've ruined a solid OS with crappy surface level
       | stuff.
        
         | FirmwareBurner wrote:
         | It's as if, it's a product made by a giant corporation with
         | over a dozen different teams of skilled people, with different
         | managers and different visons on how their own team's work
         | should impact the final product for their own career
         | advancement purposes.
        
           | 6D794163636F756 wrote:
           | I would like to refer you to Conway's law for business which
           | states that, "Organizations, who design systems, are
           | constrained to produce designs which are copies of the
           | communication structures of these organizations."
        
             | FirmwareBurner wrote:
             | My point.
        
           | veec_cas_tant wrote:
           | Sure. Apple is also giant and (probably?) fits those
           | descriptors as well. Why is Mac so solid under similar
           | circumstances?
        
             | pjmlp wrote:
             | I suggest hearing to ATP Podcast or Upgrade rants regarding
             | how "solid" macOS happens to be.
        
             | FirmwareBurner wrote:
             | _> Why is Mac so solid under similar circumstances?_
             | 
             | Where do you see MacOS ruining 30 year old binaries?
        
             | rchaud wrote:
             | There's B2B Windows and B2C Windows. B2C is the license
             | sold to OEMs, who will fill up the OS image with bloatware
             | anyway to make a few extra bucks. Microsoft is just getting
             | in on that now.
             | 
             | B2B Windows is the stuff you would see for enterprise
             | buyers with strict IT policies. Your experience will be
             | mostly unchanged from "classic Windows".
        
             | necovek wrote:
             | I've only used MacOS for a year and only recently (maybe
             | that matters), and I get all the same crappy inconsistent
             | behaviour I do on Linux and did on Windows ~20 years ago
             | when I last used it.
             | 
             | Apple has the benefit of controlling both hw and sw and
             | still manage to mess it up.
             | 
             | Random crashes, slowdowns for long running sessions, crappy
             | UI (eg those labels not checking their checkboxes in
             | Settings), network weirdness (both USB ethernet
             | dongles/hubs and internal WiFi), my USB audio interface
             | picking up garbled audio which requires reselecting audio
             | interface for it to fix itself...
             | 
             | Maybe I am doing something different, but it's even worse
             | than Linux for the most part.
        
               | moonchrome wrote:
               | You haven't used Windows in quite a while have you ? Past
               | Windows 7 it's been sliding downhill into bullshit UX,
               | crapware, backend migration to Linux almost exclusively,
               | etc.
               | 
               | Random things on top of my head :
               | 
               | MacOS doesn't come with candy crush, Instagram, TikTok,
               | Spotify etc. prepopulating your start menu. Phone home
               | telemetry and ads in OS ? Yummy
               | 
               | Dealing with Windows dev environment is always a PITA
               | eventually - unless you're doing stuff where Windows is
               | first class citizen (like games). For backend stuff it's
               | almost implicit that you're running on Linux in prod and
               | macos is well supported because it's fairly similar. On
               | Windows it's always some path issues, stuff randomly
               | breaking between updates, missing/incompatible CLI, etc.
               | 
               | Brew is pretty good. Chocolatey is garbage.
               | 
               | MacOS is fairly visually consistent. Windows regularly
               | has me in Windows XP era screens, reached through 3
               | inconsistent UX steps developed along the way. Even Linux
               | is better in this regard.
               | 
               | I like Linux when it works. Mac works more often. Windows
               | is just a dumpster fire at this point.
        
             | nelsondev wrote:
             | Apple employs "Release Managers", where a single person is
             | ultimately responsible for deciding which features ship in
             | new projects.
             | 
             | Apple also, due to the hardware business, adheres to a
             | release schedule where features must all be consolidated
             | onto single branches ("convergence"), rather than letting
             | individual teams ship incrementally.
        
               | roneythomas6 wrote:
               | Not to mention Apple only has to support a limited number
               | of hardware and they regularly drop support for older
               | hardware with each new major release.
        
               | vladvasiliu wrote:
               | That may be so, but all the annoyances I have with
               | windows don't seem hardware-support related. The laggy
               | menus, the clock in the taskbar that slides to the right
               | outside of view, etc. This can't possibly be related to
               | the fact I have a shiny, brand-new Wi-Fi card.
        
               | FirmwareBurner wrote:
               | _> the clock in the taskbar that slides to the right
               | outside of view, etc._
               | 
               | What? I've never seen the taskbar clock ever move.
        
               | vladvasiliu wrote:
               | How this usually happens is that there's a notification
               | indication. I'd click on the clock to show the
               | notification center, dismiss the notification, and the
               | clock would slide "too much" to the right, so that almost
               | half of it is outside the screen.
               | 
               | A quick google search doesn't bring my issue up (I'll try
               | to take a screenshot next time it happens, but I'm
               | usually too annoyed of having to use windows to think
               | about it). But it did bring up a separate issue, where
               | the right-hand side icons area (system tray?) and the
               | clock are moved _down_ so that only the top of the date
               | is showing. I 've never had that one.
               | 
               | I think these are lag-related, as in things move when
               | something opens. But if the thing before didn't complete
               | or something, the new thing happening doesn't get to
               | remove the old one as expected.
               | 
               | The other day, on a PC that was doing whatever it is that
               | windows does when the CPU fan goes full tilt while
               | pretending to be asleep (complete with the blinking power
               | light), after waking it up, I managed to have both the
               | notification center and the quick settings displayed. I
               | mistakenly clicked on the notification, then immediately
               | on the settings. The notification panel took forever to
               | show up, and it showed while the settings panel was still
               | showing.
        
               | veec_cas_tant wrote:
               | These issues from the original comment are not related to
               | Microsoft supporting a wide variety of hardware:
               | 
               | > ...the UI with Bing/Ads/telemetrics/etc integration is
               | so crap...
        
               | FirmwareBurner wrote:
               | Those issues are because some exec in Microsoft decided
               | that they can monetize user data and since users already
               | don't care their data being monetized by Google, then
               | they themselves not monetizing it as well, means leaving
               | money on the table since users don't care anyway.
               | 
               | That's the logic. Using Windows web components is similar
               | to using Google products.
        
             | Krasnol wrote:
             | Apple is not even on the same "giant" shelf as Windows, so
             | the circumstances are not similar either.
        
         | BirAdam wrote:
         | This. I use Tiny11 for this reason. The UI is still super
         | inconsistent, but otherwise it's fine. Mac bothered me by
         | likewise becoming inconsistent, but also soldering everything
         | so the machine is bricked when an SSD or battery dies. In the
         | Linux world the UI has never been consistent, but what really
         | bothers me is that everything is constantly changing unless one
         | uses enterprise Linux, but then I don't get hardware support
         | so... Winders it is.
        
         | e40 wrote:
         | Really? Filesystem performance on Windows is absolutely
         | horrible compared to Linux. It blows me away how, even using
         | SSDs, the performance of git over large repos is at least 10x
         | slower than a Linux box with the same CPU. It is the bane of my
         | existence. It's not just git. rsync of a large directory takes
         | >10x as long. This is with Server 2016 (and 2012 r2). My 2012
         | r2 machine had spinning disks and when I tested on 2016 with
         | SSDs I was shocked the situation did not improve.
        
           | adzm wrote:
           | This is true. I'm not sure what the obstacle is, and I know a
           | lot of smart people have worked on it, but opening a ton of
           | files and traversing a bunch of them in directories is very
           | slow. Once the file is open, IO is just as fast though.
        
             | amlib wrote:
             | Unless you have antivirus software and god knows what
             | analyzing the files, then IO is actually slower...
        
             | martinald wrote:
             | My guess is ACLs, which are enabled by default on NTFS but
             | not (afiak) on most linux distros using ext4.
        
               | e40 wrote:
               | Extended attributes are definitely turned on in my ext4
               | filesystems and to my knowledge I didn't do anything to
               | turn them on.
        
             | WorldMaker wrote:
             | Filesystems are a database and have to deal with CAP
             | Theorem trade-offs like everything else. Windows and NTFS
             | both took a heavy focus on Consistency/(lack of) Partitions
             | over Availability. Most POSIX operating systems and their
             | filesystems took a heavy focus on Availability at the
             | expense of Eventual Consistency and Sometimes Partitions.
             | 
             | Neither approach is wrong, they are just very different
             | approaches with very different performance trade-offs.
             | 
             | Also Windows' filesystem supports an entire plugin stack
             | including user-space plugins, to support things like anti-
             | virus scanners and virtual filesystems and all sorts of
             | other things. Not all of Windows' "slow" filesystem is
             | first-party problems, a lot of it can be third-party
             | drivers and tools that are installed.
        
               | godshatter wrote:
               | I remember hearing that allocating space on NTFS on
               | Windows takes a long time for a large amount of files
               | and/or disk space compared to ext4 and the like on linux.
               | Presumably they are built to write out 0's or something
               | when they do that whereas in linux you're just updating
               | inodes or whatever. I remember this was in reference to
               | Steam allocating file system space for game files before
               | downloading them.
               | 
               | I don't know if it was the views of the designers of NTFS
               | taking a different set of priorities or if it's more that
               | NTFS wasn't designed as well as some linux file systems
               | were.
        
               | blibble wrote:
               | a local filesystem that can only be mounted once and of
               | which state is 100% controlled by one entity (the local
               | kernel) is not a distributed system
               | 
               | the CAP theorem simply does not apply
               | 
               | Windows IO subsystem was simply designed for
               | extensibility over performance
        
               | WorldMaker wrote:
               | A) It's a _useful_ analogy whether or not you think it
               | technically applies or is a perfect analogy.
               | 
               | B) The Windows filesystem (and to an extent the POSIX)
               | isn't just "local", it also includes transparent and
               | semi-transparent network file storage.
               | 
               | C) Windows and POSIX are both _multi-user_ and _multi-
               | process_. They operate over multiple cores and multiple I
               | /O buses.
               | 
               | Even if it just one system API centralized in charge of
               | all that, it still needs to be built on top of complex
               | distributed dance of mutexes/locks/semaphores/other
               | distributed control structures. Because of the nature of
               | I/O control there are complex caches involved and
               | transaction semantics of when data is actually pulled
               | from/flushed to low level data stores. The transaction
               | model in turn is reflected in what the files look like to
               | other users or processes running at the same time.
               | 
               | Windows and NTFS combined have strong transaction
               | guarantees that other users and processes _must_ see a
               | highly consistent view of the same files. It makes heavy
               | uses of locks by default even for cached data. POSIX
               | favors the  "inode" approach that favors high
               | availability and fewer locks at the cost of eventual
               | consistency and the occasional partition (the "same" file
               | can and will sometimes have multiple "inodes" between
               | different processes/users, many common Linux tools rely
               | heavily on that).
               | 
               | Those two different transaction models are most easily
               | explained in analogy to CAP Theorem. They _are_ very
               | different transaction models with different trade-offs.
               | Whether or not you see a single  "local machine" or you
               | see a distributed system of cores, processes, users,
               | diverse I/O buses is partly a matter of perspective and
               | will reflect how well you personally think CAP Theorem is
               | a "perfect" analogy for a filesystem.
        
               | blibble wrote:
               | an NTFS volume can only be mounted by one entity at a
               | time, the same as a zfs volume, ext4 volume, btrfs volume
               | with 100% of the state managed by a single entity
               | 
               | it is almost the definition of "not a distributed system"
               | 
               | the fact there might be nfs/smb/ceph/... volumes bolted
               | into the same namespace that happens to include it does
               | not make it one (and neither does requiring transactions)
               | 
               | > Windows and NTFS combined have strong transaction
               | guarantees that other users and processes must see a
               | highly consistent view of the same files. It makes heavy
               | uses of locks by default even for cached data. POSIX
               | favors the "inode" approach that favors high availability
               | and fewer locks at the cost of eventual consistency and
               | the occasional partition (the "same" file can and will
               | sometimes have multiple "inodes" between different
               | processes/users, many common Linux tools rely heavily on
               | that).
               | 
               | this is literally is not true, they are different
               | abstractions
               | 
               | and I suggest you observe the size of a large file being
               | copied if you want to see how "strong" NTFS "highly
               | consistent views" are
               | 
               | https://devblogs.microsoft.com/oldnewthing/20111226-00/?p
               | =88...
        
           | pjmlp wrote:
           | Sadly a consequence of how NTFS plugin architecture works.
           | 
           | Using Windows 11 the answer is ReFS.
        
           | FreshStart wrote:
           | Did they not try to fix that user attention gets resources
           | Bug called a scheduler?
        
         | ZanyProgrammer wrote:
         | You forgot the mandatory MSFT accounts to sign in with no way
         | around last I checked (a few months ago).
        
           | terminous wrote:
           | Use the email no@thankyou.com with any password. It will let
           | you install on Win 11 with a local account.
        
           | [deleted]
        
           | bakuninsbart wrote:
           | Is this Windows 11? On 10 Pro you were just able to click
           | past it. Need it for office though, I think.
        
             | zamadatix wrote:
             | Windows 11 Home requires you to get a working internet
             | connection to continue. Windows 11 Pro doesn't as of the
             | 22H2 version but it still has dark patterns. For Office you
             | can still use other licensing methods, even for O365, but
             | as a typical consumer getting it legitimately you'll de
             | facto need a Microsoft account.
             | 
             | Using "no@thankyou.com" for your Microsoft account (and any
             | made up value for the password) allows you to skip this
             | requirement in any version of 10/11 as someone got that
             | account banned and the Microsoft workflow bails out since
             | they naturally don't want to force onboard a banned user to
             | a new account. This still requires internet during install
             | though, it just works around needing to make an actual
             | account.
             | 
             | It's a shame how much of a dance the install process has
             | become.
        
           | darknavi wrote:
           | Last time I checked you could log in locally if the install
           | process never detected an internet connection. A terrible
           | work around but (at the time) a functional one.
        
             | Tijdreiziger wrote:
             | I've also heard that the following trick still works: enter
             | the email address no@thankyou.com with any password, this
             | account has been tried so many times that it's been locked
             | out, so the installer will let you continue with a local
             | account
        
             | alpaca128 wrote:
             | Afaik this doesn't work anymore on Windows 11 unless you
             | change some configuration in the shell and reboot before
             | doing the setup.
        
         | jwells89 wrote:
         | It's a bit surprising that there isn't a project that takes the
         | old Windows "shell replacement" (LiteStep, etc) idea a bit
         | further and replaces the majority of the Windows userland.
         | That's probably more challenging now than it was in the XP-
         | Vista-7 days but should still be doable.
        
       | kjellsbells wrote:
       | Its famously determined, but I feel that a DOS CLI app isnt much
       | of a challenge since the DOS subsystem is essentially ossified.
       | What would be the result if, say, you tried to run something
       | DOS-y that was demanding or an early Win16 app? Say, Zortech C++
       | from 1986 with the Pharlap DOS extender or Minesweeper from
       | windows 3.1. Would they work?
        
         | touseol wrote:
         | That's not a DOS app, it's a Win32 console app. DOS apps
         | (16-bit or 32-bit) or Win16 apps would not run natively.
        
           | sumtechguy wrote:
           | That depends on if they are using 64 bit or not. The 16bit
           | VDM was deprecated on that move from 32 to 64. Which is the
           | majority of most installs these days.
           | 
           | What is kind of neat is every windows application/dll is a
           | valid DOS application. The first part of all of them is a
           | valid MZ DOS 16 EXEcutable. Windows just treats it as a
           | skippable header and reads the real header that is about 100
           | bytes in and then decides which subsystem to fire up (win3x,
           | win32, OS/2, etc). But if you take a exe compiled today with
           | current tools and put it on a DOS 3.3 box it would run the
           | exe and print out it can not run (the exe has that in there).
           | 
           | Also from that era not all DOS applications were exclusively
           | 16 bit. Many were hybrid. Just to have better control over
           | the memory space instead of using segmentation was usually
           | worth the speed boost (as well as the bigger registers).
           | Windows from that era usually had extra 'pid' file where you
           | could basically tag the executable as 'hey you are about to
           | run a 32 bit app get out of the way windows oh and support
           | dpmi while you are at it'.
        
             | Dwedit wrote:
             | OTVDM will allow running 16-bit windows programs on modern
             | 64-bit windows.
        
               | TillE wrote:
               | OTVDM is great, but it's just using Wine. Windows really
               | ripped out the whole 16-bit compatibility layer, which is
               | a little sad.
        
             | touseol wrote:
             | If that was a Windows 10 screenshot then yes there would
             | have been the possibility of it being the 32-bit edition
             | running a DOS app through NTVDM. But the poster says
             | Windows 11, which does not have a 32-bit edition.
             | 
             | I'm not aware of 64-bit Windows being able to run 32-bit
             | DPMI DOS apps natively, I think those still required NTVDM.
        
               | sumtechguy wrote:
               | > I think those still required NTVDM
               | 
               | Pretty sure you are right. As I think that is what setup
               | the interrupts for it. Win9x did it very differently and
               | would basically just put command.com back in charge of
               | stuff to sort of make it work with a sys file. NT with
               | DPMI programs was usually _very_ hit or or miss (more
               | miss). If they did not play just right with windows the
               | thing would just crash out.
               | 
               | Think there might be a win11 32 bit out there. But
               | nothing that MS sells to normal end customers. But my
               | brain may be playing tricks on me and I am confusing
               | different articles I have read. But that would probably
               | be some sort of weird kiosk ODM build. Not what most
               | normal people would have (like in that post).
        
           | RajT88 wrote:
           | Win16 got dropped at some point, probably because keeping it
           | didn't add up financially. I have little doubt they could
           | have kept support for much older stuff.
        
             | EvanAnderson wrote:
             | There's a "pirate" port of NTVDM to 64-bit Windows (from
             | leaked NT 4.0 source) so it's certainly not technically
             | infeasible: https://github.com/leecher1337/ntvdmx64
        
           | AnotherGoodName wrote:
           | Something that confuses me is that this states it's running a
           | binary compiled 30years ago. How is this not 16bit?
           | 
           | I'm aware of win32s, I used to run it but still it seems
           | unlikely this is a win32 console app unless there's an
           | incredibly unlikely set of circumstances behind this.
           | 
           | Or perhaps it was simply recompiled after all despite what
           | the Twitter post states?
        
             | AnotherGoodName wrote:
             | In fact looking into this further the only thing windows 11
             | lacks is the ntvdm which allows some dos api calls. If your
             | binary is straightforward and not tied to msdos which this
             | is it's fine. So I think the idea that this is a 32bit
             | windows console application is completely untrue. It's also
             | intuitively untrue when you consider the age of the app
             | being run here.
        
               | touseol wrote:
               | The fact that there is no Windows 11 version with NTVDM
               | is why this must be a Win32 console app, assuming the
               | poster is truthful. Windows NT 3.1 came out in 1993. This
               | being in a directory called "ntbin" gives another hint.
        
               | AnotherGoodName wrote:
               | I see that makes sense. I feel it's also a little
               | misleading from the original post. An exceptionally
               | specific binary from 1993 works but the implication here
               | is that the compatibility is more than this.
        
               | mikkohypponen wrote:
               | Author here. I've been running Windows since 3.0 and I
               | copy my old tool folders with me whenever I change
               | machines or upgrade the OS. This GZIP.EXE is the oldest
               | EXE I have in my \ntbin tool folder that still works. The
               | folder has 579 EXE files.
        
               | justinpaulson wrote:
               | > that still works.
               | 
               | I think that is the point being made. This exe is cherry
               | picked as the oldest working exe, it isn't like every 30
               | year old exe in that folder still works.
        
             | touseol wrote:
             | Windows NT 3.1 was released on July 27, 1993.
        
             | asveikau wrote:
             | 9x wasn't the only Windows OS.
             | 
             | The path contains the phrase "ntbin". It was compiled for
             | NT.
        
               | sumtechguy wrote:
               | My guess is this is a PE format type windows application.
               | Though I suppose you could get a NE format file to work
               | correctly if the binary was compiled as 32 bit. My memory
               | is a bit fuzzy on this but I think you did have the
               | option to compile either way.
        
               | mikkohypponen wrote:
               | Correct, it's a PE file.
        
         | zwieback wrote:
         | Zortech C++ was my rig for a good while - great memories.
         | Pharlap is way too intrusive, my guess, to run on current
         | Windows but would be an interesting experiment. Probably any
         | extended/expanded memory thing doesn't work anymore.
        
       | ls612 wrote:
       | I wish there was a backwards compatibility option to give
       | applications a "virtual display" which runs in a window, for old
       | programs which only know how to run fullscreen at 1024x768.
        
         | evmar wrote:
         | Working on https://github.com/evmar/retrowin32, I disassembled
         | one old demo that wouldn't run on my native Windows machine --
         | turns out it was requesting 320x200 fullscreen resolution and
         | aborting if it couldn't get it. (Not sure why the Windows
         | machine wouldn't do it...)
        
         | Dwedit wrote:
         | I once made a program (Intended for Games only, doesn't support
         | standard windows controls) that allows you to stretch an
         | otherwise fixed-size window. Uses D3D9 and Pixel Shaders to
         | draw the upscaled window.
         | 
         | https://github.com/Dwedit/GameStretcher
        
           | Sohcahtoa82 wrote:
           | Oh, where was this when I really needed it a few years ago...
           | 
           | I was playing an old MMORPG called The Realm. It's been live
           | since 1995 and ran until just a couple months ago. It only
           | knew how to run in 640x480.
           | 
           | I tried to write a program that would create a scaled up
           | version, but it didn't work well, especially since the game
           | would create child windows for certain UI elements. I was
           | writing it in C, which isn't my strongest language, simply so
           | I could call Win32 APIs more easily.
        
         | smoldesu wrote:
         | Wine does this, it's a lifesaver for older games like Diablo 2.
        
         | swozey wrote:
         | I can't find it right now, and no idea if it'd work on older
         | things but there's some 3rd party app for Windows that will put
         | a full screen game/app into a stretchable windowed mode.
        
           | akx wrote:
           | DxWnd (https://sourceforge.net/projects/dxwnd/) comes to
           | mind.
        
         | colejohnson66 wrote:
         | Does the built-in "compatibility mode" not work?
         | https://support.microsoft.com/en-us/windows/make-older-apps-...
        
       | brailsafe wrote:
       | [delayed]
        
       | TkTech wrote:
       | A fun side-effect of the "general" stability of Windows APIs is
       | that Win32/DX has become a very stable and reliable "universal"
       | API for Linux (and other OSes) via the massive amount of work put
       | into Wine/Proton. I keep seeing games drop their Linux-native
       | releases in favor of just shipping for proton.
        
         | hx8 wrote:
         | The Proton-aware releases often are easier to setup and run
         | better than the Linux-native releases.
        
           | TkTech wrote:
           | That's been my experience as well. EU4's Linux-native release
           | has issues with scaling and cursors on ultrawide monitors.
           | Proton version is flawless.
           | 
           | There's been quite a few cases for me, like Star Citizen for
           | example, where games perform significantly better under
           | Proton with DXVK than it does on Windows!
        
       | chrchang523 wrote:
       | Raymond Chen has been providing an inside perspective on this for
       | decades: https://devblogs.microsoft.com/oldnewthing/
        
       | kevinsync wrote:
       | FWIW, Beavis and Butthead in Virtual Stupidity (1995) runs
       | perfectly fine in Windows 10/11 with compatibility mode enabled.
       | No need to test anything else as that's arguably the apex of
       | software (and humanity's collective output).
       | 
       | https://www.myabandonware.com/game/mtv-s-beavis-and-butt-hea...
        
       ___________________________________________________________________
       (page generated 2023-08-18 23:01 UTC)