WASM as a Platform for Abstraction
61–70 of 85 posts
Re: WASM as a Platform for Abstraction
#62The author has rediscovered the need for software fault isolation (SFI). Bytecodes or IRs like WASM can also provide SFI but are overkill because they provide more than just SFI. If I were him, I'd have used this as an excuse to play with NativeClient. -- The original paper on SFI was by Robert Wahbe and colleagues: https://cs155.stanford.edu/papers/sfi.pdf . Google's NativeClient is a modern take on SFI for x86: htt…
Re: WASM as a Platform for Abstraction
#63Earlier quoted context omitted.
Sure it's been done before. The point is that WASM is a good, efficient, sandboxed, modern example of it that's usable now with a large software ecosystem around it.
What does modern mean in this context? I see this word being used a as a positive adjective a lot recently to describe rewrites etc but it is unclear to me what it actually implies
Re: WASM as a Platform for Abstraction
#64Earlier quoted context omitted.
This is like the reaction people had to Dropbox on this very site [1]. Even if wasm was literally the same bytecode copied from an old mainframe the possibilities that this new use allows are enough of a novelty and an invention in and of itself. I would find a comparison of wasm with older bytecodes very interesting as for sure none of them are perfect. But this kind of reply is clearly dismissive. It contains no cr…
WASM is not a startup, it's a very niche tech and pushing it to other niches as a "platform" needs a lot of investment and buy in from professionals and management working in those niches. Not that the idea itself of an intermediate representation is bad, it's just WASM is not necessarily good and the odds are definitely against it. HN top comment on dropbox wasn't really wrong either. Triviality proved to be a valid…
I don't know how to answer the rest of your comment... I don't think we have enough common ground to understand each other.
Re: WASM as a Platform for Abstraction
#65Earlier quoted context omitted.
So we're getting mainframe-like tech into the mainstream? Isn't it good?
If this was a conscious process, that is taking solutions from mainframe, analyzing them and deciding to use some of them also analyzing the knowledge,pitfalls, problems and experiences from the past and incorporating them into the new tech then this would be a good thing. However if this is done through a simple reinventing the wheel route, there is a high chance of hitting the same walls and repeating the same mist…
Re: WASM as a Platform for Abstraction
#66Earlier quoted context omitted.
WASM is not a startup, it's a very niche tech and pushing it to other niches as a "platform" needs a lot of investment and buy in from professionals and management working in those niches. Not that the idea itself of an intermediate representation is bad, it's just WASM is not necessarily good and the odds are definitely against it. HN top comment on dropbox wasn't really wrong either. Triviality proved to be a valid…
I surely am missing something, because I have no idea why you think wasm is niche. It is niche today the same way javascript-rich interfaces where niche during the reign of PHP. I don't know how to answer the rest of your comment... I don't think we have enough common ground to understand each other.
Re: WASM as a Platform for Abstraction
#67Earlier quoted context omitted.
I surely am missing something, because I have no idea why you think wasm is niche. It is niche today the same way javascript-rich interfaces where niche during the reign of PHP. I don't know how to answer the rest of your comment... I don't think we have enough common ground to understand each other.
There are maybe a few hundred people on earth who are in a position to embed wasm into something, how is that not niche?
Another extremely plausible option is simply to sandbox mods for games. There are even projects for allowing userspace modules to run safely inside the kernel similarly to EBPF.
This last one in particular is something entirely new.
Without even considering the obvious application of allowing photo editing in web interfaces with reasonable performance.
Or on the other side of legality many people will try and use the new performance to have better cryptomining botnets.
Just by considering plugins (with dynamical loading and safety) and number crunching in-browser I would say that 'few hundreds' becomes a significant understatement.
Re: WASM as a Platform for Abstraction
#68Earlier quoted context omitted.
There are maybe a few hundred people on earth who are in a position to embed wasm into something, how is that not niche?
here embedding can mean just plugins. This very article is about a framework for robotics. Another extremely plausible option is simply to sandbox mods for games. There are even projects for allowing userspace modules to run safely inside the kernel similarly to EBPF. This last one in particular is something entirely new. Without even considering the obvious application of allowing photo editing in web interfaces wit…
I was considering wasm for myself too, read the spec, articles, played with their ocaml implementation, parsed a bit of bytecode, but concluded that it's not a good tech, too browser specific to use elsewhere and waste time on it.
Re: WASM as a Platform for Abstraction
#691. People need to be able to upload new code while the system is still running 2. This application will be interacting with the real world (think robots and automation), and we really don’t want a crash in user-provided code to make the entire system stop responding
is suspiciously close to Erlang, except for the user-provided part.
Re: WASM as a Platform for Abstraction
#70Earlier quoted context omitted.
here embedding can mean just plugins. This very article is about a framework for robotics. Another extremely plausible option is simply to sandbox mods for games. There are even projects for allowing userspace modules to run safely inside the kernel similarly to EBPF. This last one in particular is something entirely new. Without even considering the obvious application of allowing photo editing in web interfaces wit…
I'm not talking about potential applications of things that may or may not embed wasm and provide high level interfaces, libraries, compilers, tools. It's irrelevant whether high level stuff uses wasm underneath, application developers won't be touching it directly. I'm talking about actually doing all that work to enable application development. These are the people wasm targets and there are very few of such people…
I will assume so :)
There was a nice article detailing how for many application usage wasm today is less safe (under certain aspects) of x86, specifically due to the high quality level of tooling available for x86 and due to the fact that today debugging/inspection support of wasm is very low.
Other than that I would say that it is specific to the constraints you have in a browser. Two of which are the ability to run on minimal implementations requirement (as new optional features might be missing and might be running in a variety of environments) and the ability to safely run arbitrary untrusted code.
If you do not care about these then wasm does not offer much to you.
On the other hand it is perfect as a compilation target for plugins.
> application developers won't be touching it directly.
On the web it is meant to replace asm.js, it is not meant to be written by hand (unless you are a compiler developer).
The whole point of the article in this case is that it is a perfect interface for plugins over a specific and limited interface that allows running untrusted and opaque binaries.
For this specific usage only high-level languages where a viable choice up to now (two common choices were js and lua). wasm is comparatively closer to C than javascript/lua, but it is still safe to arbitrarily embed without using OS-level mechanisms.
It is a very specific use case, but also a relatively common one in applications.
One of the big sponsors (Fastly) in investing a lot in it due to the usefulness for them regarding lightweight sandboxing (for this reason they are also developing a debugger for wasm [1]).
On the other hand it is essentially useless if your application is something like a unix utility.
[1] I am not sure it is in this episode, but here the CTO of fastly explain why it is useful for their use case: https://softwareengineeringdaily.com/2019/09/25/webassembly-...