The Bytecode Alliance was announced four years ago as an industry partnership working together to create the specifications and tooling needed to successfully run WebAssembly outside of the browser. Their first first was the WebAssembly System Interface (WASI).
This blog post gives a snapshot of their current activities and roadmap. It is cleat that there is a lot going on at the moment, and much to get excited about. From exciting new features in the core runtime such as threads and garbage collection, to the Component Model, which will significantly improve language interop, to the new concept of worlds.
It’s great to see so many things moving at pace.
Timecraft is a software runtime that executes WebAssembly modules with sandboxing, task orchestration, and time travel capabilities. We’ve seen sandboxing and task orchestration before, these are core features of any distributed server-side platform, but what about time travel?
Time travel debugging is a concept I heard of back in 2016, with the introduction of the Redux pattern to React, it was such an exciting concept that I gave a talk on it at a conference. The basic idea is that you capture all of the events that mutate your application state over time in such a way that you can rewind the clock, moving your application back to a previous state. This is tremendously useful for debugging purposes.
If you’ve not been keeping up with the latest AI news (and there is a lot of it), LLaMa is an open source Generative AI model that was released last month. Being open source, the community has made all sorts of tweaks an enhancements, including being able to run it in a C environment. This blog post takes llama2.c and runs it on WebAssembly, thus combining my two favourite technologies, Wasm and LLMs!
HPC stands for High-Performance Computing, originally this field used supercomputers, but these days the workloads have moved to computer clusters. This paper presents MPIWasm, a WebAssembly implementation of the Message Passing Interface, a specification that supports parallelisation of tasks.
A simple Wagi demo 😀
Geospatial calculations can be quite intensive, and are typically something you wouldn’t do in the browser. This blog post explores a Rust implementation of GeoArrow, a binary format for representation of geospatial data in Apache Arrow.