a world to win: webassembly for the rest of us
Today I’d like to share the good news that WebAssembly is finally coming for the rest of us weirdos.
This fantastic blog post is a write-up of a talk that Andy Wingo gave at a recent conference. It gives a brief introduction to WebAssembly. but the main focus of the talk / blog is the recently added garbage collector capability. Andy works on the WebAssembly compiler for Scheme (a dialect of the Lisp family of programming languages) and discusses how the WebAssembly garbage collector capabilities are being made use of.
Scale is a “WebAssembly-powered function runtime enabling composable, language-agnostic software development.”, another project in the growing family of WebAssembly runtime environments.
hand crafted wasm
This fun little project is a collection of hand-crafted WebAssembly demos, hacking like it’s the 1990s!
WebAssembly has a relatively simple instruction set and as a result is quite easy to write by hand. The lack of high-level constructs mean that you have to do more heavy lifting, but there is definitely a feeling of satisfaction when you build something from scratch. I toyed around with this a few years ago, hand-crafting a simple interference effect. Ben Smith also published a number of wasm demos.
Hosting Uno Platform WASM on AWS Amplify
Uno is an alternative to Blazor for people wanting to write C# applications that target WebAssembly, as well as allowing you to target iOS, macOS and various other platforms. This tutorial looks at how Uno can be combined with AWS Amplify.
Simultaneous localization and mapping (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent’s location within it. A challenge that is quite relevant for self-driving cars. AlvaAR is a realtime SLAM algorithm that runs in the browser, with ThreeJS rendering objects into the AR scene to demonstrate the tracking capability. The demo, which works on mobile devices, is very cool!
Moving hot loops from Python to WASM
Python is know for its ease-of-use and versatility as a language, however, this comes with a trade off - it isn’t exactly fast! Often Python libraries off-load the heavy-lifting to native modules written in Rust or C++. This blog post looks at how WebAssembly can be used for optimising hot loops.