8 ms·
Projects like this are cool, but I can't help but wonder why? What problem is this, or any WASM, solving? Why do we need a VM in the browser?
by chologrande 4y ago
Projects like this are cool, but I can't help but wonder why?
What problem is this, or any WASM, solving? Why do we need a VM in the browser?
- woojoo666 4y agoI think it's because people want to code in other languages besides javascript
- VikingCoder 4y agoWhat if the only thing you have access to is a browser, but you'd like to explore Clang, networking, etc? This turns a lock-down old Chromebook into a box you can learn to develop on.
- chologrande 4y agoInteresting thought, but realistically what need is that serving besides curiosity? Even chromebooks have real linux underneath, the scenario you're describing is so niche it's hard to imagine. IMO it makes much more sense to use free tier on a cloud provider
- VikingCoder 4y agoNot all Chromebooks do. Because their processor doesn't support it. Think about education Chromebooks that get locked down, too.
- callahad 4y agoMoving emulators and virtual machines to the Web can be handy for software preservation. The Internet Archive has a massive collection of games and applications that you can run right now, on any device with a browser, thanks to this kind of tech.
- starwatch 4y agoAlso (speaking from 1st hand experience) some big companies issue laptops that are extremely locked down - with IT needed to install any software and only after it's been vetted. This gives a bit more liberty without crossing any of the security boundaries.
- colinsane 4y agoa “cross-platform” assembly format could, in time, make introducing new hardware architectures a bit easier. for example, these guys link to a discord channel to chat about their work, but i can’t join it easily because even though Discord ships a Linux client, they only ship it for x86 and not arm. further down the road, i’d like to try some RISC-V devices: that’ll be that same experience times ten. a portable assembly format has the chance to overcome this.
- csande17 4y agoIsn't Discord's desktop client just an Electron wrapper around their website? It seems like there might be an easier way to get that running on other platforms.
- nyanpasu64 4y agoIf I wanted the full-fat Discord app (rather than a browser website or PWA, or a third-party client Discord will ban you over), I'd look into https://github.com/SpacingBat3/WebCord https://github.com/SpacingBat3/WebCord (which I think isn't detected and banned, but I cannot guarantee this or that they won't rewrite Discord to the point you can get banned for using it).
- intelVISA 4y agoThey also ban for blocking the /api/science/ data mining endpoint.
- nyanpasu64 4y agoDo you have any cases of people getting banned over it? It would be scary, uBlock Origin blocks /api/*/science and it would be terrifying if running an adblocker could get you banned from Discord.
- pjmlp 4y agoWhere have I heard this before? https://en.wikipedia.org/wiki/UNCOL https://en.wikipedia.org/wiki/UNCOL https://en.wikipedia.org/wiki/Architecture_Neutral_Distribution_Format https://en.wikipedia.org/wiki/Architecture_Neutral_Distribut... https://en.wikipedia.org/wiki/P-code_machine https://en.wikipedia.org/wiki/P-code_machine https://en.wikipedia.org/wiki/IBM_i#TIMI https://en.wikipedia.org/wiki/IBM_i#TIMI Not bothering to list all of them since 1958, WebAssembly is only the latest go at it.
- MoscMob 4y agoIt's not that we need a VM in the browser, but we just need a VM that's sandboxed in terms of security. Other than JavaScript, what other way can you send arbitrary code to a device and expect it to run there? WASM is the only other option.
- eisbaw 4y agoDon't buy it. A sandbox is a sandbox. Yes, javascript runs in a sandbox, but other technologies exist beyond javascript-in-a-sandbox. This is just really inefficient: VM in WASM in javascript in a sandbox in a browser, is insane and will forever be slow due to complexity. Fun for the lulz, but for the planet's sake I hope this doesn't get adopted.
- titzer 4y agoWasm is not implemented "in JavaScript", rather JS engines reuse important parts of their compilation pipeline to generate good code for Wasm.