

WasmAssembly
Google
WebAssembly (abbreviated Wasm, a contraction of "WebAssembly", not an acronym, hence not using all-caps) is a safe, portable, low-level code format designed for efficient execution and compact representation. An assembly is a group of people gathered together in one place for a common purpose. In this show with the whimsical name WasmAssembly (get it?), Thomas Steiner, Developer Relations Engineer at Google, chats with experts from the community about the past, present, and future developments happening in the world of WebAssembly.
Episodes
Mentioned books

9 snips
Nov 18, 2024 • 52min
Squishy Wasm apps using Extism with Dylibso's Steve Manuel - WasmAssembly
Steve Manuel, co-founder of Dylibso and creator of Extism, builds tools to make software extensible with WebAssembly. He talks about making software “squishy” with Extism, the tool suite (XTP, Observe, Chicory), running and observing WASM plugins in production, and practical tradeoffs between Extism and the WebAssembly component model.

Oct 28, 2024 • 51min
A deep dive into WebAssembly with Thomas Nattestad - WasmAssembly
In this episode, WasmAssembly host, Thomas Steiner, chats with Thomas Nattestad, Product Manager on the Google Chrome team. Learn about Chrome's investment in WebAssembly, WebAssembly caching and if there's a solution for cross-origin caching, canvas-rendered apps, and Thomas' take on WebAssembly DOM access and whether WebAssembly will replace JavaScript. Finally, the two talk about the Wasm ES module integration and what this means for bundlers. Resources: Thomas' BlinkOn 9 talk → https://goo.gle/4fkaDaU Thomas' SFHTML5 talk "What, Why, and How to WebAssembly?": https://goo.gle/3NJw8WM (Sep 29, 2018) Thomas wishing for VB6 for Wasm: https://goo.gle/3NCGZBY May 30, 2019) VB.NET for Wasm: https://goo.gle/3AeH5N6 (Apr 13, 2019) WebAssembly at Google WasmCon talk: https://goo.gle/4fl3Ai7 Flutter renderers → https://goo.gle/3AbAJy6 Qt for WebAssembly → https://goo.gle/3NGrTeG Flutter support for WebAssembly → https://goo.gle/3BWT96a Kotlin Compose Multiplatform → https://goo.gle/48D1jNv Source phase imports proposal → https://goo.gle/3C2SvEo WebAssembly ES module integration proposal → https://goo.gle/3C8wd3L Angular ES module exploration → https://goo.gle/40ip4YM

Oct 14, 2024 • 59min
Special episode on the June meeting of the WebAssembly Community Group - WasmAssembly
This is a special episode of the WasmAssembly podcast, recorded at the June face-to-face meeting of the WebAssembly community group that took place at the WebAssembly Research Center of the Carnegie Mellon University in Pittsburgh, Pennsylvania. Thomas Steiner was there for two days, day zero, a pre-event in the form of an academic research day, and day one of the actual face-to-face meeting. While there, he spoke with a lot of the attendees, and this episode will give you a bit of an impression of what was presented and discussed during the meeting. Resources: June meeting of the WebAssembly Community Group → https://goo.gle/3U3n2rF Research day agenda → https://goo.gle/4eRECrb Elizabeth Gilbert → https://goo.gle/3XXGZ4q Flexible Non-intrusive Dynamic Instrumentation for WebAssembly → https://goo.gle/3Y2716o Adam Bratschi-Kaye → https://goo.gle/3NlK8G4 Internet Computer → https://goo.gle/3zR9WXD WebAssembly and the Internet Computer Protocol → https://goo.gle/3YitTjF Dan Gohman → https://goo.gle/4gYmo8E The World of WASI → https://goo.gle/3YeMVam Ben Titzer → https://goo.gle/3NkxY0k WebAssembly Research Center → https://goo.gle/3zFiFME Adam Klein → https://goo.gle/3zVT1mL Yuri Iozzelli → https://goo.gle/4dE64ai Branch hinting → https://goo.gle/3BMlUlM Emanuel Ziegler → https://goo.gle/3zILDey Compilation hints → https://goo.gle/3ZZyOHu Ilya Rezvov → https://goo.gle/3Y6Mb6a Half-precision (FP16) → https://goo.gle/3Bzluz8 Ben Visness → https://goo.gle/3NhxLL8 Memory control → https://goo.gle/3zRMARE Thomas Lively → https://goo.gle/3TYZT9K Day 1 agenda → https://goo.gle/4eTa6fZ

