List of videos

Computer Vision at the Edge with WebAssembly by Miguel Ángel Cabrera & Angel De Miguel @ Wasm I/O 24
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://2024.wasmio.tech/slides/computer-vision-at-the-edge-with-webassembl-wasmio24.pdf Computer vision is a field of Artificial Intelligence with very challenging constraints. To process data in real-time, your application must process every frame in microseconds. Often, these applications make decisions based on the images, making it impossible to move these workloads to the cloud due to network delay, connection issues, and privacy concerns, among other reasons. In this talk, you will learn about how WebAssembly allows us to build applications that run on any device. We will deep dive into how Pipeless, an Open-Source computer vision framework leverages this WASM capability. From a few devices to large fleets, you can run your computer vision applications using the same code. These applications are small Wasm Components that Pipeless plugs into the video streams to process and analyze them. It leverages the Wasm Component-Model, so developers can write these components in many different programming languages. After this talk, you will understand the different challenges of the computer vision ecosystem and how WASM, Pipeless, and the Component-Model simplify them significantly, providing an amazing development experience in a space that currently has a high entry barrier.
Watch
WebAssembly at the Core of the MultiversX Blockchain by Robert Sasu @ Wasm I/O 2024
Wasm I/O 2024 / 14-15 March, Barcelona This is the story of how WebAssembly got to be integrated at the core of the MultiversX blockchain: its performance, portability and interoperability. It’s also about all the choices regarding this integration: the rich VM environment, managed allocation, IO, ESDT tokens, safety, and execution. – This talk is about how and why WebAssembly is so well suited for the blockchain, and our latest progress in running it at the core of the decentralized applications in our ecosystem. I’ll talk a little about how we started and why we chose WebAssembly and Wasmer. Then, I’ll go into what makes our integration of WebAssembly special: the very minimal builds, the way we allocate and handle so-called “managed types”, the way we handle I/O and cryptography, as well as how we model and deal with cryptocurrencies and tokens. I’d also like to go in some depth about interoperability between blockchain applications. I will touch on sharding and sovereign chains, but especially about our new model of asynchronous calls between smart contracts, which are all independent WebAssembly modules. I’ll talk about several more developments and performance improvements we have planned for the rest of 2024, and the impact they will have on how we do finance and build on the Web in the 21st century.
Watch
Empowering Go with WebAssembly System Interface (WASI) Unleashed by Rajiv Singh / Achille Roussel
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://github.com/iamrajiv/wasmio-2024 Discover the future of cloud-native development with Go and the WebAssembly System Interface (WASI). Join our session to explore the power of Go’s new WASI support. Learn how to compile once and run anywhere, unlocking limitless possibilities for portable, secure, and high-performance applications. – The WebAssembly System Interface (WASI) is gaining popularity as a compile-once-run-anywhere target for developers of cloud-native applications. WASI is a system interface that provides a standardized way for WebAssembly modules to interact with the underlying system, regardless of the specific operating system or architecture. WASI greatly improved interoperability in the WebAssembly ecosystem. Still, its use cases have been focused on basic OS integration, such as reading environment variables or interacting with file systems. Go 1.21 added a new port named wasip1 (short for WASI preview 1), enabling Go developers to target server-side WebAssembly runtimes implementing WASI, such as Wasmtime, WasmEdge, or Wazero. Along with this addition to the Go toolchain, solutions have also emerged in the ecosystem, bringing full networking capabilities to Go applications compiled to WebAssembly. This session starts with an introduction to the WebAssembly System Interface and an overview of the support for WASI in the Go toolchain, illustrated by live code examples, and dives into how applications can leverage WASI and networking extensions to build powerful WebAssembly applications with Go. This talk gives attendees a comprehensive understanding of building and running Go applications with the WebAssembly System Interface (WASI).
Watch
Kotlin/Wasm — Compile Once Run Everywhere by Zalim Bashorov @ Wasm I/O 2024
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://docs.google.com/presentation/d/1oOSllgZ94tyMMmYbaxM2Ri7Kg1iekQCFngnDCqo-5H4/edit Kotlin is a modern statically typed programming language developed by JetBrains, designed to be used across different platforms. WebAssembly a portable binary format, designed to be fast and safe, enables running high-performance code in various environments. Combining the two technologies, Kotlin/Wasm allows developers to write efficient and portable code that can be executed in any Wasm-enabled environment and build from high-performance web applications to serverless functions. In this talk, we’ll have a look at the recent developments in Kotlin/Wasm: tools, compiler, and the ecosystem around it. We will showcase practical examples, demonstrating how Kotlin/Wasm could be used in various environments. Let’s discover together the place of Kotlin in the WebAssembly world!
Watch
Accelerating ML Inferencing with WebAssembly & Spin 2.0 by Radu Matei & Saiyam Pathak @ Wasm I/O 24
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://docs.google.com/presentation/d/1B7wxhtAjMrAd-jaMBeRNZbpHM9k0n0BbOPBuwoMty9A/edit?usp=sharing Join Saiyam and Radu Matei in exploring ML inferencing and AI’s evolution, focusing on WASM and Spin 2.0. The session starts with Spin 2.0, a WASM toolkit for accessible AI app development. We’ll explore its component model for robust, scalable AI applications. The talk then highlights AI inferencing with WASM, emphasizing improved performance and security, crucial for cross-platform portability. We will also discuss deploying Spin 2.0 apps on Kubernetes, demonstrating how these technologies integrate in cloud-native environments. This talk is designed for developers and AI enthusiasts, promising insights into the transformative impact of WASM and Spin 2.0 in making AI more practical and accessible. The agenda covers an introduction to Spin 2.0 for AI application development, its component model, and the use of WASM for enhanced AI inferencing. It concludes with practical insights on deploying these applications on Kubernetes, highlighting integration and operational benefits.
Watch
WANIX: A WebAssembly Operating and Development Environment by Jeff Lindsay & Julian Del Signore
Wasm I/O 2024 / 14-15 March 2024 WANIX takes WebAssembly to the next level. Edit, compile, and run WebAssembly from a WebAssembly UNIX-like environment entirely in the browser. Written in and using Go as a runtime, WANIX draws from Genera and Plan9 to provide a local-first operating and development environment of the future. – This is the story of a WebAssembly native operating system and integrated development environment called WANIX. From a wild idea at a hacker party to a fully realized open source project, WANIX opens up a world of mind expanding possibilities only possible because of WebAssembly. It started with the realization that Go’s self-hosting cross-platform compiler could itself be compiled to WebAssembly, creating a pure WebAssembly way to not only make more WebAssembly modules, but executables for any platform. Then, inspired by the beginnings of UNIX and ideas from Genera and Plan9 operating systems, only a few more elements were needed to create a familiar, UNIX-like computing environment that could edit, compile, and run WebAssembly; a foundation to bootstrap much more. WANIX features a web worker based process model, a programmable filesystem exposed back to the browser via a service worker, a shell that can be modified and recompiled live or switched out with another, a compiler that can build native executables or executables for your host platform, a terminal emulator for command-line and TUI apps, and an iframe based system for web applications. This 30 minute talk is jam-packed with not only how WANIX was made by veteran software hacker Jeff Lindsay, but, more importantly, where we can go from here.
Watch
Wasm can do that!? by Daniel Lopez @ Wasm I/O 2024
Wasm I/O 2024, 14-15 March, Barcelona Slides: https://2024.wasmio.tech/slides/wasm-can-do-that-wasmio24.pdf WebAssembly is well known for its usage in web frontend development and serverless in the backend, but there’s more to it. A lot more! This session will explore some other, less known aspects of Wasm, from running on unlikely devices to powering exciting new types of applications. The presentation will feature plenty of live demos and you will leave the presentation knowing (and being excited about!) new ways that people are applying Wasm in the real world, or just plain having fun! If we are doing our job well, you should indeed say, at some point in the talk “Wasm can do that!?”
Watch
The Wasm-Scape Navigator: Sorting Through the Mosaic of Specs by Edoardo Vacchi @ Wasm I/O 2024
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://speakerdeck.com/evacchi/o-2024-the-wasm-scape-navigator-sorting-through-the-mosaic-of-specs What are the challenges of following the development of the growing WebAssembly ecosystem as a toolchain and runtime maintainer? How do we address hard issues such as backward compatibility? How and how much should we care? – As an early adopter, the WebAssembly space is like a candy shop: I want a little bit of this, a little bit of that. After all, as you overcome the initial shock, all you need to do is pick a language, choose a runtime and a platform, and then code away. As a toolchain and runtime maintainer, keeping up with the stream of fast-paced updates of a moving target can at times be overwhelming. What are the challenges of adopting and implementing the growing number of proposed extensions both to the application layer and the core WebAssembly spec? What are the tradeoffs of making one choice over another? How should you prioritize the work? In this talk, we share our experience with evolving the codebase of wazero, the open-source, zero-dependency WebAssembly runtime for Go developers, and we discuss the road ahead: finding a delicate balance between meeting the demand of a growing user base, keeping the trajectory of the industry in sight, and future-proofing for long-term maintainability.
Watch
Flutter, Dart, and WASM: Shipping a new model for Web applications by Kevin Moore @ Wasm I/O 2024
Wasm I/O 2024 / 14-15 March, Barcelona Slides: https://goo.gle/flutter-wasm-io-2024 Now that garbage collection is a standard feature in the WebAssembly runtimes in Chromium-based browsers and Firefox, there is an opportunity for a wide variety of existing GC-languages to target Wasm. Learn how the Dart and Flutter teams and Google worked to add support for this new language to our existing web support, while maintaining compatibility with existing JavaScript. Supporting compilation to both Wasm and Javascript was a challenge. We will cover how JS-interop and browser APIs evolved along with our support for multi-threaded rendering. We’re also excited to showcase our performance compared to JavaScript in the browser and even native code.
Watch