Discussion
Loading...

#Tag

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
pvergain (framapiaf) boosted
M. H. Neifer
@mhneifer@mastodon.social  ·  activity timestamp last week

wasmer now has full Python support in Wasmer Edge (Beta).

https://wasmer.io/posts/python-on-the-edge-powered-by-webassembly

#wasmer #webassembly #python

  • Copy link
  • Flag this post
  • Block
Jan :rust: :ferris: boosted
Martin Geisler
@mgeisler@ohai.social  ·  activity timestamp 2 days ago

@Rin3d @protonprivacy We use it as the cross-platform foundation for our apps (and I'm told the backend and storage teams are also looking into using Rust).

So basically, we write our business logic in Rust and compile it to #WebAssembly ( #Wasm) for the web, and to a shared object for loading into #Kotlin for #Android and a static library for use in #Swift for #iOS. We also have #Windows desktop clients to eventually support.

It's basically the age-old dream of write once, run everywhere 😄

  • Copy link
  • Flag this post
  • Block
Martin Geisler
@mgeisler@ohai.social  ·  activity timestamp 2 days ago

@Rin3d @protonprivacy We use it as the cross-platform foundation for our apps (and I'm told the backend and storage teams are also looking into using Rust).

So basically, we write our business logic in Rust and compile it to #WebAssembly ( #Wasm) for the web, and to a shared object for loading into #Kotlin for #Android and a static library for use in #Swift for #iOS. We also have #Windows desktop clients to eventually support.

It's basically the age-old dream of write once, run everywhere 😄

  • Copy link
  • Flag this post
  • Block
Hacker News
@h4ckernews@mastodon.social  ·  activity timestamp 2 days ago

SpiderMonkey Garbage Collector

https://firefox-source-docs.mozilla.org/js/gc.html

#HackerNews #SpiderMonkey #Garbage #Collector #Mozilla #JavaScript #Development #WebAssembly #Performance

SpiderMonkey garbage collector — Firefox Source Docs documentation

  • Copy link
  • Flag this post
  • Block
Hacker News
@h4ckernews@mastodon.social  ·  activity timestamp 2 days ago

Wacl – A Tcl Distribution for WebAssembly

https://github.com/ecky-l/wacl

#HackerNews #Wacl #Tcl #WebAssembly #Distribution #Programming #Innovation

GitHub

GitHub - ecky-l/wacl: A Tcl distibution for WebAssembly or Javascript

A Tcl distibution for WebAssembly or Javascript. Contribute to ecky-l/wacl development by creating an account on GitHub.
  • Copy link
  • Flag this post
  • Block
M. H. Neifer
@mhneifer@mastodon.social  ·  activity timestamp last week

wasmer now has full Python support in Wasmer Edge (Beta).

https://wasmer.io/posts/python-on-the-edge-powered-by-webassembly

#wasmer #webassembly #python

  • Copy link
  • Flag this post
  • Block
jbz
@jbz@indieweb.social  ·  activity timestamp 2 weeks ago

The new WASM 3 release is huge for web devs... / Awesome

https://youtube.com/watch?v=O8uazkirvVo

#wasm #webassembly #wasm3

  • Copy link
  • Flag this post
  • Block
just small circles 🕊 boosted
Thomas Steiner :chrome:
@tomayac@toot.cafe  ·  activity timestamp 2 weeks ago

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

WebAssembly System Interface (WASI) | Node.js v25.0.0 Documentation

  • Copy link
  • Flag this post
  • Block
Thomas Steiner :chrome:
@tomayac@toot.cafe  ·  activity timestamp 2 weeks ago

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

WebAssembly System Interface (WASI) | Node.js v25.0.0 Documentation

  • Copy link
  • Flag this post
  • Block
Thomas Steiner :chrome:
@tomayac@toot.cafe  ·  activity timestamp 2 weeks ago

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: https://nodesource.com/blog/nodejs-22-features.

```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…

The NodeSource Blog - Node.js Tutorials, Guides, and Updates

Node.js 22 Features You Should Be Using

If your application isn't running on the new LTS, here are the production-ready features you're missing out on, and why you should prioritize the upgrade.
  • Copy link
  • Flag this post
  • Block
just small circles 🕊 boosted
Blabla Linux
@blablalinux@mastodon.blablalinux.be  ·  activity timestamp 3 weeks ago

💚 Open Source & Gratuit : Pour toujours ! Une solution éthique, créée avec Svelte et TypeScript.

En gros, c'est le convertisseur de fichiers de nouvelle génération, rapide et qui respecte votre vie privée. Un vrai petit génie du web !

➡️ Lien du projet (Star/Fork) : https://github.com/VERT-sh/VERT
➡️ Pour tester : https://vert.sh OU https://vert.blablalinux.be

#VERT #Conversion #WebAssembly #OpenSource #Tech #Privacy

  • Copy link
  • Flag this post
  • Block
Blabla Linux
@blablalinux@mastodon.blablalinux.be  ·  activity timestamp 3 weeks ago

💚 Open Source & Gratuit : Pour toujours ! Une solution éthique, créée avec Svelte et TypeScript.

En gros, c'est le convertisseur de fichiers de nouvelle génération, rapide et qui respecte votre vie privée. Un vrai petit génie du web !

➡️ Lien du projet (Star/Fork) : https://github.com/VERT-sh/VERT
➡️ Pour tester : https://vert.sh OU https://vert.blablalinux.be

#VERT #Conversion #WebAssembly #OpenSource #Tech #Privacy

  • Copy link
  • Flag this post
  • Block
just small circles 🕊 boosted
Orhun Parmaksız 👾
@orhun@fosstodon.org  ·  activity timestamp 4 weeks ago

This is a website.
Entirely written in Rust.
Built with Ratzilla ( @ratatui_rs + WebAssembly)
Same code runs in the terminal.
The future is bright.

https://gluesql.org/glues

#rustlang #ratatui #tui #webassembly

Glues Web

Your browser does not support the video tag.
  • Copy link
  • Flag this post
  • Block
Orhun Parmaksız 👾
@orhun@fosstodon.org  ·  activity timestamp 4 weeks ago

This is a website.
Entirely written in Rust.
Built with Ratzilla ( @ratatui_rs + WebAssembly)
Same code runs in the terminal.
The future is bright.

https://gluesql.org/glues

#rustlang #ratatui #tui #webassembly

Glues Web

Your browser does not support the video tag.
  • Copy link
  • Flag this post
  • Block
The Doctor
@drwho@masto.hackers.town  ·  activity timestamp 4 weeks ago

I wonder if anybody's writing #WebAssembly by hand yet. meowthinking

  • Copy link
  • Flag this post
  • Block
Karsten Schmidt
@toxi@mastodon.thi.ng  ·  activity timestamp 2 months ago

After almost a week of refactoring and experimenting with several different approaches, I've updated my Zig nD SIMD vector library to be compatible with the latest Zig 0.15.1, and at the same time cleaned up some internals.

The solution I settled on is a mix of techniques proposed by others, and was needed due to the removal of the struct/namespace-merging syntax in the new Zig version, which this library heavily relies on. I don't like that the new source code is now more than 2x larger and involves a huge amount of duplication to address the many special cases of supported operations for different vector sizes and types. I might still take another pass to eliminate those (by using @compileError() for unsupported cases), but that'd be an implementation detail downstream users don't have to care about. I tried AOT code generation as well, but the special case handling made this feel less maintainable...

UPDATE: The only breaking change is the handling of vector swizzles. I had to remove the hundreds of named swizzle functions and replaced them with a single (comptime optimized) .swizzle(vec, pattern), e.g. .swizzle(vec, "xxyy")...

If you're interested, the new code is here:
https://github.com/thi-ng/zig-thing/blob/main/src/vectors.zig

The readme contains details about the many supported operations:
https://github.com/thi-ng/zig-thing/blob/main/doc/vectors.md

Installation instructions in the main repo readme:
https://github.com/thi-ng/zig-thing/tree/main

#Zig#Ziglang#ZigThing#Vectors#Refactoring

Karsten Schmidt
@toxi@mastodon.thi.ng replied  ·  activity timestamp 2 months ago

Btw. It's amazing that this swizzle function gets compiled into single WASM i8x16.shuffle ops (per 4 vector components, i.e. swizzling into an 8-dimensional vector would require 2 shuffles):

https://github.com/thi-ng/zig-thing/blob/ab8566baf6f413abc29ca9ced222189bdb1f455e/src/vectors.zig#L1287-L1301

#Ziglang#WebAssembly#WASM

  • Copy link
  • Flag this comment
  • Block
Thinking Elixir
@ThinkingElixir@genserver.social  ·  activity timestamp 2 months ago

News includes a new SQL #analytics library called Lotus, plus an interview with Mateusz Front about the Popcorn project enabling Elixir to run in #WebAssembly in the browser! #ElxirLanghttps://www.youtube.com/watch?v=-85KlStS1tc

  • Copy link
  • Flag this post
  • Block
just small circles 🕊 boosted
Karsten Schmidt
@toxi@mastodon.thi.ng  ·  activity timestamp 2 months ago

Yesterday I released new versions of https://thi.ng/wasm-api (and its add-on packages), a modular and extensible bridge API & toolchain for hybrid JS/TS/Zig/WebAssembly apps, now updated to be compatible with the latest Zig version 0.15.1...

The update addresses some of Zig's breaking syntax & build system changes only, nothing on the JS/TS side has changed. As a result https://thi.ng/wasm-api-dom has a slightly revised internal structure (also a breaking change, but nothing major & unavoidable). All bundled Zig examples[1] in the repo have been updated too, take a look for reference (if needed).

FYI More details about the Zig language changes here:
https://ziglang.org/download/0.15.1/release-notes.html#Language-Changes

Specifically, the removal of usingnamespace has had a major impact on the existing handling of generated types in these wasm-api support packages (or your own) and now forces an additional level of hierarchy in terms of namespacing. This is because usingnamespace enabled a form of namespace merging, which allowed the generated WASM⭤TS interop types (written to their own sourcefile) to be merged/hoisted into the main library module.

For example, previously after importing const dom = @import("wasm-api-dom"); we could refer to a type via dom.WindowInfo. Now with namespace merging removed, we have to use dom.types.WindowInfo. As I said, it's not a major departure, but a breaking change nonetheless[2]...

The build.zig file bundled with https://thi.ng/wasm-api is now also only compatible with Zig 0.15.1 (for now). Build files for older Zig versions are still included too (in the same directory)[3].

Lastly, once more for the record: The wasm-api bridge itself is NOT tied to Zig (or a particular version), however it's the main use case/language for my own WebAssembly use cases...

[1] https://github.com/thi-ng/umbrella/tree/develop/examples (all examples starting with zig-*)

[2] The existing design of these modules helped to keep these breaking changes to a minimum in userland code and these updates are all following the same uniform pattern (i.e. exposing interop types via modulename.types.TypeName...)

[3] https://github.com/thi-ng/umbrella/tree/develop/packages/wasm-api#using-the-zig-build-system

#ThingUmbrella#Zig#Ziglang#WebAssembly#WASM#TypeScript#JavaScript#Interop

  • Copy link
  • Flag this post
  • Block
Karsten Schmidt
@toxi@mastodon.thi.ng  ·  activity timestamp 2 months ago

Yesterday I released new versions of https://thi.ng/wasm-api (and its add-on packages), a modular and extensible bridge API & toolchain for hybrid JS/TS/Zig/WebAssembly apps, now updated to be compatible with the latest Zig version 0.15.1...

The update addresses some of Zig's breaking syntax & build system changes only, nothing on the JS/TS side has changed. As a result https://thi.ng/wasm-api-dom has a slightly revised internal structure (also a breaking change, but nothing major & unavoidable). All bundled Zig examples[1] in the repo have been updated too, take a look for reference (if needed).

FYI More details about the Zig language changes here:
https://ziglang.org/download/0.15.1/release-notes.html#Language-Changes

Specifically, the removal of usingnamespace has had a major impact on the existing handling of generated types in these wasm-api support packages (or your own) and now forces an additional level of hierarchy in terms of namespacing. This is because usingnamespace enabled a form of namespace merging, which allowed the generated WASM⭤TS interop types (written to their own sourcefile) to be merged/hoisted into the main library module.

For example, previously after importing const dom = @import("wasm-api-dom"); we could refer to a type via dom.WindowInfo. Now with namespace merging removed, we have to use dom.types.WindowInfo. As I said, it's not a major departure, but a breaking change nonetheless[2]...

The build.zig file bundled with https://thi.ng/wasm-api is now also only compatible with Zig 0.15.1 (for now). Build files for older Zig versions are still included too (in the same directory)[3].

Lastly, once more for the record: The wasm-api bridge itself is NOT tied to Zig (or a particular version), however it's the main use case/language for my own WebAssembly use cases...

[1] https://github.com/thi-ng/umbrella/tree/develop/examples (all examples starting with zig-*)

[2] The existing design of these modules helped to keep these breaking changes to a minimum in userland code and these updates are all following the same uniform pattern (i.e. exposing interop types via modulename.types.TypeName...)

[3] https://github.com/thi-ng/umbrella/tree/develop/packages/wasm-api#using-the-zig-build-system

#ThingUmbrella#Zig#Ziglang#WebAssembly#WASM#TypeScript#JavaScript#Interop

  • Copy link
  • Flag this post
  • Block
alcinnz boosted
Daniel Kochmański
@jackdaniel@functional.cafe  ·  activity timestamp 2 months ago

I wrote a blog post that summarizes the current progress on Web Embeddable Common Lisp:

https://turtleware.eu/posts/Using-Common-Lisp-from-inside-the-Browser.html

This work is possible thanks to funding from @nlnet via @NGIZero program.

#lisp #ecl #webassembly

  • Copy link
  • Flag this post
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.0-rc.3.21 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login