Sep 30, 2024 • 55min
Exploring the Bytecode Alliance with Cosmonic's Bailey Hayes - WasmAssembly
In this episode, your host Thomas Steiner chats with Cosmonic's CTO and Bytecode Alliance technical steering committee and board member, Bailey Hayes, about the exciting world of WebAssembly at her company, and specifically at the Bytecode Alliance. After exploring how Cosmonic makes use of WASI for their wasmCloud product, they get into details about the Bytecode Alliance, the workstreams and projects hosted there, and how to work with it. Resources: Bailey Hayes on LinkedIn → https://goo.gle/47xpA6M Cosmonic's post welcoming Bailey → https://goo.gle/3ZzM1Gy WebAssembly on the factory floor → https://goo.gle/3ZynB01 What is Cosmonic → https://goo.gle/4ethuhW jco → https://goo.gle/4ecjdIC jco example → https://goo.gle/4gwhBLu SpiderMonkey → https://goo.gle/4gIR1Ps WASI http → https://goo.gle/3MQvK8L WasmAssembly episode with Ryan Hunt on string built-ins: https://goo.gle/3zs0Mk3 The various HTTP methods in WASI http → https://goo.gle/3Xxp9EX WasmAssembly episode with Luke Wagner on WASI and the component model → https://goo.gle/3Xxryj8 Bytecode Alliance → https://goo.gle/3MPY0bD WasmEdge runtime → https://goo.gle/47xq392 Bytecode Alliance board → https://goo.gle/4gIRd18 Bytecode Alliance technical steering committee → https://goo.gle/3XR2qoQ Bytecode Alliance community stream update → https://goo.gle/3XPNZ4g Bytecode Alliance updated developer roadmap → https://goo.gle/3ZAQp8f Bytecode Alliance projects → https://goo.gle/4dhl8dR Wasmtime → https://goo.gle/47wX9WP Cranelift → https://goo.gle/3zvezGD WAMR → https://goo.gle/3MUaC1c Javy → https://goo.gle/3TxAqEk WebAssembly System Interface (WASI) → https://goo.gle/4duTBpv Component model → https://goo.gle/47CFtJu WASI Subgroup in the WebAssembly CG → https://goo.gle/3zvfUx9 Brandon Sanderson's Mistborn saga → https://goo.gle/4e9y2LX Bailey on Mastodon → https://goo.gle/3TB9lju Bailey on X → https://goo.gle/3XyGnBV Bailey's Bytecode Alliance videos → https://goo.gle/47wJ0c9

Aug 26, 2024 • 52min
A promising feature: JavaScript Promise Integration with Francis McCabe - WasmAssembly
In this episode, Thomas Steiner chats with Francis McCabe from Google, who's the champion of the JavaScript Promise Integration and the Stack Switching proposals. They go from talking about synchronous assumptions in code over to discussing the JavaScript Promise Integration (JSPI) proposal and how to use it in practice, its performance implications, and how to use it in practice. After exploring a neat side effect of JSPI, namely lazy loading, the fall into the rabbit hole of comparing JSPI to the upcoming ES module integration of Wasm. Finally, Francis gives an overview of his other early stage Stack Switching proposal. Resources: The Paper introducing Go! → https://goo.gle/3AiyCrY The JSPI proposal → https://goo.gle/3yxfkOM JSPI entering origin trial → https://goo.gle/4cjprok JSPI origin trial → https://goo.gle/4cmjxD4 Introducing JSPI → https://goo.gle/3YEPT90 The new JSPI API → https://goo.gle/4cie1RN The JSPI API change → https://goo.gle/4cie1RN Code example → https://goo.gle/3Arlq3P Stack-Switching Proposal for WebAssembly → https://goo.gle/3Ar2KRM The Vivant series → https://goo.gle/46Htp97

