The plugin system as described in the README hasn't been implemented yet.
The plugin system as described in the README hasn't been implemented yet.
"just keep rebooting to solve the problem, rather than fix it"
I'm not a Rust person, how do you install this? Is it something like "rustc install" or something like that?
Thanks!
i don't know anything about WASI, but it probably solves the problem of having to interface with different native compiled code ABIs.
Also, WASI is compelling to me because of the potential of writing plugins in different programming languages.
I think this is the future really, I've been pining for this to become a thing for so long.
* sandboxing, so plugins don't need to be as trusted
* Easy cross-platform distribution with a single build artifact
* plenty fast (if written in a language like Rust/C++ and paired with a good runtime)
Why don't plugins "need to be as trusted"? Obviously bad-actor plugins would be less effective and capable of inflicting any sort of attack on your development OS, but surely the development environment is the perfect vector for attacking the runtime environments that run your artifacts get deployed into?
Not to mention the potential for secrets-harvesting due to sloppy boot-strapping dev-env habits or other bad habits we often engage in during the early development process?
Or does WASI somehow provide protection from these issues?
The code is running inside a virtual machine rather than natively on the host.
Some advanced linters might want network access but you can show this to the user, so they can make an informed decision about whether to trust that linter and their author with this power.
This isn't airtight security to protect against obviously-malicious authors. This is about creating a system that can deal with the reality that "trust" in an app store entails "a million shades of gray". I might trust a plugin enough to check for errors in my code, but not enough to actually modify my code.
I hadn't really heard of WASI, let alone understand it, but it totally makes sense why you would want to leverage this approach, along with any IDE-specific plugin interfaces/integrations.
That sounds absolutely amazing. Are there any desktop apps delivered like this yet? Any operating systems or some sort of runtimes (browsers?) that support them?
I want to install apps on my desktop without worrying about it too much. Sadly currently restricted to PWAs.
Ever heard of apparmor?
That's per application security profiles, distributed with any applications on many Linux distributions.
WASM + WASI means a single binary has near-native performance, but can run on any CPU architecture and any OS.
The runtime can be an interpreter or a (JIT) compiler. The latter can get you relatively close to native performance.
WASI fits snuggly in between, being a common intermediate language
From https://en.wikipedia.org/wiki/Asm.js
> asm.js consists of a strict subset of JavaScript, to which code written in statically-typed languages with manual memory management (such as C) is translated by a source-to-source compiler such as Emscripten (based on LLVM).[2] Performance is improved by limiting language features to those amenable to ahead-of-time optimization and other performance improvements.
> asm.js is mostly rendered obsolete with the introduction of WebAssembly (wasm), which has a bytecode format that is faster to parse. Efforts to extend JavaScript with more low-level features like SIMD.js has also been suspended since 2017. asm.js remains useful primarily as a "fallback" for wasm
But nowadays WASM is much more suitable for the job. JavaScript was designed as a scripting language, not a low level intermediary language.