One of my (many other) side projects is a podcast which I’ve been hosting for the past year-or-so called “Beyond the Hype”. I was inspired to start this due to my frustrations around the power and influence “hype” has in our industry, with people flocking from one hyped technology to the next (blockchain, Web3, etc). In each episode we pick a hyped technology and ask whether it delivers genuine value, i.e. is the hype backed with substance.
After 13 episodes, it was really about time I got round to covering WebAssembly. It certainly has had its share of the limelight, and hype. Some of you may remember that it was the fifth ‘most loved’ language in the StackOverflow developer survey a few years back, which is just … odd.
Anyhow, in this episode I’m joined by Bailey (Cosmonic) and Sean (Adobe) to chat about WebAssembly, where it has delivered on its promise, and what the future might hold. If you want to now whether we voted “hype” or not, you’re going to have to listen in!
Did someone say “hype”? Generative AI is all the rage these days!
This blog post is less about Generative AI, and more about demonstrating the capabilities of Extism, a framework that makes it easier to built WebAssembly-based plugin applications. This demonstration mixes various languages, using their plugin framework, to create a langchain-style application. Soudns like a neat frameworkr.
This is a post from Jamie Brandon who likes “tinkering with systems”, I can relate to that!
One of the things I find really enjoyable about WebAssembly is its simplicity. You really can learn the instruction set, and almost everything there is to know about the runtime, in a few days. As a result, it is a fun environment for experimentation - creating compilers, emulators, interpreters, new languages, or a combination of each.
And yes, I had a go at writing my own compiler a few years back. Jamie’s is better and much more sophisticated than mine. I’d encourage you to read his series of posts, then have a go at doing this yourself. It’s worth it.
While WebAssembly runs directly in the browser, WASI (WebAssembly System Interface), which extends the overall capabilities of teh WebAssembly runtime, requires some additional set-up. Runno wraps this all up into a Web Component:
<runno-wasi src="https://assets.runno.dev/ffmpeg/ffmpeg.wasm" controls>
The above code runs FFMPEG in the browser. Very neat.
A practical demonstration of WebAssembly, where a heavyweight workload is moved to the client, run as a WebAssembly module in a Web Worker.