home.social

#wasi — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #wasi, aggregated by home.social.

  1. "The primary selling point of #Wasm is its sandbox. It is marketed as “safe by design,” isolated from the host environment by a strictly controlled interface ( #WASI ) and a shared-nothing memory model. However, as the complexity of backend runtimes increases, a sophisticated new attack surface is emerging."

    medium.com/@instatunnel/the-wa

  2. Breaking news : the Kotlin/Wasm team has just shared the very first incarnation of their server-side wasi-http support based on the Wasm Component Model. github.com/Kotlin/sample-wasi-

    #wasm #webassembly #wasi #kotlin

  3. Based on github.com/pydantic/monty?tab= , if I can make #Python under #WASI a winner if I make start-up faster via github.com/bytecodealliance/wa , get more 3rd-party C libraries working (e.g. zlib), and make it easy to slim down the file size.

  4. #WASM / #WASI based #plugin architectures vs #AGPL?

    I assume this is valid, but #IANAL and unsure if it is indeed the case:

    - If the core system is AGPL-licensed and integrates a Wasm WASI runtime.
    - Then 3rd-party WASI Components can have different licenses.
    - Esp. when they are downloaded and installed at run-time.

    OTOH perhaps not.. and it depends on who designed the #WIT #RPC interface, and what its #license is.

    #Socialcoding topic (2024, all fedi links rotted)..

    discuss.coding.social/t/sx-lic

  5. #WASM / #WASI based #plugin architectures vs #AGPL?

    I assume this is valid, but #IANAL and unsure if it is indeed the case:

    - If the core system is AGPL-licensed and integrates a Wasm WASI runtime.
    - Then 3rd-party WASI Components can have different licenses.
    - Esp. when they are downloaded and installed at run-time.

    OTOH perhaps not.. and it depends on who designed the #WIT #RPC interface, and what its #license is.

    #Socialcoding topic (2024, all fedi links rotted)..

    discuss.coding.social/t/sx-lic

  6. #WASM / #WASI based #plugin architectures vs #AGPL?

    I assume this is valid, but #IANAL and unsure if it is indeed the case:

    - If the core system is AGPL-licensed and integrates a Wasm WASI runtime.
    - Then 3rd-party WASI Components can have different licenses.
    - Esp. when they are downloaded and installed at run-time.

    OTOH perhaps not.. and it depends on who designed the #WIT #RPC interface, and what its #license is.

    #Socialcoding topic (2024, all fedi links rotted)..

    discuss.coding.social/t/sx-lic

  7. #WASM / #WASI based #plugin architectures vs #AGPL?

    I assume this is valid, but #IANAL and unsure if it is indeed the case:

    - If the core system is AGPL-licensed and integrates a Wasm WASI runtime.
    - Then 3rd-party WASI Components can have different licenses.
    - Esp. when they are downloaded and installed at run-time.

    OTOH perhaps not.. and it depends on who designed the #WIT #RPC interface, and what its #license is.

    #Socialcoding topic (2024, all fedi links rotted)..

    discuss.coding.social/t/sx-lic

  8. #WASM / #WASI based #plugin architectures vs #AGPL?

    I assume this is valid, but #IANAL and unsure if it is indeed the case:

    - If the core system is AGPL-licensed and integrates a Wasm WASI runtime.
    - Then 3rd-party WASI Components can have different licenses.
    - Esp. when they are downloaded and installed at run-time.

    OTOH perhaps not.. and it depends on who designed the #WIT #RPC interface, and what its #license is.

    #Socialcoding topic (2024, all fedi links rotted)..

    discuss.coding.social/t/sx-lic

  9. What about plugins in GitRoot? They are essential. Without them, you just have #Git repositories; with them, you get a full-featured #forge.

    Currently, plugins are #wasm binaries following the #wasi specification. They can read/write to your Git repository and web space (files in a directory).

    They are triggered on every push diff, depending on your `.gitroot/plugins.yml` configuration. More on plugin rights: https://gitroot.dev/doc/how-tos/plugin_rights.html

    1/3

  10. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  11. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  12. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  13. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  14. It's going to get a lot easier to run #Lisien in the browser with the next release. It won't be the most performant way to do it, probably, and for the time being you'll need to use XML dumps of the database for persistence, though I've heard of ways to avoid that.

    #Python #WASI lazyweb: is there a good, pure Python library I could use to store cookies? I guess I could compile SQLite in, if I have to, but it seems like needless overhead.

  15. Today, GitRoot plugins can be written in Golang thanks to @TinyGo and in TypeScript thanks to https://www.assemblyscript.org/

    Guess what the next SDK plugin will be made of.

    #golang #tinygo #typescript #assemblyscript #wasm #wasi

  16. It's all still experimental and not super tightly sandbox secure yet, but #WASI support in Node.js is very much a thing: nodejs.org/api/wasi.html. #TIL 🤯 #Wasm #WebAssembly

  17. I didn't realize you could mix `import` and `require()` in Node.js now, I always thought it was either ESM or not, but you can mix: nodesource.com/blog/nodejs-22-.

    ```js
    import { createRequire } from 'module';
    const require = createRequire(import.meta.url);
    const pkg = require('./package.json');
    ```

    I likewise had no idea #WASI (that is, #WebAssembly System Interface) was a thing in Node.js. Need to investigate more…

  18. When I use cargo component new to build a CLI component for Rust/Wasm/Wit, the cargo component build step will automatically translate a main function to .e.g. wasi:cli/run or println! statements to the according stream functions from the wasi world. With wasm-tools component wit I can even inspect a generated with world, though none was supplied. I would llike to know more about the magic involved. Is that documented somewhere, is this something carfgo component does, or is it coming from wit-bindgen? Any help or pointers appreciated.

    #rust #wasm #wit #wasi #wasip2 #cargo #componentmodel

  19. I like the bootstrapping process of the #zig compiler. I'm doing a similar job with #serene's bootstrapping, too. The only difference is that I'm not going to create the #wasi interpreter myself. I'm going to utilize a small runtime like #wamr. Just include the interpreter source code in the repo, and build it with the host's C compiler, and use it to run the bootstrap compiler which is committed to the source tree in Wasm32 format, and use that to compile the self-hosted version of #serene.

  20. I like the bootstrapping process of the #zig compiler. I'm doing a similar job with #serene's bootstrapping, too. The only difference is that I'm not going to create the #wasi interpreter myself. I'm going to utilize a small runtime like #wamr. Just include the interpreter source code in the repo, and build it with the host's C compiler, and use it to run the bootstrap compiler which is committed to the source tree in Wasm32 format, and use that to compile the self-hosted version of #serene.

  21. I like the bootstrapping process of the #zig compiler. I'm doing a similar job with #serene's bootstrapping, too. The only difference is that I'm not going to create the #wasi interpreter myself. I'm going to utilize a small runtime like #wamr. Just include the interpreter source code in the repo, and build it with the host's C compiler, and use it to run the bootstrap compiler which is committed to the source tree in Wasm32 format, and use that to compile the self-hosted version of #serene.

  22. I like the bootstrapping process of the #zig compiler. I'm doing a similar job with #serene's bootstrapping, too. The only difference is that I'm not going to create the #wasi interpreter myself. I'm going to utilize a small runtime like #wamr. Just include the interpreter source code in the repo, and build it with the host's C compiler, and use it to run the bootstrap compiler which is committed to the source tree in Wasm32 format, and use that to compile the self-hosted version of #serene.

  23. I like the bootstrapping process of the #zig compiler. I'm doing a similar job with #serene's bootstrapping, too. The only difference is that I'm not going to create the #wasi interpreter myself. I'm going to utilize a small runtime like #wamr. Just include the interpreter source code in the repo, and build it with the host's C compiler, and use it to run the bootstrap compiler which is committed to the source tree in Wasm32 format, and use that to compile the self-hosted version of #serene.

  24. My yearly look at WASI support in .NET

    TL;DR WASI support not back in .NET 10

    henrikrxn.github.io/blog/Wasi-

    #dotnet #wasi

  25. Statically linking WASM with a unikernel - neat! The syscalls don't need translation like a regular VM but you still get VM-like kernel isolation.

    youtube.com/watch?v=fV_SDqzRAG

    #WASM #WASI

  26. Have you seen this absolute crazy demo?

    youtube.com/watch?v=kGBeT8lwbo

    plan9-like OS, accessed via a shell, from a wasm binary that allows to change the webpage DOM dynamically with the VFS and run processes in the background as well.

    #golang #plan9 #wasm #wasi #unix #linux

  27. 🤔 hmm, now what does this remind me of:

    "By standardizing APIs for #WebAssembly, #WASI provides a way to compose software written in different languages—without costly and clunky interface systems like HTTP-based microservices." (wasi.dev)

    Oh yeah, here it is:

    "The Infinite Improbability Drive was a wonderful new method of crossing interstellar distances in a mere nothingth of a second, without tedious mucking about in hyperspace"...

    and:

    ..."The Bistromathic Drive is a wonderful new method of crossing vast interstellar distances without all the dangerous mucking about with Improbability Factors."

    (and you thought I was gonna mention #Java and Jini!)

    (h/t to Douglas Adams for his enduring insight into human behavior, and the #wasm / #wasi folks for doing god's work!)

  28. This week I'll be at So.Cal Linux Expo (SCaLE 22x) in L.A. for the first time in years!

    Tomorrow, at large.

    Friday-Sunday, at the TinyGo booth, Hall B-230. Just look for the LEDs...

    See you there!

    socallinuxexpo.org/scale/22x

    #scale22x #tinygo #golang #wasm #wasi #embedded #opensource

  29. We released @TinyGo 0.36 yesterday with so many improvements for WASM/WASI & oh yeah, Go 1.24 support too!

    Thank you to the awesome community of human beings who work together across the entire planet to collaborate on this project. You are appreciated!

    #golang #tinygo #wasm #wasi #embedded

  30. 🦫 Go 1.24 boosts WebAssembly with go:wasmexport! Export Go functions to Wasm & build WASI reactors with ease. Can’t wait to see what the community builds! ⚡🔧

    #GoLang #Wasm #WebAssembly #WASI #Programming #SoftwareDevelopment #OpenSource #DevCommunity #TechInnovation #Coding #WebDev #WasmReactor #GoDevelopers

  31. 🦫 Go 1.24 boosts WebAssembly with go:wasmexport! Export Go functions to Wasm & build WASI reactors with ease. Can’t wait to see what the community builds! ⚡🔧

    #GoLang #Wasm #WebAssembly #WASI #Programming #SoftwareDevelopment #OpenSource #DevCommunity #TechInnovation #Coding #WebDev #WasmReactor #GoDevelopers

  32. 🦫 Go 1.24 boosts WebAssembly with go:wasmexport! Export Go functions to Wasm & build WASI reactors with ease. Can’t wait to see what the community builds! ⚡🔧

    #GoLang #Wasm #WebAssembly #WASI #Programming #SoftwareDevelopment #OpenSource #DevCommunity #TechInnovation #Coding #WebDev #WasmReactor #GoDevelopers

  33. 🦫 Go 1.24 boosts WebAssembly with go:wasmexport! Export Go functions to Wasm & build WASI reactors with ease. Can’t wait to see what the community builds! ⚡🔧

    #GoLang #Wasm #WebAssembly #WASI #Programming #SoftwareDevelopment #OpenSource #DevCommunity #TechInnovation #Coding #WebDev #WasmReactor #GoDevelopers

  34. 🦫 Go 1.24 boosts WebAssembly with go:wasmexport! Export Go functions to Wasm & build WASI reactors with ease. Can’t wait to see what the community builds! ⚡🔧

    #GoLang #Wasm #WebAssembly #WASI #Programming #SoftwareDevelopment #OpenSource #DevCommunity #TechInnovation #Coding #WebDev #WasmReactor #GoDevelopers

  35. Slides from my talk "WebAssembly, Extend Anything with Everything, Everywhere! " at are online. gamma.app/docs/Extism-Make-all

    Showed how to extend with an / markdown middleware plugin, generating html at 3k req/s. Kudos to @dunglas, FrankenPHP rocks!

  36. Why is handling an #OS #Signal so hard in #WebAssembly ? - #WASI has a work around for us, but does it actually work?

    I'm not sure - #WAMR #Wasmtime and #WASM3 might all need the new #StackSwitching proposal which was pushed to stage 2 in the #W3C today.

    Check out the code samples here - withbighair.com/webassembly/20

  37. Why is handling an #OS #Signal so hard in #WebAssembly ? - #WASI has a work around for us, but does it actually work?

    I'm not sure - #WAMR #Wasmtime and #WASM3 might all need the new #StackSwitching proposal which was pushed to stage 2 in the #W3C today.

    Check out the code samples here - withbighair.com/webassembly/20

  38. Why is handling an #OS #Signal so hard in #WebAssembly ? - #WASI has a work around for us, but does it actually work?

    I'm not sure - #WAMR #Wasmtime and #WASM3 might all need the new #StackSwitching proposal which was pushed to stage 2 in the #W3C today.

    Check out the code samples here - withbighair.com/webassembly/20

  39. Why is handling an #OS #Signal so hard in #WebAssembly ? - #WASI has a work around for us, but does it actually work?

    I'm not sure - #WAMR #Wasmtime and #WASM3 might all need the new #StackSwitching proposal which was pushed to stage 2 in the #W3C today.

    Check out the code samples here - withbighair.com/webassembly/20

  40. Hearing from Rajiv Ranjan Singh and Achille Roussel at @wasm_io on "Empowering Go with WebAssembly System Interface (WASI) Unleashed" with lots of love for @TinyGolang <3
    #wasmio24 #wasm #wasi

  41. I am officially #lookingforwork to continue and expand my work with #WebAssembly.

    With #WASI 0.2.0 now officially launched, now is a great time to invest in the Component Model and I can help!

    I'm actively engaged in the Component-Model standards process and am giving a talk in two weeks at Wasm IO! #wasmio

    2024.wasmio.tech/sessions/claw

  42. The Future of #dotnet... EVERYWHERE!! My mind is blown 🤯 with #wasi experimental support in .NET 8 allowing you to run #wasm OUTSIDE of the browser with #wasmtime!!!

    If this sounds 🤯🤯🤯 then you got to checkout my video on it: youtube.com/watch?v=04YxaxeNkL

  43. @deadprogram thanks for opening the issue for me on #wazero GitHub 🙏🏽I feel stupid not doing it myself in the first place 😬

    Btw I was able to resolve syscall part in some changes to wazero (moving freebds part to own file) and some socket parts, but now it fails on sockets for unidentified net.TCPListners. Still can't understand why it can't compile those if I can import in my app, a lot to learn on how compilers and #tinygo / #go internals are working 🥹

    #wasi #wasm #webassemby

  44. @deadprogram thanks for opening the issue for me on #wazero GitHub 🙏🏽I feel stupid not doing it myself in the first place 😬

    Btw I was able to resolve syscall part in some changes to wazero (moving freebds part to own file) and some socket parts, but now it fails on sockets for unidentified net.TCPListners. Still can't understand why it can't compile those if I can import in my app, a lot to learn on how compilers and #tinygo / #go internals are working 🥹

    #wasi #wasm #webassemby

  45. @deadprogram thanks for opening the issue for me on GitHub 🙏🏽I feel stupid not doing it myself in the first place 😬

    Btw I was able to resolve syscall part in some changes to wazero (moving freebds part to own file) and some socket parts, but now it fails on sockets for unidentified net.TCPListners. Still can't understand why it can't compile those if I can import in my app, a lot to learn on how compilers and / internals are working 🥹

  46. @deadprogram thanks for opening the issue for me on #wazero GitHub 🙏🏽I feel stupid not doing it myself in the first place 😬

    Btw I was able to resolve syscall part in some changes to wazero (moving freebds part to own file) and some socket parts, but now it fails on sockets for unidentified net.TCPListners. Still can't understand why it can't compile those if I can import in my app, a lot to learn on how compilers and #tinygo / #go internals are working 🥹

    #wasi #wasm #webassemby