Aug 5, 2024 • 1h
String built-ins with Mozilla's Ryan Hunt - WasmAssembly
In this episode, Thomas Steiner interviews Mozilla's Ryan Hunt, who's the champion of the string built-ins proposal. They first discuss Ryan's way into Mozilla and his role in the SpiderMonkey team, and then dive deep into the string built-ins proposal and some challenges and rabbit holes with it. Resources: Ryan Hunt on LinkedIn → https://goo.gle/3Wxcfqb SpiderMonkey blog → https://goo.gle/3Ww8ReX WasmGC proposal → https://goo.gle/3Sz2CG7 Google Sheets WasmGC → https://goo.gle/4foOXv7 BrowserTech podcast episode with Row Zero → https://goo.gle/3SyfAUR String Built-ins proposal → https://goo.gle/3LPXzxw Potential other built-ins → https://goo.gle/4d445fL Lin Clark's post on calls between JavaScript and WebAssembly being finally fast → https://goo.gle/3WNoeRV The problems with `this` and operators like `===` → https://goo.gle/3WrWGA8 Using built-ins → https://goo.gle/3LONEIk Polyfilling built-ins → https://goo.gle/4fpW4DJ Scheme Wasm compiler → https://goo.gle/3Syg6lL OCaml compiler → https://goo.gle/3A4Qs1B Compact impact section proposal → https://goo.gle/4d5rBZQ Compact impact section slides → https://goo.gle/4d7NU12 Memory64 proposal → https://goo.gle/4fqmghr Seinfeld → https://goo.gle/3YyxpHb Frasier → https://goo.gle/46CiRYT Scrubs → https://goo.gle/3AiWhbu Culver's restaurants → https://goo.gle/3LLRyBZ Menards home improvement store → https://goo.gle/3WJpiWG Ryan on GitHub → https://goo.gle/3A9BSG4

Jun 24, 2024 • 1h 9min
The WASI Revolution: Luke Wagner on WebAssembly's Past, Present, and Future - WasmAssembly
In this episode, Thomas Steiner interviews Luke Wagner, who works at Fastly. You'll hear them chat about Luke's time at Mozilla, how he remembers the Wasm launch, the WebAssembly System Interface (WASI) and the component model, his thoughts on where WebAssembly's future lies, and much more. Resources: Luke Wagner's Wasm announcement blog post for Mozilla → https://goo.gle/4bdxyT4 The Wasm polyfill prototype → https://goo.gle/4bdiPHF The PLDI 2017 paper → https://goo.gle/4cvJpg7 A WebAssembly milestone → https://goo.gle/4bcK455 V8's Wasm announcement → https://goo.gle/3VHIanw Edge's Wasm announcement → https://goo.gle/4cbbEAX The WebAssembly browser preview → https://goo.gle/4c912mk The magic number and the version field → https://goo.gle/45D4hjj The WebAssembly post-MVP future blog pos → https://goo.gle/45zcapQ WebAssembly performance patterns →https://goo.gle/4ce8qwE API Concerns with Structured Clone for Wasm Modules → https://goo.gle/3XCXZOH Formal description of serializing and deserializing a Module → https://goo.gle/4bdNowH Don't allow IndexedDB serialization of WebAssembly.Module → https://goo.gle/4bj8OZo Normative: Support [Serializable] for WebAssembly.Module → https://goo.gle/3z9Wjlv Cache support → https://goo.gle/3zd7pX7 WebAssembly developers → https://goo.gle/4cd9v7Q WebAssembly — Caching to HTML5 IndexedDB → https://goo.gle/4c9KlqB The Lucet → https://goo.gle/4evkwTF The Lucet and Wasmtime teams join forces → https://goo.gle/45IbsH1 Fastly hires entire Wasmtime team from Mozilla → https://goo.gle/3VD6Yg6 What is WebAssembly? → https://goo.gle/3xtnGGK Lucet Takes WebAssembly Beyond the Browser → https://goo.gle/4b9akxi Wasmtime—A fast and secure runtime for WebAssembly → https://goo.gle/3xiVpTr How Lucet and Wasmtime make a stronger compiler, together → https://goo.gle/3RCtULo WASI 0.2: Unlocking WebAssembly's Promise Outside the Browser → https://goo.gle/4eMwyID WASI 0.2 Launched → https://goo.gle/3z8qA4a WebAssembly System Interface → https://goo.gle/4cxRGjA WASI proposals → https://goo.gle/3VD7xXg WASI HTTP → https://goo.gle/3VAiJ75 The wit format → https://goo.gle/3VxVHO9 What color is your function? → https://goo.gle/3KSVG2n A stream of consciousness on the future of async in the Component Model → https://goo.gle/3XxJdIY Revolutions podcast → https://goo.gle/3xgPdve Luke Wagner on GitHub → https://goo.gle/3VyqgmP Luke Wagner on X → https://goo.gle/3KWz40U #WebAssembly #Wasm #WASI Speaker: Thomas Steiner

