Clearly a rhetorical question because the author does exactly that. This blog post looks at the various desired attributes of a deployment technology for AI / ML models. The author describes how that compile their models into a wasm binary which they can then run in the browser, server or ‘the edge’. It’s great to see this technology gaining traction in so many different fields.
In order to thwart spam bots many websites use CAPTCHAs, simple visual puzzles that are designed to ensure that a real human being is submitting a form. However, most CAPTHAs are a pretty unpleasant experience (as someone from the UK it can be very confusing being asked to click on images that contain a sidewalk?!). This project is a neat idea, a proof of work alternative, where the browser solves a computationally intensive puzzle. While this doesn’t prove that a human is submitting a form, it does make it much more expensive to employ bots. Oh yes, and this project uses AssemblyScript compiled to WebAssembly.
The WebAssembly Binary Toolkit has a little utility, wasm2c, that can take a wasm module and transpile it to C code. This blog post looks at a practical example, a music synthesiser written in AssemblyScript, which the author has transpiled to C.
WebAssembly is still quite a young technology, with lots of scope to improve, both in terms of new features and the overall performance of the WebAssembly engines. This blog post outlines a few recent improvements in V8 (Chrome), including improved start-up times, experimental SIMD support (Single Instruction Multiple Data - new instructions that improve WebAssembly’s number-crunching capabilities) and a better debugging experience.
And Finally …
As Adobe Flash sunsets this December, now is a good time to reflect on its rise and fall.