Statically linking WASM with a unikernel - neat! The syscalls don't need translation like a regular VM but you still get VM-like kernel isolation.
Statically linking WASM with a unikernel - neat! The syscalls don't need translation like a regular VM but you still get VM-like kernel isolation.
Have you seen this absolute crazy demo?
https://www.youtube.com/watch?v=kGBeT8lwbo0
plan9-like OS, accessed via a shell, from a wasm binary that allows to change the webpage DOM dynamically with the VFS and run processes in the background as well.
wasi-sdk 25.0 is now released!
Highlights include:
- LLVM 19
- Include llvm-dwp utility
- Experimental setjmp/longjmp support (this depends on the Wasm exception-handling proposal, which many non-browser Wasm engines don't support yet, but it's a step)
https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-25
[wasi-messaging] was just voted to advance to [phase 2]!
It's useful in practice on its own, but I'm also interested in how this is a milestone for the broader [wasi-cloud-core]'s `service` world, which has the potential to become an important new world, along side the POSIX-oriented `command` world and the HTTP-oriented `proxy` world.
[wasi-messaging]: https://github.com/WebAssembly/wasi-messaging
[phase 2]: https://github.com/WebAssembly/WASI/blob/main/Contributing.md#2-feature-description-available-wasi-subgroup
[wasi-cloud-core]: https://github.com/WebAssembly/wasi-cloud-core
WebAssembly, WASI und Rust: Dreamteam für Microservices | heise online
https://heise.de/-9978208 #WebAssembly #WASI #Rust #Microservices
Did someone just say "composable concurrency"?
Why yes, @dicejw just posted an [RFC] for implementing the anticipated component-model async design in Wasmtime, wasm-tools, wit-bindgen!
New blog post: Thinking about Streams in WASI.
This is a high-level look at the streams API in WASIp2 and how it's worked in practice so far, with what works and what doesn't and what needs more work, and a look ahead to the plans for streams in the future in WASIp3.
Now that we have a [Wasm OCI artifact layout], we can now use OCI registries such as GHCR for storing Wasm components and interfaces.
As an example, there are now some example [WASI interfaces published].
[Wasm OCI artifact layout]: https://tag-runtime.cncf.io/wgs/wasm/deliverables/wasm-oci-artifact/
[WASI interfaces published]: https://github.com/orgs/WebAssembly/packages?repo_name=WASI
"Tech is full of hype that over-promises and under-delivers, yet here I find myself in cautious agreement. Wasm and WASI have so far managed to carefully pick their way through a landscape of pitfalls, landmines, and various other analogies for ways things can go wrong. It might still fail, but the accumulation of support seems to be building into something that, after many years of hard work, will suddenly be hailed as an overnight success"
https://www.forbes.com/sites/justinwarren/2024/04/04/webassembly-is-finally-usable-almost/?sh=7696e2c467d2
New blog post: Bridging between source languages, in Wasm
https://blog.sunfishcode.online/bridging-language-divides-in-wasm/
wit-bindgen 0.22 was just released, with two PRs to make generated C bindings easier to read: more comments and more descriptive types.
I made a sketch of an Embedded API in the WebAssembly Interface Types (Wit) IDL, covering GPIO, I²C, SPI, PWM, and delays, based on the embedded-hal API, to show what such a thing might look like:
The Rust wasi crate, for low-level bindings to the WASI APIs, is now updated to WASI 0.2:
Among other fun outcomes of this, the rustdoc docs are some of the nicest HTML renderings of the WASI 0.2 APIs today:
Two new #WASI proposals advanced to phase1 today:
- wasi-webgpu - WebGPU!
- wasi-observe - Metrics and observability!
A lot of people have asked, will there be a #WebGPU API in #WASI?
And there's now a prototype of this, in preparation for a phase-1 proposal vote!
@Mendy has built a prototype of a WebIDL-to-Wit translator:
https://github.com/MendyBerger/webidl-wit
and used it to build a WebGPU prototype with a host implementation:
My blog post about WASI 0.2, also known as WASI Preview 2, is now cross-posted on the Bytecode Alliance blog:
The hello-wasi-http demo is now updated for WASI Preview 2 and works with Wasmtime 17!
https://github.com/sunfishcode/hello-wasi-http
Note that it needs cargo-component 0.7.1.
WASI Preview 2 is officially out, and it's a big deal. Beyond the APIs that open WASM to a growing number of use cases and environments, the component model allows assembling interoperable modules developed in different languages. #wasm #wasi https://blog.sunfishcode.online/wasi-preview2/