photog.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for your photos and banter. Photog first is our motto Please refer to the site rules before posting.

Administered by:

Server stats:

257
active users

#wasm

3 posts3 participants0 posts today

This is may really be just news to me, but today I learned that @dubroy's and @marianoguerra's book "WebAssembly from the Ground Up" has actually been available for a while and the topics look super interesting...

wasmgroundup.com/

Top level topics (quoting from their website):

- What exactly WebAssembly is, and what makes it unique.
- How to instantiate a WebAssembly module in JavaScript and run its functions.
- The binary module format, and how to hand craft a module from scratch.
- How to create a simple compiler with Ohm.
- The instruction set: numeric instructions, memory access, control flow, etc.
- How to interact with the outside world.
- The WebAssembly security model: what makes it safe?

(Ps. If you're looking to combine this new knowledge and are interested in building hybrid JS/TS/WASM apps, also check out my extensible thi.ng/wasm-api toolchain...)

WebAssembly from the Ground UpWebAssembly from the Ground UpA book about WebAssembly — learn Wasm by building a simple compiler in JavaScript.

I really enjoyed this talk by @unsafe! Been following k23, a WebAssembly OS for a bit now and thought the exact same thing as Jonas when hearing about the component model.

The things that intrigued me the most though were the JIT compiler as part of the OS (under memory pressure? Optimize for that!) and the way it tries to sidestep the issue of message passing overhead with microkernels.

youtu.be/LraPUAV-fOo?feature=s

Ok, so I’m now a few months into building a custom (almost from scratch) #Lua implementation for @silverbulletmd dubbed #SpaceLua (for reasons).

A few things that panned out really well, and a few surprises that I did not anticipate:

0. General recommendation: don’t do this. Don’t just implement a full programming language because you think it’s a good idea. I also told this myself. It didn’t work. It was a “I’ve don’t this stuff before, I can do it again” type of deal. I was mostly right. But don’t do this.

1. Initially I opted for a custom interpreter (implemented in TypeScript) because I wanted to expose asynchronous (promise based) JS APIs to Lua, and I didn’t see how to do that nicely with a #Wasm-compiled version of the official Lua interpreter. Also I felt that having full control of the running system would turn out to be valuable down the line (I was right on this one).

2. I got the parser part mostly free. I found an existing Lua grammar for the Lezer parser library that #SilverBullet uses. Had to add a few things and had some struggles. This part was pretty seamless with a few glitches here and there.

3. Implementing the core interpreter runtime was actually quite easy. Lua is a mostly simple and small language. Again, I’ve done this before so that helped. Writing good test suites makes this doable and AI helped a lot generating those test suites (because it knows Lua).

4. What I didn’t anticipate is the pain in implementing the full Lua API, especially the `string.*` one which has its own pattern matching language (similar but distinct from regular expressions), which honestly I could do without. But it’s there, and people want to use it, so I need a full implementation. Issues keep coming up, though.

📢 New #WasmAssembly podcast 🎙️ episode is up: Enabling in-browser scientific computing with #Wasm: David Kircos of Quadratic.

🍿 youtube.com/watch?v=TTUaZXl0X4
🎧 wasmassembly.libsyn.com/enabli

We discussed how Quadratic's spreadsheet uses #WebAssembly to enable scientific computing directly in the browser with tools like Pyodide, pandas, and numpy. The conversation also covers practical challenges such as bundling large-scale Wasm applications, exploring browser limitations, and Quadratic's integration of AI.

wasmVision 0.4 is out & our biggest release yet!

- 21 vision models - face detection+object tracking+more
- Save to data stores BoltDB/Redis/NATS
- New website w/ docs+tutorial to get started

Go take a look right now!

wasmvision.com

wasmVisionwasmVision Home wasmVision Get going with computer vision Get Started See the code wasmVision is a high-performance computer vision processing engine that includes advanced algorithms and vision models for machine learning.

🦾 wgpu: A cross-platform, safe, pure-Rust graphics API.

「 wgpu is a cross-platform, safe, pure-rust graphics API. It runs natively on Vulkan, Metal, D3D12, and OpenGL; and on top of WebGL2 and WebGPU on wasm.

The API is based on the WebGPU standard. It serves as the core of the WebGPU integration in Firefox, Servo, and Deno 」

github.com/gfx-rs/wgpu

GitHubGitHub - gfx-rs/wgpu: A cross-platform, safe, pure-Rust graphics API.A cross-platform, safe, pure-Rust graphics API. Contribute to gfx-rs/wgpu development by creating an account on GitHub.
#wgpu#rust#webgl2