7 ms·
Created a few years ago by Jean-Marc Valin of xiph/mozilla (who by the way is also the author of Opus codec among other things): https://gitlab.xiph.org/xiph/rn
by pen2l 4y ago
Created a few years ago by Jean-Marc Valin of xiph/mozilla (who by the way is also the author of Opus codec among other things): https://gitlab.xiph.org/xiph/rnnoise/ https://gitlab.xiph.org/xiph/rnnoise/
Overview of RNNoise from the horse's mouth is here: https://jmvalin.ca/demo/rnnoise/ https://jmvalin.ca/demo/rnnoise/
Used as a Wasm module! In some ways the web is becoming more opaque. Is this the future then, a hodgepodge of binaries doing things behind the scenes? Though in this case it happens to be OSS, and it may well be a moot point -- backend is already a blackbox to the enduser, now parts of frontend are blackboxes. The practical implication is probably just that some measure of customizability is gone.
- danuker 4y agoShort of reproducible builds, you can't even check that what you're being served is, in fact, the OSS version.
- Weatherweathe 4y agoArent wasm modules still sandboxed? Reverse enginering binaries should have around same complexity than reverse enginering uglify js, not sure how they are more opaque
- pen2l 4y agoYou probably have a point but I'm thinking unuglified js code (http://www.nice2predict.org/ http://www.nice2predict.org/) is not as impenetrable as code from reverse engineered wasm binaries? The element of plausible deniability is more potent though for the nefarious actor on the other side in the case of wasm binaries.
- sabjut 4y agoIs this a troll comment? Yes, wasm works based on a compiled binary, just like any other program written in a compiled language in the past 50 years. You try to suggest that everyday users of the web are just going into the js sources of webpages and understand whats going on. With the plethora of libraries, frameworks and static optimization used in todays websites, normal people can't really dissect the inner workings of a website just by looking at the code. That's why we have tools like request analyzers etc which all would still work with compiled libraries. Compiled code has existed for half a century and we know how to work with it. Suggesting that the web is doomed because people of the future prefer rust instead of javascript is beyond any rationale.
- troyvit 4y agoThey didn't suggest the web is doomed, just that more aspects of it are opaque. I don't think they're talking about every day users of the web either, but rather nascent developers. The early web was a great equalizer. Anybody could study a little html, download an ftp manager, jump through a few procedural hoops and have a web page. After some studying and trial and error they could even build an interactive site.[1] It's easy to miss all the potential of wasm when that's what you remember of the web. To me the amazing thing is that browsers will still work with the methods described above[2] but we're on the cusp of being able to do almost everything a full application environment can do. That said, even though there will be plenty of OSS wasm tech, it'll still be more opaque to those of us who don't do compiled languages. It'll be a lot tougher to just fork the code and do something more creative with it. [1] PHP used to stand for "Personal Home Page" and, as one of its founders put it, was created so that "any idtiot" could make an interactive site. [2] https://t.mkws.sh/58bytes/ https://t.mkws.sh/58bytes/
- maven29 4y agoAre modern-day "no code" tools like Webflow not an acceptable equivalent? We already lost any semblence of building from scratch in the mid-2000s with the emergence of gargantuan HTML templates and Wordpress/Drupal/PHPbb deployments with plugins and themes. This is a direct result of people being held to higher standards and thus spending a lot more effort overriding the compositional and behaviour defaults of the user agent. The modern-day iteration just optimizes for scaling up to tens of thousands of concurrent end-users on anemic hardware. We have to accept the fact that personal webpages gave way to social network profile pages. This didn't happen overnight and there is zero demand for a hand-crafted presence on the web anymore.
- rektide 4y agoBuild from scratch is out of favor, but not necessarily that far off. Folks like Github & Youtube have very simple bottom-up webcomponent systems they use, rather than top doen frameworks. Existing concerns about bundling might be met by bundled http exchamges (webpackage). I dont think "no code" is an aid. If anything it's pushing in the opposite direction: rather than a transparent approachable web medium, it suggests we need hyperadvanced tools that we really wont understand or have control over to synthesize web code. It's a simpler user experience, but a push away from notepad.exe webdev. I wouldnt rush to make any conclusions about who or what has won, as a settled fact & case for all time. We havent had good ways to run online systems ourselves, versus hosted for us, and there's still lightyears to go but we're doing good things & finally maturing well. We're only a couple years into ActivityPub as an interchange format & growing many of the caoabilities & tools & systems, around all mimds of use cases, that will make throwong together a fair, interactabke competitive offering possoble. Social media has had huge huge investmemt poured into it, but we are in decent preteen years of growing up & owning the libre equivalents. We can assess demamd only after there is a visualizable state people can imagine; just having an isolated blog is not the equivalent to the well connected social media site, but these capabilities slowly arise. Follow the alpha geeks; this currently long phase will not be forever.
- robalni 4y agoI don't think it makes much of a difference whether you can read the code because even if you can read the javascript, it's automatic so it can be different on the next request. If we want to be able to trust the web, we have to get rid of the automatic download and execution of arbitrary script code.
- KMnO4 4y agoI think we’ve been lulled into some false sense of expectation that the web exists as a place for “open source code” to be run. As if the fact that you can view the source of any page is any purveyor of that. If that’s your definition of transparency, then perhaps learning to read assembly would give you the same comfort. In fact, there’s a lot more binaries distributed with symbols intact than unminified JS. Or, to put it another way, if you could right click -> view disassembly of any binary on your computer, how would that be any different than today’s web?
- naillo 4y agoI feel like I have about as much chance reading disassembled wasm as I would have reading unminified javascript so I don't think it changes much. (You could technically turn the wasm to JS and unminify that too, which I doubt is much harder/easier to decipher as the same thing written in JS and minified/unminified.)
- saghul 4y agoWhat a weird take. How else would we have implemented this? WASM has facilitated introducing these technologies into web applications, it literally wasn’t possible before. Thanks to emscripten it wasn’t even that hard to get rnnoise working on WASM: https://github.com/jitsi/rnnoise-wasm https://github.com/jitsi/rnnoise-wasm I concede WASM does open the possibility of adding opaque stuff to web apps but IMHO the benefits outweigh the drawbacks at this point.
- pen2l 4y agoOh no you're absolutely right, my general frustration was ill-placed for this thread. Wasm is no doubt the right and only way to have done this.
- api 4y agoMost JavaScript these days is basically compiled binary. Rarely is it very human readable.
- 0x457 4y agoIf you have human-readable JS, you either didn't write much or you forgot to minify it.
- elcomet 4y agoWasm is about distribution of binaries, not about open source. Those are two different subjects. When I install a program on my debian machine with apt-get, I also get binaries. But this doesn't mean that it is opaque right?
- midislack 4y agoJust wait until all your ads are wasm blobs! Wheeeeeeee!