mastodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance, open to everyone, but mainly English and French speaking.

Administered by:

Server stats:

750
active users

#wasm

11 posts8 participants2 posts today

#WASM 3.0 is complete, bundling up features that have been baking for years like GC, exceptions, and multiple memories. Doesn't mean compiling from C/C++ is any less of a PITA (except now maybe C++ exceptions will work) but should make it easier for other languages to target WASM.

webassembly.org/news/2025-09-1

webassembly.orgWasm 3.0 Completed - WebAssemblyWebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.

#Rust Maps more directly to #wasm, (less indirection) has strong, ergonomic interop via wasm-bindgen, JS value conversion, and tooling that auto-generates bindings. Good support for passing typed arrays, closures, and returning JS Promises.
#GHC: interop exists but is more awkward because Haskell values are boxed and require marshaling through the RTS. Tooling and auto-binding generators are less developed

Also due to its ownership model for memory it generates smaller binaries, besides nearly no runtime

#PSA Since I've just been asked again if I could use more topic-specific accounts and not mix my photography with other topics — Unfortunately, nope! I'm on a single user managed instance and cannot create new accounts on this server nor do I want to create an account for every single topic I'm interested in or posting about. However, you can filter my posts by hashtags, which I'm trying to use consistently (also for my own purposes)...

Hashtags can be browsed individually, subscribed to (via Mastodon) or even syndicated via RSS, e.g.

Browse:
mastodon.thi.ng/@toxi/tagged/L

RSS:
mastodon.thi.ng/@toxi/tagged/L

My most commonly used tags are:

Photography:
#LandscapePhotography #NaturePhotography #NoirCountry (my B&W photos) #POV #Hiking

Open source projects:
#ThingUmbrella #ZigThing #GenArtAPI #TypeScript #Ziglang #WASM #WebAssembly #Forth #OpenSource #ProgLang

Art:
#Art #GenerativeArt #AlgorithmicArt #ProceduralArt #KineticArt #Exhibition

Music:
#Music4Coding

AI relatated:
#AI #LLM

Education/research:
#Edu #Research

Hope that helps!

Mastodon Glitch EditionKarsten Schmidt (@toxi@mastodon.thi.ng)1.71K Posts, 776 Following, 3.23K Followers · Intoxicating, non-toxic! 25+ years of interdisciplinary open source R&D, custom software dev, computational art/design/edu, landscape photography, electronic music. See pinned toots for more info! Except boosts/linked content, all published media is my own work & copyright by me. Most posts delete after 3 months. Available for consulting/commissions. Searchable. he/him #ThingUmbrella #TypeScript #Zig #WASM #Forth #GLSL #Houdini #Geometry #GenerativeArt #CellularAutomata #PermaComputing #DSP #Synth #Music4Coding #LandscapePhotography #Hiking #Nature

Hey #Energy nerds, we've retired our @datasette deployment (which was falling over with the volume of data we publish) and are re-using the domain for our new @duckdb + #Parquet + #WASM based data preview interface. Check it out and let us know if anything is broken:

data.catalyst.coop

data.catalyst.coopCatalyst Cooperative Data Portal: pudl, ferc1_dbf, ferc1_xbrl, ferc2_dbf, ferc2_xbrl, ferc60_dbf, ferc60_xbrl, ferc6_dbf, ferc6_xbrl, ferc714_xbrl, censusdp1tract

Yesterday I released new versions of 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 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:
ziglang.org/download/0.15.1/re

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 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] github.com/thi-ng/umbrella/tre (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] github.com/thi-ng/umbrella/tre

thi.ng/wasm-apiGeneric, modular, extensible API bridge and infrastructure for hybrid JS & WebAssembly projects