I really enjoyed this article, it’s relatively brief (funny) and to the point - WebAssembly, for a great many reasons, is shaping up to be a fantastic universal runtime. The author argues that we should be making WebAssembly our default binary target and running WebAssembly everywhere.
… with a few good jokes at Java’s expense thrown in for good measure 🤣
On the subject of WebAssembly becoming a universal runtime … Fluvio is a distributed streaming platform for real-time data. Historically many data-processing tasks have been executed in ‘batch mode’, for example, an online shop might run a batch process at the end of each data in order to generate summary reports based on the days sales. However, in many instances there are advantages to running these data-processing tasks in real-time, giving more immediate insight.
Streaming platforms are distributed by their very nature, being composed of event streams and processing nodes. WebAssembly, with its portability, multi-language support and security, is an ideal runtime for these processing nodes. This blog post gives a practical introduction to writing an aggregation node for Fluvio in Rust.
Fractals, the Game of Life and Ray Tracing are all classic programming tasks that are great vehicle for learning a new language or framework. In this blog post, the author creates a simple Ray Tracer as a way to better understand Rust and WebAssembly.
I’ve always been a fan of emulators, bringing old computer games and technology back to life. However, Wasm4 is something different, rather than emulate a real console (from the past), it is a ‘fantasy’ console. Wasm4 uses WebAssembly as its runtime (the CPU), adding a simple set of APIs for rendering to the screen, playing sounds, or handling input.
Maybe Wasm4 should team up with Wasm3 and get this fantasy console running on real hardware?