What’s in that .wasm? Introducing: wasm-decompile

V8.DEV

WebAssembly is a relatively low level language, and as a result, when you compile something like Rust or C# to wasm, much of the information in your original code is lost. Decompilation from a binary wasm module to the original source is simply not possible.

This blog post announces a new tool, wasm-decompile, that does the best job it can to create a readable decompiled output to something which looks like a “very average programming language”. While it is not a full decompilation, it is much more easy to read than the underlying WebAssembly code!

Evaluating new languages for Compute@Edge

FASTLY.COM

Fastly were an earlier adopter of WebAssembly, using it as a runtime for executing cloud functions. This blog post looks at the criteria the team use for adding language support, with AssemblyScript and Go both looking like strong candidates. There are also some links to various projects that you can get involved in!

Audio-based shower timer with a phone, Machine Learning and WebAssembly

EDGEIMPULSE.COM

This blog post is the very best kind of pointless! Contention issues with the family shower? what’s the best way to solve this? Create a machine learning model that recognises the sound of the shower and automatically starts a timer. Of course.

Implementing while loops in WASM using binaryen.js

DREW.LTD

A brief, but interesting blog post that looks at the underlying WebAssembly instructions for creating loops. This post makes use of binaryen.js, a JavaScript API for emitting WebAssembly - something I’ve not personally used before.

And Finally …

wasm SIMD is 500x faster than JavaScript - and no, I’ve not dug into this to verify the claim, but it sounds good!