Live data from Hacker News

WebAssembly

developer.mozilla.org

81–90 of 98 posts

Re: WebAssembly

#81
post #2

Something that I've been looking for as I try to learn more about WebAssembly is good examples of tasks that, when converted from Javascript to WebAssembly, would be good uses of WebAssembly for performance or memory or other reasons. Does anybody have a link to a blog post or good documentation like that?

Crypto miners were all the rage at some point.

Re: WebAssembly

#82
post #77
post #69

Earlier quoted context omitted.

You cannot disable wasm.

WebAssembly WebAssembly {compile: ƒ, validate: ƒ, instantiate: ƒ, compileStreaming: ƒ, instantiateStreaming: ƒ, …} delete WebAssembly Uncaught ReferenceError: WebAssembly is not defined

Great, now do that in a check box like JavaScript settings on browsers, without extensions.

Re: WebAssembly

#83
post #75
post #72

Earlier quoted context omitted.

Regardless, WebAssembly just got one security group doing research against it, I expect plenty more to switch their attention into it, as WebAssemly slowly starts to gather more market share. > Protect the host from the program, but not the program from itself. All nice and dandy, except that the goal of WebAssembly is to extend the host, and have the host be dependant on the program behaviour. A host unaware that th…

In this context the security guarantees are geared toward the attack threath the web faces: sandboxing untrusted code. You could say that this is the most web-specific aspect of Web Assebly

What matters is if WebAssembly actually holds the security guarantees used to sell it in detriment of PNaCL and CrossBridge.

If not, then it was just smoke and mirrors to sell an agenda and delay progress 10 years.

"Unreal Engine 3 Support for Adobe Flash Player - Epic Citadel" -> 2011

https://www.youtube.com/watch?v=xzyCTt5KLKU

Re: WebAssembly

#84
post #37

My 2c about wasm so far: I've tried go, rust, c/cpp, webassembly. go - big bundle sizes because of gc I am guessing, idk. c/cpp - I haven't touched c/cpp in a really really long time, but probably the other really good fit. rust - I see rust as the successor to what I would've used c/cpp for, but not sure if rust ecosystem is still fully there. Last time, I had some weird issues with wasm-bindgen. AssemblyScript(AS)…

D using LDC alongside betterC compilation mode is also an option.

The runtime will eventually be available as well, it is being ported with help of WASI.

Much better option than emscripten and all the machinery it brings along, with three languages (Python, JS, Java).

Re: WebAssembly

#85
post #31
post #24

Earlier quoted context omitted.

Is it? Can you provide some links to examples?

Static site generators have been around for ages. Jekyll was one of the first, as far as I know, but there are dozens of others now. https://jekyllrb.com/ https://jamstack.org/

I assume you mean NodeJS-based generators? Static site generators as a concept have existed since the very earliest days of the web. I worked on a team that used an in-house SSG to maintain dozens of sites years before NodeJS (or even V8) existed.

Re: WebAssembly

#86
post #79

Earlier quoted context omitted.

I don't think I've ever blocked an ad by way of javascript. My blocking is all done by pattern matching a blacklist of origins.

Thas means there are websites you cant load at all because ad code was bundled in the main html.

Interesting. Anyone have any examples?

Re: WebAssembly

#87
post #31

Earlier quoted context omitted.

Static site generators have been around for ages. Jekyll was one of the first, as far as I know, but there are dozens of others now. https://jekyllrb.com/ https://jamstack.org/

I assume you mean NodeJS-based generators? Static site generators as a concept have existed since the very earliest days of the web. I worked on a team that used an in-house SSG to maintain dozens of sites years before NodeJS (or even V8) existed.

Jekyll uses Ruby, not node. I don’t know what all the others use, there are so many.

Sure, generating HTML via another language is not new, but SSG pushed back against the notion of using dynamic CMS systems (which were de rigueur in the early 2000’s) in favour of static pages hosted on serverless systems and like GitHub pages and S3, with content (mostly markdown) held in version control systems instead of a database.

Re: WebAssembly

#89
post #83
post #75

Earlier quoted context omitted.

In this context the security guarantees are geared toward the attack threath the web faces: sandboxing untrusted code. You could say that this is the most web-specific aspect of Web Assebly

What matters is if WebAssembly actually holds the security guarantees used to sell it in detriment of PNaCL and CrossBridge. If not, then it was just smoke and mirrors to sell an agenda and delay progress 10 years. "Unreal Engine 3 Support for Adobe Flash Player - Epic Citadel" -> 2011 https://www.youtube.com/watch?v=xzyCTt5KLKU

I know very little about PNaCl, I cannot say whether wasm is better or worse, I am just defending the existence of the specific role for webassembly: lightweight sandboxing with strong sandboxing guarantees. Personally I have high expectations in this strategy.

Regarding the "Everything Old Is New Again: Binary Security of WebAssembly" they find that compiling something like photoshop to a single wasm module forfeits many security features available in x86, but this also point toward a future where application can be compiled in dozens or more small isolated modules. It remains to be seen if this will suceed or fail...

Re: WebAssembly

#90
post #82
post #77

Earlier quoted context omitted.

WebAssembly WebAssembly {compile: ƒ, validate: ƒ, instantiate: ƒ, compileStreaming: ƒ, instantiateStreaming: ƒ, …} delete WebAssembly Uncaught ReferenceError: WebAssembly is not defined

Great, now do that in a check box like JavaScript settings on browsers, without extensions.

I have this running as a uBO scriptlet injected into every website before content javascript starts to execute

    *##+js(myscript)
does various things, disables webassembly, websocket, AudioContext, serviceworkers, openDatabase and indexedDB, navigator.sendBeacon and window.opener, some fingerprinting randomization stuff, etc. I wish there was a Browser on the market actually letting you configure such things _per domain_ as Opera Presto used to, alas we are on our own now :(.
Post reply on HN