Earlier quoted context omitted.
It's a format designed to be a target for static languages that do manual memory management (like C/C++) instead of JavaScript that some engines know how to recognize and optimize. The binaries are smaller and much faster to parse and the sandbox model results in much less overhead. For a concrete example, at least two JavaScript engines (those of Chrome and Firefox) need to emit almost no range checks on regular mem…
target for static languages that do manual memory management So I will have to do all the garbage collection myself? Isn't that a huge burdon on the programmer? And will this lead to lots of apps with memory leaks that needlessly eat up my resources?
Goodbye PNaCl, Hello WebAssembly
341–350 of 352 posts
Re: Goodbye PNaCl, Hello WebAssembly
#342The most material result of this is that Chromebooks won't have a working SSH client starting sometime next year, because WebAssembly can't do real sockets without an external proxy.
We're going to make sure that the Secure Shell app for Chrome, in one form or another, continues to be usable on Chrome OS. (I'm one of the current maintainers and we're already all over this transition)
Re: Goodbye PNaCl, Hello WebAssembly
#343Earlier quoted context omitted.
If you care about security, performance or having portable offline applications its a sad day. Google just pressed reset and erased your work. The way Google has abrubtly sent PNaCL to the knackery, rather than a gradual transition is just ugly. By removing the PNaCL functionality completely from builds they have broken faith with the development community. They didn't even commit to allowing PNaCL to run in deprecat…
AFAIK the main missing feature in WebAssembly that PNaCl had is shared-memory multithreading and that is implemented and waiting on spec finalization to ship. What else is there?
Re: Goodbye PNaCl, Hello WebAssembly
#344Earlier quoted context omitted.
AFAIK the main missing feature in WebAssembly that PNaCl had is shared-memory multithreading and that is implemented and waiting on spec finalization to ship. What else is there?
Security (code signing, timing determinism, large API attack surface, complex javascript interpreter/jit), performance (obvious deficit between an IR bytecode and jit, static analysis vs runtime checks), concurrency (how many cores on your new 2017 box? By 2027?), features (the p/nacl api let you do more, like access devices for video/graphics/audio; instead it will be an implementation specific thing; networking - o…
Not sure what you mean by "code signing" in this context.
The API attack surface is a non-issue; it's already accessible by any page that serves a PNaCl object.
There's a small performance deficit but it's getting smaller. AOT compilation and caching of compilation results is possible; asm.js did it.
I already mentioned shared-memory parallelism (it's just about done); did you read what I wrote?
Standard cross-browser Web APIs give you access to those devices already.
Same-origin is a strait-jacket --- a necessary one. "Break the Web's security model" isn't a desirable feature.
"Elegance" is just a point of view. From another point of view, "duplicate everything in the Web platform" is not elegant.
As for maturity and bugs --- having multiple interoperating implementations and real specifications is a good way to drive competition on quality ... and to distinguish "this is a bug, fix it" from "hello de-facto standard!"
Re: Goodbye PNaCl, Hello WebAssembly
#345Earlier quoted context omitted.
AFAIK the main missing feature in WebAssembly that PNaCl had is shared-memory multithreading and that is implemented and waiting on spec finalization to ship. What else is there?
Security (code signing, timing determinism, large API attack surface, complex javascript interpreter/jit), performance (obvious deficit between an IR bytecode and jit, static analysis vs runtime checks), concurrency (how many cores on your new 2017 box? By 2027?), features (the p/nacl api let you do more, like access devices for video/graphics/audio; instead it will be an implementation specific thing; networking - o…
Re: Goodbye PNaCl, Hello WebAssembly
#346Earlier quoted context omitted.
> GNU's an increasingly irrelevant portion of Unix Say what? Do you know what GNU means or what it includes? Here's a link so you can learn more: https://www.gnu.org/software/software.html
Yes, I know what it means and includes. Android, which is one of the biggest unixes right now, doesn't use GNU. iOS, which is another one of the biggest unixes right now, doesn't use GNU. Most embedded linuxes don't use GNU. So yes, for the parts of unix which are visible to most people, the gnu parts are not very relevant at all.
This reply is a bit overly pedantic and I apologize, but you kept pushing so I wanted to clarify.
Re: Goodbye PNaCl, Hello WebAssembly
#347Earlier quoted context omitted.
You're begging the question, assuming you have to represent a particular unsigned type to start with. What's the problem that you're trying to solve? I appreciate that e.g. particular image formats are defined in terms of unsigned integers of particular sizes, but parsing binary formats seems like a specialized use case that's not worth distorting the whole language over (and it already involves fiddling with endiann…
I don't think this is a "begging the question" fallacy. General purpose programming language often need to deal with binary data. This can be anything from documents, compressed files, images, audio, video, network data, a video framebuffer, and so on. Dealing with binary is in no way a "specialized use case" of programming; I'm honestly a little incredulous at your insinuation. Further, this "distortion" amounts to…
Re: Goodbye PNaCl, Hello WebAssembly
#348This one I'm fine with since WebAssembly is a worthy replacement, but I'm still annoyed at Google discontinuing Chrome Apps. Some examples of specialized apps I use all the time that would require a native app otherwise: - Signal Desktop - TeamViewer - Postman - SSH client - Cleanflight drone configuration tool It was one of the best things that happened to Linux desktops in a long time and removing it hurts users an…
Re: Goodbye PNaCl, Hello WebAssembly
#349Earlier quoted context omitted.
> The way things are, right now, Chrome is much better at protecting apps from each other than my Linux desktop is. I have a hard time believing that. With a ton of stuff all running inside of Chrome, it's much easier for them to access each other's data than if they were standalone apps. Further, since Chrome is such a huge attack surface, I would expect it to be less secure than a smaller, more specific application…
> I have a hard time believing that. With a ton of stuff > all running inside of Chrome, it's much easier for them > to access each other's data than if they were standalone > apps. Ah, the argument from incredulity. If you're using X11, every command with access to the display server (which is usually everything you run) can read all keyboard and pointer input and screen output and inject arbitrary input.
The only reason that's even a concern is because you can't trust Chrome Apps to not be malware.
On the other hand, when I "apt-get install " I know it's not listening to all X keystrokes unless that's a legitimate part of its functionality, because I trust the Debian team to only add trustworthy software to their repos.
Re: Goodbye PNaCl, Hello WebAssembly
#350Earlier quoted context omitted.
> The way things are, right now, Chrome is much better at protecting apps from each other than my Linux desktop is. I have a hard time believing that. With a ton of stuff all running inside of Chrome, it's much easier for them to access each other's data than if they were standalone apps. Further, since Chrome is such a huge attack surface, I would expect it to be less secure than a smaller, more specific application…
>I have a hard time believing that. With a ton of stuff all running inside of Chrome, it's much easier for them to access each other's data than if they were standalone apps. Chrome apps are subject to sandboxing, and regular native desktop apps (besides apps installed through OS X's app store) generally don't have any sandboxing enforced on them at all.