Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Doing Terrible Things with ruby.wasm" features Matias Korhonen at the Euruko 2023 conference. The presentation focuses on the use of WebAssembly (wasm) with Ruby, emphasizing its capabilities and challenges. **Key Points:** - **Introduction to the Speaker:** Matias Korhonen introduces himself as a senior developer at The Venue and co-founder of HelsigiRuby in Finland, which promotes Ruby development. - **Understanding WebAssembly (Wasm):** WebAssembly is a low-level assembly-like language that enables near-native performance for languages like C, C++, C#, and Rust on the web. It consists of two file formats: a human-readable text representation and a binary format, .wasm. - **Examples of WebAssembly Applications:** Practical applications of WebAssembly include: - Webercity, a port of Audacity, functioning as an audio editor in the browser. - ffmpeg for video encoding. - Image processing tools using libraries like Photon. - Ruby can also be executed in the browser via the ruby.wasm introduced in Ruby 3.2.0, which supports Wazzy-based WebAssembly. - **Running Ruby with WebAssembly:** Demonstrates basic script setups that allow Ruby code to run in browsers and the interaction between Ruby and JavaScript. - **Limitations of Ruby with WebAssembly:** Current limitations include the absence of threading and networking capabilities in the WebAssembly build of Ruby. - **Exploring Terrible Ideas:** Matias shares his 'terrible ideas' involving: - Using wasm2c from the WebAssembly Binary Toolkit to convert Ruby WebAssembly code back to C, illustrating inefficiencies in size and performance. - Attempting to utilize Deno and Bun for executable creation from WebAssembly but facing compatibility issues. - Finding success with Wasmtime, a runtime for WebAssembly that allows it to run outside the browser, though it results in large binaries and longer execution times. - **Performance Comparison:** The performance of Ruby 3.2 versus its WebAssembly counterpart showcases a significant slow-down when executing algorithms, raising questions about the feasibility of practical applications of this approach. - **Conclusion:** While Matias humorously concludes that his ideas are terrible and not suitable for production, he encourages thinking about the potential of WebAssembly with Ruby, hinting at further exploration in Rust or other efficient implementations.
Suggest modifications
Cancel