Earlier quoted context omitted.
They talk pretty extensively about everything is a file? They even mention the "everything is a file" description of that concept
Yeah seems the GP didn't watch the video.
Reaching the Unix philosophy's logical extreme with WebAssembly
61–70 of 142 posts
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#62Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
In terms of performance numbers though, I have quite intentionally NOT included performance benchmarks in this talk because getting stable performance information is nontrivial. I plan to write something in the future about WebAssembly vs native code as a subprocess (the differences with windows may surprise you!), but that is not a thing for today.
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#63Earlier quoted context omitted.
Nothing like reinventing COM :)
“COM but you can actually implement it from the docs” is surprisingly compelling, honestly. There is just an absurd number of obscure corners in the original, from DCE RPC all the way to the highest levels (although those are not the only source of COM grief—IDispatch is an abomination; IStream is needlessly annoying; IMarshal is awful to use but at the same time I don’t think actually has a convincing equivalent els…
COM was pretty reliable. Yes, it was needlessly annoying and gave CS folk the screaming ab-dabs, but it worked and was predictable.
I can see COM-in-WASM being really useful. Especially if we can dynamically load components. And not only for browser coding.
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#64Imagine a utility function that dumps an embedded string to an unlinked temporary file, sets the +x permission, and returns a /proc/self/fd/N filename so you can exec() a subprocess. It's somewhat difficult because of write^execute limitations in Linux.
Running WASM in process seems like a much saner idea.
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#65Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
Author of the talk here. When I am doing conference talks to help explain abstract concepts or ideas, I typically prefer to employ a strategy called surrealist satire. This basically helps people understand where something fits into the stack by demonstrating how something fits into the mold and then by doing another completely impractical thing with that surrealist solution. The goal of this is to help people hook s…
Ah, gotchya.
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#66Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
> Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? I don't want to be the guy who explains the joke, but sometimes Xe creates elaborate shitposts that aren't entirely shitposts but contain a very fun element to them rather than being for fully practical sake. Shitposting being an anagram for top insights after all. That's the l…
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#67Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#68Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
This looks more than a bit like the Inferno OS, created by some of the same folks who created Unix. WASM allows to distribute cross-platform binary code written in memory-safe Rust, running on pretty compact VM. Think about a plugin architecture that could be built on top of that.
IIRC Inferno OS is like Java in this regard.
How will WASM change what Java has already done?
Why would I compile Rust to WASM when I can compile Rust natively to any number of platforms? And use FFI?
I think WASM, while nice, doesn't bring much new to the table. It's been hyped for years, and I still only see it used here and there very sparingly.
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#69Neat talk but like... doesn't it all seem convoluted? What is the function of a Rube Goldberg web service? To allow it be made of anything? The problem with using Rust in Go is that you entirely miss all the parts you don't use Rust; you get the VM overhead of WASM so it kills Rust perf; you most likely introduce problems at the boundaries of Rust/Go. Again it's a neat idea but why in all things sane would anyone int…
The current reference (only?) implementation of jpeg-xl is a c++ library, which I do not entirely trust to run in process in my go web server, and yet I would like to process images. Conveniently, the build system for jpeg-xl seems to support building to wasm, so if I can jam that into my process, I'd be a lot happier.
I guess WASM as a target and embeddable VM really helps with security in those cases. Couldn't we also do the same though with any number of arch/vm pairings?
I guess what WASM brings to the table is a compile target friendly enough for things like C and C++, i.e. low level code, and a reasonable VM implementation. It just has to be accepted by everything (both as an output format, and virtual machine impl in the language choice) to work, I think...
Edit: Like why arent we using https://stackoverflow.com/questions/4221605/compiling-c-for-...
Re: Reaching the Unix philosophy's logical extreme with WebAssembly
#70Earlier quoted context omitted.
They talk pretty extensively about everything is a file? They even mention the "everything is a file" description of that concept
Yeah seems the GP didn't watch the video.
My takeaway from the transcript was that the author was chaining together webassembly programs like a pipeline in a Unix shell. Is the video about something else entirely?