May 23, 2024 • 60min
CG, WG, W3C, Deepti—Wasm standardization with Deepti Gandluri - WasmAssembly
In this episode, Tom interviews Deepti Gandluri, the Chair of the WebAssembly Community Group at the W3C. You will hear about the difference between the W3C WebAssembly Community Group and Working Group, how Wasm is standardized, how Deepti got into WebAssembly, and the challenges the WebAssembly team at Google faces being part of the Chrome team. Deepti also discusses her favorite Wasm features, how the Community Group might react to a browser-specific proposal, how WASI might work given browser security constraints, and new Wasm features she's excited about in the context of AI. Resources: Episode 1 with Alon Zakai → https://goo.gle/4bpFxwV Deepti, Chair of the Community Group: → https://goo.gle/3yBtjmm Deepti, member of the Working Group → https://goo.gle/3K8NKJU WebAssembly Summit opening keynote → https://goo.gle/3WVyQP7 WebAssembly Community Group → https://goo.gle/3KaOrCM WebAssembly Working Group → https://goo.gle/3VbI48B WebAssembly W3C Process GitHub → https://goo.gle/3Kd5p3a TC39 process document → https://goo.gle/4bL3fno File System Access API → https://goo.gle/3UT5uOE Web Serial API → https://goo.gle/3WP92nq V8 Wasm source code in Chromium → https://goo.gle/4bNiUTa WebAssembly active proposals → https://goo.gle/44TBd72 WebAssembly inactive proposals → https://goo.gle/4btU6je Wasm feature detection proposal → https://goo.gle/3K9E95B JavaScript promise integration proposal → https://goo.gle/3yxfkOM JavaScript promise integration origin trial proposal → https://goo.gle/4aA8Mff WasmGC proposal → https://goo.gle/4asI6gI WasmGC → https://goo.gle/3WR7GZw WASI file system → https://goo.gle/3ylByD1 Stringref proposal → https://goo.gle/4awO68b Built-in Strings proposal → https://goo.gle/3wJ6Fbg Deepti's Google I/O talk → https://goo.gle/4boQOOk Relaxed SIMD proposal → https://goo.gle/4bNATss Half precision (FP16) proposal → https://goo.gle/3wA9rjd Memory64 proposal → https://goo.gle/3wA9rjd

Apr 25, 2024 • 41min
From asm.js to Wasm with Emscripten creator Alon Zakai - WasmAssembly
Learn about some early WebAssembly history from one of the co-creators of Wasm, Alon Zakai! Follow along how Alon explains how we came from Native Client to asm.js and then finally to WebAssembly, and explore some interesting historical and present day sidetracks on the way. Resources: Alon Zakai: Homepage → https://goo.gle/3vVaHgi / (has links to all the social profiles, too) LinkedIn profile → https://goo.gle/4cZDqRS Native Client (NaCl) → https://goo.gle/3Q8oAi5 Portable NaCl (PNaCL) → https://goo.gle/4413xDK Compiling LLVM to JavaScript → https://goo.gle/4ay5Qke BananaBread demo → https://goo.gle/3xCWCEO asm.js → https://goo.gle/3Q5m10n asm.js presentation → https://goo.gle/445cz2F asm.js blog posts → https://goo.gle/3U4ZcuZ Emscripten and WebAssembly presentation → https://goo.gle/3W0SAQE Bringing the Web up to speed with WebAssembly paper → https://goo.gle/3JoDq0k Polywasm → https://goo.gle/4aE9JnV Qt apps compiled to asm.js → https://goo.gle/3UmXm9O Quake 3 Arena compiled to WebAssembly → https://goo.gle/3Ukt9s1


