Hello dear reader, apologies for the tardiness of this issue, the last one was three weeks ago. I’m not exactly living up the the ‘weekly’ name given to this newsletter. But hey, everyone needs a holiday sometimes!
This article provides a fantastic demonstration of how to run machine learning models using the edge computing paradigm, powered by WebAssembly.
The author uses WasmEdge a runtime that is supported by the Cloud Native Computing Foundation (CNCF), that claims to be the fastest WebAssembly VM. As well as supporting the WebAssembly System Interface (WASI), it also provides an API for TensorFlow, Google’s popular AI / machine learning library. This article provides a step-by-step introduction to training a model and deploying it to TensorFlow Lite, a network specifically designed for resource-constrained on-device deployment.
At the moment Dart seems to have found most success in mobile application development, where it is often used with the popular Flutter UI library.
There is currently work underway to support compilation of Dart to WebAssembly, however, in common with C# and Java, Dart needs a Garbage Collector, something which the WebAssembly runtime doesn’t support at the moment. There is currently a proposal in active development to add Garbage Collection capabilities to WebAssembly and the Dart team are experimnting with this feature in their own WebAssembly implementation.
It’s great to see another language being added WebAssembly, and the overall capabilities of the runtime improving as a result.
This post shares the experience or compiled a 15,000 lines of code, rendering engine (that is part of an open source robot simulator!) from C++ to WebAssembly. A fantastic resource for anyone who is looking to port their C++ code to WebAssembly.
Uno Platform is an alternative to Microsoft’s Blazor, providing tooling for compiling C# / XAML application to WebAssembly. In this blog post they demo Uno via porting the Nuget package explorer to WebAssembly, allowing it to run in the browser rather than the desktop. While this does look like a good result, some people did express concerns about the overall payload size.
This is a fun WebAssembly experiment - it even has ‘fun’ in the name! LiquidFun is a Google project that adds fluid simulation to the popular Box2D physics engine. Alex has already ported Box2D to WebAssembly, this page demonstrated the latest release which adds LiquidFun into the mix.