Someone really needs to develop a lightweight VM container that we can stuff software in. Like, you know how you can buy DOS games on steam, and it just gives you dosbox preconfigured to play the game?

That, but for all software on all OSes

The idea would be to have a standardized-as-much-as-possible VM interface, and then your OS can implement that. New OS just needs a new implementation.

The point is protection against compatibility problems: it should be possible to run a PC game from 1982 and a video editing program from 2005, in the same way and be sure that you'll still be able to run them in another 30 years.

@foone Well, we did have Java, and Flash. Both made the mistake of object loading from the network which made them instant virus loaders. WASM is New Safer Java but dumb because it's built in a web browser.
@mdhughes @foone wasm is not tied to web browsers and it's not even particularly convenient to use from javascript
@mdhughes, I'm assuming that by “it's”, you mean “it is” rather than “it has”…

@mdhughes When you make your sandbox "safe enough to run untrusted code" it's expected that some suit will immediately demand that it does.

Also, that era had a totally different mindset. Like, just send a COM object at a networked computer and expect it to run over there.

@foone this... would be the holy grail of virtualization 😲
@foone uxn pretty much is this idea @neauoire
Archival with a universal virtual computer (UVC) ⁑ Dercuano

100R — uxn

@gabrielbezerra @foone

That's a solution for a different problem - letting you write games/other software now that can run on many machines in the future. (Also its capabilities and performance are strictly limited by design, which is totally legit.)

I think what Foone is dreaming of is more like a super-duper version of VMWare or other hypervisor, to let you run *existing* software targeted to any OS, under any other OS/hardware.

And hell yeah that would be a huge step forward.

@foone This is basically just Java If It Didn't Suck.

The idea behind Java was pretty much exactly this. In practice it was too advanced for its time, and by the time it was "usable" it was unusable for that purpose because of the breaking changes it took to get it to "usable" rendering the old code unusable.

@foone sounds like an operating system with extra steps.

@foone
Isn't this also the idea behind game consoles?

And java.

Write once, test everywhere...

@foone unfortunately, I think xkcd has something covering this:

https://xkcd.com/927/

Also see, Java, POSIX...

The issue, I think, boils down to "why don't we all agree to live by the same rules". That's an open question that's probably existed in some form since the dawn of man and I suspect isn't going to be resolved any time soon.

Standards

xkcd

@foone If you don't care too much about it being virtualized, you're basically describing libretro (the thing retroarch is based on)

Were it not for nvidia drivers despising VMs, we'd have this already.