Evan Hahn
@EvanHahn@bigshoulders.city
My notes from January 2026: started a new job at Ghost, published a WebAssembly module, set every Vim configuration option, and applauded general strikes. https://evanhahn.com/notes-from-january-2026/
@EvanHahn@bigshoulders.city
My notes from January 2026: started a new job at Ghost, published a WebAssembly module, set every Vim configuration option, and applauded general strikes. https://evanhahn.com/notes-from-january-2026/
@unsafe@m.webtoo.ls
hell yeah! a full day of high performance sandboxing!!
you should get your employer to pay for this one! its going to be great 😁
#wasm #webassembly #rust
https://fosstodon.org/@mainmatter/115939097286288772
@unsafe@m.webtoo.ls
hell yeah! a full day of high performance sandboxing!!
you should get your employer to pay for this one! its going to be great 😁
#wasm #webassembly #rust
https://fosstodon.org/@mainmatter/115939097286288772

@hongminhee@hollo.social
Hongdown 0.2.0 is out! Hongdown is an opinionated #Markdown formatter written in #Rust, and this release brings #WebAssembly support, so you can now use it as a library in #Node.js, #Bun, #Deno, and browsers.
New features:
"straight" → “curly”)Try it in the browser: https://dahlia.github.io/hongdown/
Release notes: https://github.com/dahlia/hongdown/discussions/10

@hongminhee@hollo.social
Hongdown 0.2.0 is out! Hongdown is an opinionated #Markdown formatter written in #Rust, and this release brings #WebAssembly support, so you can now use it as a library in #Node.js, #Bun, #Deno, and browsers.
New features:
"straight" → “curly”)Try it in the browser: https://dahlia.github.io/hongdown/
Release notes: https://github.com/dahlia/hongdown/discussions/10
@elementarycodes@mastodon.social
Fresh out of the oven: ElementaryUI 0.1 — a frontend framework written in Swift, running in the browser via WebAssembly.
@elementarycodes@mastodon.social
Fresh out of the oven: ElementaryUI 0.1 — a frontend framework written in Swift, running in the browser via WebAssembly.
@ThinkingElixir@genserver.social
@ThinkingElixir@genserver.social
@alefunguju@mastodon.social
A short introductory blog post about Fruits & Tails, our little video game.
@alefunguju@mastodon.social
A short introductory blog post about Fruits & Tails, our little video game.
@mnvr@mastodon.social
"Maintain the versionless, feature-tested and backwards-compatible evolution story of the Web"
Love this phrasing from the WebAssembly docs. It's easy to forget how unique and decentralized the web actually is, and how entropy-defying gift we all have had. Seeing the wasm folks pay homage to the web is great!
@harrysintonen@infosec.exchange
This is quite neat: Second Reality C++ port made it possible to compile the demo to run in a web browser: https://www.jsr-productions.com/secondreality/index.html (click inside the view to start it)
- Main page: https://www.jsr-productions.com/secondreality.html
- Source code: https://github.com/XorJS/SecondRealityPlusPlus
- Original Second Reality (1993) demo at pouet: https://www.pouet.net/prod.php?which=63
@harrysintonen@infosec.exchange
This is quite neat: Second Reality C++ port made it possible to compile the demo to run in a web browser: https://www.jsr-productions.com/secondreality/index.html (click inside the view to start it)
- Main page: https://www.jsr-productions.com/secondreality.html
- Source code: https://github.com/XorJS/SecondRealityPlusPlus
- Original Second Reality (1993) demo at pouet: https://www.pouet.net/prod.php?which=63
@ArneBab@rollenspiel.social
#spritely #hoot in a toot: how to deploy #Guile #Scheme as static website via #webassembly (complete #Wisp example).
The code from the two attached images, as written, runs on
https://www.draketo.de/software/hoot.html
Try it out!
It’s two pages from Naming & Logic: Programming Essentials with Wisp.
printed: https://www.epubli.com/shop/naming-and-logic-programming-essentials-with-wisp-9783565093199
website: https://www.draketo.de/software/programming-basics-wisp
This adds parallel fetches (do you see where?). If you adopt it, make sure your server compresses application/wasm.
@ArneBab@rollenspiel.social
#spritely #hoot in a toot: how to deploy #Guile #Scheme as static website via #webassembly (complete #Wisp example).
The code from the two attached images, as written, runs on
https://www.draketo.de/software/hoot.html
Try it out!
It’s two pages from Naming & Logic: Programming Essentials with Wisp.
printed: https://www.epubli.com/shop/naming-and-logic-programming-essentials-with-wisp-9783565093199
website: https://www.draketo.de/software/programming-basics-wisp
This adds parallel fetches (do you see where?). If you adopt it, make sure your server compresses application/wasm.
@michels@mastodon.social
I finished my weekend project: I compiled one of my graphics demos from #Swift to #Wasm. The implementation uses a Canvas element, and I wrote an abstraction layer for my graphics library. It runs faster than expected. However, the Wasm file was 70 MB. The same demo as a Mac executable is only 9 MB. The technology is promising.
#swiftlang #webassembly
@michels@mastodon.social
I finished my weekend project: I compiled one of my graphics demos from #Swift to #Wasm. The implementation uses a Canvas element, and I wrote an abstraction layer for my graphics library. It runs faster than expected. However, the Wasm file was 70 MB. The same demo as a Mac executable is only 9 MB. The technology is promising.
#swiftlang #webassembly
@Aissen@treehouse.systems
Linux in the browser? That's old. Linux compiled with a new WASM architecture: wow, that's fast! https://joelseverin.github.io/linux-wasm/
@Aissen@treehouse.systems
Linux in the browser? That's old. Linux compiled with a new WASM architecture: wow, that's fast! https://joelseverin.github.io/linux-wasm/
@hn50@social.lansky.name
WebAssembly (WASM) arch support for the Linux kernel
Link: https://github.com/joelseverin/linux-wasm
Discussion: https://news.ycombinator.com/item?id=45783074
@toxi@mastodon.thi.ng
This week I've been rewriting (in Zig) the position-based dynamics & cellular-automata engines used for the cloth sim in my #DANZA art project (check the hashtag for older WIP)... Still endless tweaking, but could already stare at this beauty for hours, literally!
(And of course, I'm also again "dogfooding" http://thi.ng/genart-api for defining/handling parameters and animation timing...)
#GenerativeArt #AlgorithmicArt #CellularAutomata #Physics #Simulation #GenArtAPI #Zig #WASM #WebAssembly #NoAI
@toxi@mastodon.thi.ng
This week I've been rewriting (in Zig) the position-based dynamics & cellular-automata engines used for the cloth sim in my #DANZA art project (check the hashtag for older WIP)... Still endless tweaking, but could already stare at this beauty for hours, literally!
(And of course, I'm also again "dogfooding" http://thi.ng/genart-api for defining/handling parameters and animation timing...)
#GenerativeArt #AlgorithmicArt #CellularAutomata #Physics #Simulation #GenArtAPI #Zig #WASM #WebAssembly #NoAI
@tomayac@toot.cafe · Reply to Thomas Steiner :chrome:'s post
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
@tomayac@toot.cafe · Reply to Thomas Steiner :chrome:'s post
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
@tomayac@toot.cafe
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…
@blablalinux@mastodon.blablalinux.be · Reply to Blabla Linux's post
💚 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
@blablalinux@mastodon.blablalinux.be · Reply to Blabla Linux's post
💚 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
@opensuse@fosstodon.org
From #GameBoy beats to #WebAssembly feats, don’t miss this fun & fast-paced #oSC25 session. #DevTalk #openSUSE https://youtu.be/pq-04MlLAnM?si=6P6OJjLwL8Tpi12i
@opensuse@fosstodon.org
From #GameBoy beats to #WebAssembly feats, don’t miss this fun & fast-paced #oSC25 session. #DevTalk #openSUSE https://youtu.be/pq-04MlLAnM?si=6P6OJjLwL8Tpi12i
@orhun@fosstodon.org
This is a website.
Entirely written in Rust.
Built with Ratzilla (@ratatui_rs + WebAssembly)
Same code runs in the terminal.
The future is bright.
@orhun@fosstodon.org
This is a website.
Entirely written in Rust.
Built with Ratzilla (@ratatui_rs + WebAssembly)
Same code runs in the terminal.
The future is bright.
@heisedeveloper@social.heise.de
Wasm 3 bringt 64-Bit-Adressraum und Garbage Collection
Der W3C-Standard WebAssembly (Wasm) erhält mit Version 3 ein umfangreiches Update mit weitreichenden Änderungen.
@heisedeveloper@social.heise.de
Wasm 3 bringt 64-Bit-Adressraum und Garbage Collection
Der W3C-Standard WebAssembly (Wasm) erhält mit Version 3 ein umfangreiches Update mit weitreichenden Änderungen.
@alvinashcraft@hachyderm.io
@alvinashcraft@hachyderm.io
@firusvg@mastodon.social
#Wasm 3.0 is here:
• 64-bit address space
• Multiple memories
• GC + typed refs
• Tail calls
• Exception handling
• Relaxed vector instructions
• Deterministic profile
• Custom annotation syntax
• JS string builtins
https://webassembly.org/news/2025-09-17-wasm-3.0/ #WebAssembly #webdev
@toxi@mastodon.thi.ng
#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:
http://mastodon.thi.ng/@toxi/tagged/LandscapePhotography
RSS:
http://mastodon.thi.ng/@toxi/tagged/LandscapePhotography.rss
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
Education/research:
#Edu #Research
Hope that helps!
@toxi@mastodon.thi.ng · Reply to Karsten Schmidt's post
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):
@toxi@mastodon.thi.ng
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
@squillace@hachyderm.io
If anyone's interested in a #webassembly meetup kinda thing prior to #osssummit EU Sunday evening the 24th of August, I'll be hosting one there in AMS.
Looking for a nice place as we speak....
@andrewlock@hachyderm.io
Blogged: Running .NET in the browser without Blazor
https://andrewlock.net/running-dotnet-in-the-browser-without-blazor/
In this post I show how to run .NET in your browser without using Blazor, and instead rely on lower-level abstractions provided by [JSImport] and [JSExport]
@frontenddogma@mas.to
WebAssembly: Yes, but for What?, by @wingo (@acmqueue.bsky.social):
@orhun@fosstodon.org
Damn... Rust devs going crazy with these libraries.
⚒️ **sledgehammer_bindgen** 🦀
💥 Breaking the performance barrier of WASM/JS communication.
⚡ Faster Rust batched bindings for JS code.
⭐ GitHub: https://github.com/ealmloff/sledgehammer_bindgen
#rustlang #webassembly #wasm #javascript #performance #bindings #frontend #bindgen
@orhun@fosstodon.org
Damn... Rust devs going crazy with these libraries.
⚒️ **sledgehammer_bindgen** 🦀
💥 Breaking the performance barrier of WASM/JS communication.
⚡ Faster Rust batched bindings for JS code.
⭐ GitHub: https://github.com/ealmloff/sledgehammer_bindgen
#rustlang #webassembly #wasm #javascript #performance #bindings #frontend #bindgen
@orhun@fosstodon.org
Damn... Rust devs going crazy with these libraries.
⚒️ **sledgehammer_bindgen** 🦀
💥 Breaking the performance barrier of WASM/JS communication.
⚡ Faster Rust batched bindings for JS code.
⭐ GitHub: https://github.com/ealmloff/sledgehammer_bindgen
#rustlang #webassembly #wasm #javascript #performance #bindings #frontend #bindgen
@eurorust@fosstodon.org · Reply to EuroRust's post
Covered:
🦀 Build an HTTP handler in Rust
🦀 Deploy it with modern Wasm runtimes
🦀 Debug, profile, and monitor your Wasm backend
🦀 Wrap it up with a working calculator API
All the details are here ➡️ https://eurorust.eu/workshops/long-live-webassembly/?utm_source=mastodon&utm_medium=social&utm_campaign=2025-07-17-workshop-jonas-kruckenberg
#RustLang #WebAssembly #Wasm #RustWorkshop #EuroRust25 #Mainmatter
🧵2/3
@opensuse@fosstodon.org
How hard can it be? That question led to a #WebAssembly adventure at #oSC25, featuring music tech, retro vibes, and real-world lessons on porting apps like #LGPT across devices! From handhelds to the browser, this one’s for the tinkerers. #openSUSE #WASM https://youtu.be/pq-04MlLAnM?si=m4y_MdO-dkh7wV11
@tomayac@toot.cafe
New #WasmAssembly podcast 🎙️ episode! Dart, Flutter, and WasmGC:
🍿 https://www.youtube.com/watch?v=vgOABOvtBT8
🎧 https://wasmassembly.libsyn.com/dart-flutter-and-wasmgc-with-mer-aacan-and-martin-kustermann
🚀 In this episode of WasmAssembly, I chat with Ömer Ağacan & Martin Kustermann from the Dart team at Google about #Dart, #Flutter, #WasmGC, dart2wasm vs dart2js, Jaspr, and the future of #WebAssembly—both in and beyond the browser. A must-listen for #Wasm nerds!
@stevenaleach@sigmoid.social · Reply to acb's post
I think the name has caused confusion and held it back.
I know I reflexively ignored and skipped over any mention of #WebAssembly until I realized very recently that it:
1) Is general purpose and not actually a "web" thing.
&
2) Isn't yet another name for #JavaScript.
@acb@mastodon.social
A look at the state of #WebAssembly, as it turns 10. It’s getting traction in some areas (though notably game engines aren’t one of them), though a pain point is its low-level model and lack of any standard implementation of structured types or garbage collection making interfacing with dynamic languages, or indeed the web DOM, a pain. As with Java, though, the web may not be where it ends up.
@vruz@mstdn.social · Reply to vruz's post
Native JS templating: helps JavaScript developers. Direct WASM→DOM: helps EVERY language. Rust, Go, C#, Zig, Swift, Kotlin... all get first-class web UI performance. That's real platform evolution. We shouldn't be adding more JS-specific APIs when we could be opening the web to all languages equally. The web platform should be language-agnostic at its core. #compsci #webdev #webassembly #programming
@doboprobodyne@mathstodon.xyz · Reply to Sebastian Lasse's post
> clientside content-id comparison.
That's a neat idea!
#transcoding #encoding #video #browser #ffmpeg #webassembly #clientside #videoconverter
@sl007@digitalcourage.social · Reply to doboprobodyne's post
awesome!
In the long run it might also make the online transcoding tools with the "Start now" [to download malware]-button obsolete.
Funnily I talked about this [soon solved] problem with my funder @clemensg by phone today.
#transcoding #encoding #video #browser #ffmpeg #webassembly #clientside #videoconverter
just et. al. too
please save us from uploading duplicate files or journalists from writing alt twice with clientside content-id comparison.
@doboprobodyne@mathstodon.xyz · Reply to Christian Lawson-Perfect's post
Just a thought, from a knuckle-dragging biology scientist. TL;DR: I believe there is scope to make the hosting of a peertube instance even more lightweight in the future.
I read some time ago of people using #webAssembly to transcode video in a user's web-browser. https://blog.scottlogic.com/2020/11/23/ffmpeg-webassembly.html
Since then, I believe #WebGPU has done/is doing some clever things to improve the browser's access to the device's GPU.
I have not seen any #peertube capability that offloads video transcoding to the user in this way.
I imagine, though, that this would align well with peertube's agenda of lowering the bar to entry into web-video hosting, so I cannot help but think that this will come in time.
My own interest is seeing a #Piefed (activitypub) instance whose web-pages could #autotranslate posts into the user's own language using the user's own processing power... One day, maybe!
Thank you again for all your hard work; it is an inspiration.
#mastodon #webVideo #HLS #transcoding #video #decentralization #edgeComputing #webGL #W3C #activitypub #AI #ffmpeg #selfhosted #degoogle #mathstodon
@doboprobodyne@mathstodon.xyz · Reply to Christian Lawson-Perfect's post
Just a thought, from a knuckle-dragging biology scientist. TL;DR: I believe there is scope to make the hosting of a peertube instance even more lightweight in the future.
I read some time ago of people using #webAssembly to transcode video in a user's web-browser. https://blog.scottlogic.com/2020/11/23/ffmpeg-webassembly.html
Since then, I believe #WebGPU has done/is doing some clever things to improve the browser's access to the device's GPU.
I have not seen any #peertube capability that offloads video transcoding to the user in this way.
I imagine, though, that this would align well with peertube's agenda of lowering the bar to entry into web-video hosting, so I cannot help but think that this will come in time.
My own interest is seeing a #Piefed (activitypub) instance whose web-pages could #autotranslate posts into the user's own language using the user's own processing power... One day, maybe!
Thank you again for all your hard work; it is an inspiration.
#mastodon #webVideo #HLS #transcoding #video #decentralization #edgeComputing #webGL #W3C #activitypub #AI #ffmpeg #selfhosted #degoogle #mathstodon
@doboprobodyne@mathstodon.xyz · Reply to Christian Lawson-Perfect's post
Just a thought, from a knuckle-dragging biology scientist. TL;DR: I believe there is scope to make the hosting of a peertube instance even more lightweight in the future.
I read some time ago of people using #webAssembly to transcode video in a user's web-browser. https://blog.scottlogic.com/2020/11/23/ffmpeg-webassembly.html
Since then, I believe #WebGPU has done/is doing some clever things to improve the browser's access to the device's GPU.
I have not seen any #peertube capability that offloads video transcoding to the user in this way.
I imagine, though, that this would align well with peertube's agenda of lowering the bar to entry into web-video hosting, so I cannot help but think that this will come in time.
My own interest is seeing a #Piefed (activitypub) instance whose web-pages could #autotranslate posts into the user's own language using the user's own processing power... One day, maybe!
Thank you again for all your hard work; it is an inspiration.
#mastodon #webVideo #HLS #transcoding #video #decentralization #edgeComputing #webGL #W3C #activitypub #AI #ffmpeg #selfhosted #degoogle #mathstodon
@toxi@mastodon.thi.ng
Various thi.ng updates, bug fixes, additions and new version of https://github.com/thi-ng/zig-thing/ — now fully compatible with current Zig v0.14.1
On a more diary/devlog note: I also updated several of my Zig based work-in-progress art pieces to the latest version (some of them not touched in 2+ years) and it's so good to see how the https://thi.ng/wasm-api toolchain has been holding up with various breaking Zig changes and also how this setup simplifies creating hybrid Zig/TypeScript projects (e.g. for using DOM/WebGL from Zig). Related, I also want to mention once more the #GenArtAPI Zig WebAssembly bindings[1] (updated a few weeks ago), which add another layer of flexibility & boilerplate reduction for generative/procedural/algorithmic art projects...
I will be attempting yet another few takes creating a video overview & mini-workshop/tutorial about https://thi.ng/genart-api, hopefully also touching on these aspects...
[1] https://github.com/thi-ng/genart-api/tree/main/packages/wasm
#ThingUmbrella #Zig #Ziglang #WebAssembly #WASM #GenArtAPI #Art #GenerativeArt #AlgorithmicArt
@bashorov@mastodon.online
📣 We’re hiring for Kotlin/Wasm!
Excited about Kotlin and WebAssembly? So are we.
Join our team to work on innovative tech that’s changing how web apps are built.
Apply now ⤵️
https://kotl.in/wasm-apply
Repost appreciated! 🙌
@orhun@fosstodon.org
Happy to announce the 0.1.0 release of my Rust web framework! 🎉🦀
🐭 **Ratzilla** — Build terminal-themed web applications.
🌀 Now supports WebGL2 and dynamically calling JS functions!
🦀 Built with Rust, WebAssembly & @ratatui_rs
⭐ GitHub: https://github.com/orhun/ratzilla
#rustlang #ratatui #tui #webassembly #web #framework #webgl2 #rendering #javascript #terminal
@orhun@fosstodon.org
Happy to announce the 0.1.0 release of my Rust web framework! 🎉🦀
🐭 **Ratzilla** — Build terminal-themed web applications.
🌀 Now supports WebGL2 and dynamically calling JS functions!
🦀 Built with Rust, WebAssembly & @ratatui_rs
⭐ GitHub: https://github.com/orhun/ratzilla
#rustlang #ratatui #tui #webassembly #web #framework #webgl2 #rendering #javascript #terminal
@jtp@fosstodon.org
🎉 JupyterLite 0.6 is now available!
Coming with exciting new features:
✨ Interactive input() support (useful for teaching Python)
🔄 New REPL options
🎯 Better kernel status and logs
🧹 Easier browser data management
⚡️ Improved multi-tab support and storage isolation
Check out the blog post and walkthrough video:
➡️ https://blog.jupyter.org/jupyterlite-0-6-0-is-released-b4bc69bfc8f4
➡️ https://www.youtube.com/watch?v=jkQ9ORG5qAM
Thanks @QuantStack, Bloomberg, CourseKata and all the contributors!
@fstackbulletin@mastodon.social
Nova is a #JavaScript (#ECMAScript) and #WebAssembly engine written in #Rust
@toxi@mastodon.thi.ng
#ReleaseMonday — New version (v0.27.0) of https://thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
This version features an overhaul of the platform provided PRNG (pseudo-random number generator) handling and makes it easier to create multiple PRNGs for artworks which require/desire them...
Related section in the README:
https://github.com/thi-ng/genart-api/blob/main/README.md#determinism--prng-provision
Also, just as a reminder, the project has:
- no external dependencies
- adapters for 3 art platforms (EditArt, fxhash, Layer)
- 6 example projects
- testing/dev sandbox with two parameter editors
- WebAssembly bindings & demo (currently for #Zig only)
Happy coding! :)
#GenArtAPI #GenerativeArt #AlgorithmicArt #ProceduralArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #WebAssembly #WASM #Ziglang
@h4ckernews@mastodon.social
Nova: A JavaScript and WebAssembly engine written in Rust
#HackerNews #Nova #JavaScript #WebAssembly #Rust #Engine #Technology
@TinyGo@mastodon.social
Want to learn about Pulse Width Modulation (PWM) on hardware, but don't have any actual hardware?
We've got you covered with our newest addition to the TinyGo Tour with simulated hardware using WebAssembly in your browser!
https://tinygo.org/tour/pwm/
#tinygo #golang #embedded #pwm #wasm #webassembly
@ani@fosstodon.org
🌀 Introducing **Chakra** - a blazing fast in-browser WebAssembly runtime for builders.
```sh
chakra myfile.wasm
```
– Runs WASM in-browser with logs
– Supports Rust, TinyGo, C, Asc and Python
– One-line introspection & verify commands
Chakra is an open source project and we're building it *with the community*.
🌟 https://github.com/anistark/chakra
📖 Read more: https://blog.anirudha.dev/chakra
Give us a shout-out or star the repo on github if you like the idea. 🙌
@TinyGo@mastodon.social
Want to learn about Pulse Width Modulation (PWM) on hardware, but don't have any actual hardware?
We've got you covered with our newest addition to the TinyGo Tour with simulated hardware using WebAssembly in your browser!
https://tinygo.org/tour/pwm/
#tinygo #golang #embedded #pwm #wasm #webassembly
@toxi@mastodon.thi.ng
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...
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 https://thi.ng/wasm-api toolchain...)
@ycombinator@rss-mstdn.studiofreesia.com
@aoetk.bsky.social@bsky.brid.gy
CheerpJすごいよねえ。ちゃんとSwingアプリケーションが動いている。Plug-InではなくWebテクノロジーによってAppletやWeb Startを再び動かせるようになる時が来るとはねえ。
JavaFXやSWTについてはネイティブ実装部分をWebAssemblyにコンパイルする必要があるのでこれからの対応になると。 #java #webassembly
www.publickey1.jp/blog/25/java...
JavaVMをWebAssemblyで実装した「Cheerp...
@aoetk.bsky.social@bsky.brid.gy
CheerpJすごいよねえ。ちゃんとSwingアプリケーションが動いている。Plug-InではなくWebテクノロジーによってAppletやWeb Startを再び動かせるようになる時が来るとはねえ。
JavaFXやSWTについてはネイティブ実装部分をWebAssemblyにコンパイルする必要があるのでこれからの対応になると。 #java #webassembly
www.publickey1.jp/blog/25/java...
JavaVMをWebAssemblyで実装した「Cheerp...
@tomayac@toot.cafe
JAWSM—a JavaScript to #Wasm compiler:
https://itsallaboutthebit.com/jawsm/. A similar tool is Porffor: https://github.com/CanadaHonk/porffor. Neither of them are production-ready, but the idea of compiling JavaScript to #WebAssembly is very compelling.
@tomayac@toot.cafe
JAWSM—a JavaScript to #Wasm compiler:
https://itsallaboutthebit.com/jawsm/. A similar tool is Porffor: https://github.com/CanadaHonk/porffor. Neither of them are production-ready, but the idea of compiling JavaScript to #WebAssembly is very compelling.
@unsafe@m.webtoo.ls
hell yeeeaahhh k23 finally has working host functions!!!!!!!
this means we can finally execute useful #wasm including running the test suites!
@unsafe@m.webtoo.ls
hell yeeeaahhh k23 finally has working host functions!!!!!!!
this means we can finally execute useful #wasm including running the test suites!
@rockylhotka@fosstodon.org · Reply to Rocky Lhotka 🤘🖖's post
The app is a character sheet for a #ttrpg based on a custom game system my friends and I have been evolving since around 1985. These days I suppose you could compare it somewhat to the #fate system a little?
I asked the AI to create it using #blazor, and it chose the #webassembly option. I'm not sure that's correct, but I suspect the AI can easily convert it to Blazor server if necessary.
🧵
@tomayac@toot.cafe
📢 New post by Andreas Rossberg on the #WebAssembly site in which he announces the #Wasm community's adoption of #SpecTec 📄, a domain-specific language and toolchain that facilitates both the Wasm specification and the generation of artifacts necessary to standardize new features: https://webassembly.org/news/2025-03-27-spectec/.
@tomayac@toot.cafe
📢 New post by Andreas Rossberg on the #WebAssembly site in which he announces the #Wasm community's adoption of #SpecTec 📄, a domain-specific language and toolchain that facilitates both the Wasm specification and the generation of artifacts necessary to standardize new features: https://webassembly.org/news/2025-03-27-spectec/.
@squillace@hachyderm.io
Joel Dice of #Fermyon has written a great early look at #webassembly components preview 3 here: https://www.fermyon.com/blog/looking-ahead-to-wasip3.
I very much appreciate the contributor list at the bottom of the post, as it indicates how many people are working toward this, step by step.
@squillace@hachyderm.io
Joel Dice of #Fermyon has written a great early look at #webassembly components preview 3 here: https://www.fermyon.com/blog/looking-ahead-to-wasip3.
I very much appreciate the contributor list at the bottom of the post, as it indicates how many people are working toward this, step by step.
@toxi@mastodon.thi.ng
Now compatible with the latest Zig v0.14.0: Just updated https://thi.ng/wasm-api, an extensible and modular API bridge & toolchain for hybrid Zig/TypeScript apps, all of the related Zig example projects, as well as the (still somewhere between post-hatching & pre-fledging) other https://thi.ng/zig libraries...
@NobleMajo@mastodon.social
🦫 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
@NobleMajo@mastodon.social
🦫 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
@hn50@social.lansky.name
Now you can run Ruby on Rails in the browser using WebAssembly
Link: https://web.dev/blog/ruby-on-rails-on-webassembly
Discussion: https://news.ycombinator.com/item?id=43079791
@danologue@hachyderm.io
At #KubeConNA2024, we demoed super fast, hardware-protected micro-VMs with Hyperlight—executing untrusted code in just 900µs!
Read how we achieved this & try the demo yourself: 🔗 https://opensource.microsoft.com/blog/2025/02/11/hyperlight-creating-a-0-0009-second-micro-vm-execution-time/
@hn50@social.lansky.name
Now you can run Ruby on Rails in the browser using WebAssembly
Link: https://web.dev/blog/ruby-on-rails-on-webassembly
Discussion: https://news.ycombinator.com/item?id=43079791
@moonbitlang@mastodon.social
🚀 MoonBit-powered #WebAssembly library, Cmark, runs 12x faster than popular JS libs! In our new post, discover how to profile it directly in Chrome & optimize for even better performance.
https://www.moonbitlang.com/blog/profile-wasm-from-js
⬇️Download: https://moonbitlang.pub/marketplace/m
👥Community: https://discord.gg/5d46MfXkfZ
@danologue@hachyderm.io
At #KubeConNA2024, we demoed super fast, hardware-protected micro-VMs with Hyperlight—executing untrusted code in just 900µs!
Read how we achieved this & try the demo yourself: 🔗 https://opensource.microsoft.com/blog/2025/02/11/hyperlight-creating-a-0-0009-second-micro-vm-execution-time/
@orhun@fosstodon.org
I announced my latest project "**Ratzilla**" at FOSDEM yesterday! 🥳
➡️ Demo: https://orhun.dev/ratzilla/demo/
🦀 Build terminal-themed web applications with Rust and WebAssembly
👨🍳 Powered by @ratatui_rs
⭐ GitHub: https://github.com/orhun/ratzilla
#rustlang #ratatui #terminal #opensource #webassembly #terminal #FOSDEM #fosdem2025
@orhun@fosstodon.org
I announced my latest project "**Ratzilla**" at FOSDEM yesterday! 🥳
➡️ Demo: https://orhun.dev/ratzilla/demo/
🦀 Build terminal-themed web applications with Rust and WebAssembly
👨🍳 Powered by @ratatui_rs
⭐ GitHub: https://github.com/orhun/ratzilla
#rustlang #ratatui #terminal #opensource #webassembly #terminal #FOSDEM #fosdem2025
@evacchi@mastodon.social
I am looking forward to meeting you at @fosdem! I have two presentations, one for the #Golang room and one for the #WebAssembly room
@wasmvision@mastodon.social
We just released wasmVision 0.2 along with wasmCV 0.7 just in time for @fosdem
Come see our talk in the #webassembly dev room on Sunday at noon!
@tomayac@toot.cafe
Alpine Linux with GUI, virtualized in #WebAssembly: https://webvm.io/alpine.html. 🤯
@abcdw@fosstodon.org
The best WebAssembly lispy language is released. Guile Hoot 0.6.0 is in the wild now.
The most exciting update for me is an implementation of macroexpander, which means eval is around the corner and we can start working on Hoot support for Arei/Ares Guile Scheme IDE soon.
https://spritely.institute/news/guile-hoot-0-6-0-released.html
@abcdw@fosstodon.org
The best WebAssembly lispy language is released. Guile Hoot 0.6.0 is in the wild now.
The most exciting update for me is an implementation of macroexpander, which means eval is around the corner and we can start working on Hoot support for Arei/Ares Guile Scheme IDE soon.
https://spritely.institute/news/guile-hoot-0-6-0-released.html
@tomayac@toot.cafe
Alpine Linux with GUI, virtualized in #WebAssembly: https://webvm.io/alpine.html. 🤯
@jperkel@sciencemastodon.com
This is so cool -- run CUDA code in the browser using #WebAssembly. https://hipscript.lights0123.com/ cf my feature @Nature on WebAssembly in science: https://www.nature.com/articles/d41586-024-00725-1
@tomayac@toot.cafe
Is Memory64 actually worth using?
https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-using.html An excellent post by Mozilla's Ben Visness that explains the #WebAssembly Memory64 standard. 👏
@tomayac@toot.cafe
Is Memory64 actually worth using?
https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-using.html An excellent post by Mozilla's Ben Visness that explains the #WebAssembly Memory64 standard. 👏
@toxi@mastodon.thi.ng
Another day, another #GenArtAPI release (v0.25.0):
This update mainly features the new `@genart-api/wasm` package, providing Zig & TypeScript bindings for core GenArtAPI functionality (i.e. so far mostly parameter handling).
This WASM bridge/integration is designed as an API module for the https://thi.ng/wasm-api toolchain. Installation & build instructions are in the readme.
New package homepage:
https://github.com/thi-ng/genart-api/tree/main/packages/wasm
Example project (w/ param editor):
https://demo.thi.ng/genart-api/param-editors/?url=https%3A%2F%2Fdemo.thi.ng%2Fgenart-api%2Fzig-test%2F
Example Zig source code:
https://github.com/thi-ng/genart-api/blob/main/examples/zig-test/zig/main.zig
#GenArtAPI #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #WebAssembly #WASM #Zig #Ziglang
@jperkel@sciencemastodon.com
This is so cool -- run CUDA code in the browser using #WebAssembly. https://hipscript.lights0123.com/ cf my feature @Nature on WebAssembly in science: https://www.nature.com/articles/d41586-024-00725-1
@mesebrec@ubuntu.social
Want to do a #PhD about #WebAssembly and #ConfidentialComputing? Please contact me! We have well-paid PhD positions available.
You need to have a master's in computer science or equivalent, good technical skills and good writing skills.
These are on-site positions in the beautiful city of Ghent, Belgium.
See this thread for more info. Feel free to boost!
@w3c@w3c.social
W3C tech in the news: "Amex’s FaaS Uses WebAssembly Instead of Containers" at @TheNewStack
"A key reason behind Amex's adoption of WebAssembly is that WebAssembly demonstrated superior performance metrics compared to containers" #WASM #WebAssembly
https://thenewstack.io/amexs-faas-uses-webassembly-instead-of-containers/
@w3c@w3c.social
W3C tech in the news: "Amex’s FaaS Uses WebAssembly Instead of Containers" at @TheNewStack
"A key reason behind Amex's adoption of WebAssembly is that WebAssembly demonstrated superior performance metrics compared to containers" #WASM #WebAssembly
https://thenewstack.io/amexs-faas-uses-webassembly-instead-of-containers/
@toxi@mastodon.thi.ng
https://thi.ng/umbrella 2024 summary
Next month #ThingUmbrella will be already 7 years old (in its current monorepo form) and thi.ng itself turn 14 — a true teenager! 😱
2024 has been a year of a lot of maintenance and the first year in a while, in which I got to put so many of these tools & libraries to work on the development of several other new (and ongoing) projects (incl. some still unannounced ones). Considering the vastly different usage contexts, each time this is also a demonstration (to myself) of just how powerful, adaptable and _composable_ many of these libraries are, and I wish I'd be able to better communicate these aspects to other people...
My deepest thanks and gratitude to my amazing supporters/sponsors, who've been enabling me to continue this work, to expand on it and actively maintain it! Some of you already for years! Love you, people — Your support means the world to these projects (and to me)! And even though I'm still a far way from being able to work fulltime on all these projects, and also had to take on some consulting work this year, I too have been trying my best to work on thi.ng projects every day this year (and almost succeeded)...
Super special thanks go out to: @avi @made @Yura @robertoranon @jeffpalmer @alesroubicek @slowdownitsfine @latrokles @rc101 and others... (Sorry if I missed any other people/supporters/users here — please ping me (again) if I don't follow you already!) 🙏😍
Some juicy/boring statistics (#ThingUmbrella only!):
In 2024 there were 1,639 commits (incl. today's release), of which:
- 467 features (29%)
- 389 documentation related (24%)
- 340 refactor & performance (21%)
- 198 build, CI, testing, restructuring (12%)
- 112 releases (7%)
- 87 bug fixes (5%)
Scope:
- 200 packages/libraries/tools
- 180 standalone example projects/tools
- 520 code snippets/examples in docs (extractable via tooling)
Source code:
- 4,095 source files
- 223k SLOC total, of which:
- 159k lines of code
- 64k comment lines (mostly for API docs)
Readme's:
- 33% of packages with 1,000+ words
- 20% of packages with 1,500+ words
- Min: 215, max: 9,519, avg: 1,075 words
3,445 Github ⭐️ (+12% in 2024)
200,675,881 NPM total downloads to date (🤯)
There're many valuable ways to support these projects: Share your usage/experience reports, tips & tricks, ask/answer questions, submit issues/PRs, create small examples, documentation/tutorials, word-of-mouth etc.
If you see value in these projects and want to support a large & mature body of open source work financially, I'm accepting contributions via: Github, Liberapay & Patreon — thank you very much for your consideration!
https://github.com/postspectacular
https://liberapay.com/thi.ng/
https://patreon.com/thing_umbrella
Ps. I'm on a small single-user instance only here - any boosts are highly appreciated to increase visibility! Thank you! 🙏
#OpenSource #ReleaseFriday #SoftwareCraft #YearReview #Statistics #TypeScript #JavaScript #WebAssembly
@toxi@mastodon.thi.ng
https://thi.ng/umbrella 2024 summary
Next month #ThingUmbrella will be already 7 years old (in its current monorepo form) and thi.ng itself turn 14 — a true teenager! 😱
2024 has been a year of a lot of maintenance and the first year in a while, in which I got to put so many of these tools & libraries to work on the development of several other new (and ongoing) projects (incl. some still unannounced ones). Considering the vastly different usage contexts, each time this is also a demonstration (to myself) of just how powerful, adaptable and _composable_ many of these libraries are, and I wish I'd be able to better communicate these aspects to other people...
My deepest thanks and gratitude to my amazing supporters/sponsors, who've been enabling me to continue this work, to expand on it and actively maintain it! Some of you already for years! Love you, people — Your support means the world to these projects (and to me)! And even though I'm still a far way from being able to work fulltime on all these projects, and also had to take on some consulting work this year, I too have been trying my best to work on thi.ng projects every day this year (and almost succeeded)...
Super special thanks go out to: @avi @made @Yura @robertoranon @jeffpalmer @alesroubicek @slowdownitsfine @latrokles @rc101 and others... (Sorry if I missed any other people/supporters/users here — please ping me (again) if I don't follow you already!) 🙏😍
Some juicy/boring statistics (#ThingUmbrella only!):
In 2024 there were 1,639 commits (incl. today's release), of which:
- 467 features (29%)
- 389 documentation related (24%)
- 340 refactor & performance (21%)
- 198 build, CI, testing, restructuring (12%)
- 112 releases (7%)
- 87 bug fixes (5%)
Scope:
- 200 packages/libraries/tools
- 180 standalone example projects/tools
- 520 code snippets/examples in docs (extractable via tooling)
Source code:
- 4,095 source files
- 223k SLOC total, of which:
- 159k lines of code
- 64k comment lines (mostly for API docs)
Readme's:
- 33% of packages with 1,000+ words
- 20% of packages with 1,500+ words
- Min: 215, max: 9,519, avg: 1,075 words
3,445 Github ⭐️ (+12% in 2024)
200,675,881 NPM total downloads to date (🤯)
There're many valuable ways to support these projects: Share your usage/experience reports, tips & tricks, ask/answer questions, submit issues/PRs, create small examples, documentation/tutorials, word-of-mouth etc.
If you see value in these projects and want to support a large & mature body of open source work financially, I'm accepting contributions via: Github, Liberapay & Patreon — thank you very much for your consideration!
https://github.com/postspectacular
https://liberapay.com/thi.ng/
https://patreon.com/thing_umbrella
Ps. I'm on a small single-user instance only here - any boosts are highly appreciated to increase visibility! Thank you! 🙏
#OpenSource #ReleaseFriday #SoftwareCraft #YearReview #Statistics #TypeScript #JavaScript #WebAssembly
@sdeleuze@mastodon.online
This is a big news, MoonBit compiler is now open source! https://www.moonbitlang.com/blog/compiler-opensource
MoonBit is a language designed for #WebAssembly, with a Rust-like syntax but much more approchable, targeting WasmGC and providing support for the Wasm Component Model. Try it during your Christmas break! 🎄
@peterrenshaw@ioc.exchange
"If #WASM + #WASI existed in 2008, we wouldn't have needed to create #Docker. That's how important it is. #WebAssembly on the server is the future of computing." — Solomon Hykes
#Manning / #books / #software / #technology <https://manning.com/books/server-side-webassembly?trk_msg=FDRHHVMGQS84ND9TE0J9TOI5LS&trk_contact=BPSP1BEUS2OH7DKUHDUSI721NG&trk_sid=47B5DN0BGE66P09999EC5ACG40&trk_link=MF42PIS2BJK4N01BGQDFFBUOM4>
@tomayac@toot.cafe
wasm-vips is libvips for the browser and Node.js, compiled to #WebAssembly with #Emscripten: https://github.com/kleisauke/wasm-vips. There's a cool playground to test it: https://wasm-vips.kleisauke.nl/playground/.
@w3c@w3c.social
W3C tech on the web "WASM-4: Retro Game Dev Right In Your Browser"
"Born from the WebAssembly ecosystem, this console accepts “cartridges” in .wasm format. Any language that compiles to WebAssembly—be it Rust, Go, or AssemblyScript—can build games for it. The console’s emphasis on portability, with plans for microcontroller support, positions it as a playground for minimalist game developers. Multiplayer support? Check. Retro vibes? Double-check." #WebAssembly #Games
https://hackaday.com/2024/12/08/wasm-4-retro-game-dev-right-in-your-browser/
@pojntfx@mastodon.social
Happy to release #bofied v1.2.0, the latest version of my modern, scriptable OSS netboot server after a two year hiatus! It has a modernized #Go backend and almost completely rewritten PWA frontend (in #WebAssembly), plus standard WebDAV and gRPC management APIs! https://github.com/pojntfx/bofied
@toxi@mastodon.thi.ng
It just dawned on me that I haven't been mentioning five(!) recent https://thi.ng/genart-api updates, all from the past month... 😱
The latest version (v0.14.0, just released) is largely about an overhaul of messaging related functionality and also addresses use cases related to managing multiple artworks embedded (via `<iframe>`s) in a single document/page (think: online gallery scenarios...)
If you're already using GenArtAPI message/event listeners in your own artwork, you might have to rename some of them. This commit has the important details:
https://github.com/thi-ng/genart-api/commit/35b627d7380bad75d280cc1e051ec7ed23aa8995
Also, the online parameter editors have been updated and are now only working with the latest version of the API, so be sure to update your artwork projects to stay compatible:
Generic editor harness (for your own compatible artworks):
https://demo.thi.ng/genart-api/param-editors/
Demo (with test artwork):
https://demo.thi.ng/genart-api/param-editors/?url=https%3A%2F%2Fdemo.thi.ng%2Fgenart-api%2Fparam-test%2F
Other recent changes/additions (in no particular order):
- added new message types to poll the artwork/API for current state/info
- update message names & naming convention
- added ability to configure the API behavior/features (also via messaging)
- option to emit frame messages w/ current timing/frame info
- message broadcasting to multiple GenArtAPI instances/artworks
- inject common defaults for optional settings in param specs
- fixed date/datetime param handling (in editor)
- updated/fixed time providers
- updated debug time provider (w/ FPS visualization overlay)
- use gzip compression for image param values (in default platform adapter)
- added version info
- various documentation updates
- (WIP) WASM bindings for Zig-based artworks
- (WIP) unpublished progress on real platform adapters
Some of these features are all about enabling new use cases and improving usability of external tooling around artworks adapting GenArtAPI, for example:
- Ability to broadcast start/stop messages to either individual or all artworks embedded in a page
- Ability for the param editor to configure the artwork currently being worked on to emit timing & frame information (which then can be integrated in the editor UI without the editor knowing anything else about the artwork)
- Enable editors to identify an artwork/project and store param presets grouped by project ID
- Allow editors (or other tools) to check the API version used by the artwork by first sending a `genart:get-info` message, then listening for `genart:info` response (then maybe display a warning if version is incompatible)
- etc.
If you want to find out more, the project readme has _a lot_ more information. Also feel free to get in touch with any questions!
#GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript #Zig #WASM #WebAssembly
@toxi@mastodon.thi.ng · Reply to Karsten Schmidt's post
Did some further updates to the #TypeScript code generator for #WASM bindings (https://thi.ng/wasm-api-bindgen) and released new versions of all https://thi.ng/wasm-api packages. The new codegen creates even smaller code (approx. -20%), achieved via better re-use of newly introduced helper functions to reduce boilerplate...
These changes will have compounding effects for larger numbers (or complexities) of generated types, especially those involving structs with string fields and/or arrays/slices...
@toxi@mastodon.thi.ng
Various #ThingUmbrella and #GenArtAPI updates from this week:
- Added null pointer checks & guards in https://thi.ng/wasm-api. This also includes support for structs with fields using Zig-style optional pointers.
- Updated the https://thi.ng/wasm-api-bindgen code generator for #TypeScript to produce smaller code for structs using many string fields
- Did major ground work on #Zig #WebAssembly bindings of core https://thi.ng/genart-api functionality (see small demo below)
- Fixed/updated/simplified time provider logic
- Updated the debug time provider with its FPS analytics/visualization overlay, now computing moving min/max and moving average (default period = 200 frames) and the viz is dynamically/smoothly rescaling to current peak
- Released new GenArtAPI v0.9.0
As for the Zig/WASM example: This is only interesting from a technical POV, no visuals here! All canvas drawing and parameter declarations/evaluations are done via Zig, using the aforementioned https://thi.ng/wasm-api infrastructure to provide a new API module which can be seamlessly used with the other hybrid WASM API modules, here for DOM creation (https://thi.ng/wasm-api-dom) and to handle Canvas2D drawing (https://thi.ng/wasm-api-canvas).
At the moment, this GenArtAPI WASM module is still a fixed part of this example, but will eventually be extracted & distributed as separate package.
Demo (with param editor):
https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/zig-test/
Choose one of the two GUI implementations, then make any parameter changes and you should see the new values applied immediately (btw. the demo is likely not very usable on mobile)...
Source code (TypeScript in `/src`, Zig in `/zig` directories):
https://github.com/thi-ng/genart-api/tree/main/examples/zig-test/
#GenerativeArt #ArtMaking #Interop #OpenSource #Workflow #TypeScript #JavaScript
@deadprogram@social.tinygo.org
The world premiere of my new open source project wasmVision was at #gopherconau yesterday.
Get going with computer vision using WebAssembly
Release 0.1 available now!
@KathyReid@aus.social
The @thoughtworks #TechRadar is always on my must-read list - because it has a pulse on the future of where various technologies are headed, and provides practical advice around whether to Hold, Assess, Trial or Adopt a particular technology.
This edition's highlights:
➡️ #GenAI coding tools are causing antipatterns of developer behaviour, such as an over-reliance on coding suggestions, and a lack of abstraction - what we used to call code "elegance". "Quelle surprise", we collectively gasp.
➡️ #RAG - retrieval augmented generation - to strengthen the truth of generated responses from an #LLM - is a strong adopt - which tracks with what I saw at @ALTAnlp last year, and other @aclmeeting papers. RAG all the things.
➡️ Rust is in ascendance due to its incredible performance, with some implementations previously using Python now offering Rust too. This matches with the signals I've been seeing across the ecosystem - with Rust also making headway in the Linux kernel space.
➡️ #WebAssembly #WASM continues ascendance due to its ability to deliver powerful applications through a browser sandbox
➡️ Observability 2.0 is rated as Assess, and I think this is wrong - my signals - Grafana, Honeycomb.io - would place this in Adopt. Also ClickHouse's maturity for storing @opentelemetry data ...
➡️ Bruno as an alternative to Postman for API testing and integration is rated as Adopt - and I am in strong agreement with this.
What are your thoughts?
@bsletten@mastodon.social
Firefox speeds up WebAssembly code dramatically:
https://www.howtogeek.com/firefox-75x-faster-running-webassembly/
@soyuka@phpc.social
Run examples and play with them directly on the @php
website using #WebAssembly!
https://github.com/php/web-php/pull/1097
Made for @thephpf by @cooptilleuls
@tomayac@toot.cafe
A fantastic writeup of the journey through the #Wasm standards process of the #WebAssembly branch hinting proposal by Yuri Iozzelli: https://labs.leaningtech.com/blog/branch-hinting. It's very accessible even to people like me without a PhD in compiler engineering. I wish more writing was like Yuri's. 👏
@TinyGo@mastodon.social
"Golang for WebAssembly Can Now Work Like IT Should"
Recent writeup in @TheNewStack that basically says "Use TinyGo for WebAssembly" ;)
#golang #tinygo #wasm #wasi #webassembly
https://thenewstack.io/golang-for-webassembly-can-now-work-like-it-should/
@squillace@hachyderm.io
Back in March at #wasmio, @anfibiacreativa and I showed a WIDE array of #webassembly debugging in #vscode: https://www.youtube.com/watch?v=sofGOtwGWu8.
But, you'll note: the debugger couldn't navigate #webassemblycomponent files. Now it can!
@squillace@hachyderm.io
The #webassembly wasi sg just released #wasi v0.2.1: https://bytecodealliance.org/articles/WASI-0.2.1. Steps coming more incrementally and faster - and adding signals about compatibility, forward and backward. :-)
@squillace@hachyderm.io
an outstanding #wasi-virt hello world style post about #webassembly component tool wasi-virt to demonstrate component interface virtualization! Kudos to the #wasmcloud folks at @cosmonic for this: https://wasmcloud.com/blog/how-to-virtualize-webassembly-components-with-wasi-virt
@horovits@fosstodon.org
Interested in #observability for #WebAssembly?
Check out the new WebAssembly System Interface (WASI) for observability, a.k.a. WASI Observe, aiming to exposes observability tracing, logging, and metrics interfaces to #WASM components.
I’m curious to see how this new API specification evolves.
https://github.com/WebAssembly/wasi-observe
@haubles@fosstodon.org
Hi friends! My colleagues at #Fastly @devs are hiring a new manager for our #WebAssembly team. They're looking for someone to "lead a team of very senior and very talented developers who are truly experts in this field and work closely across Fastly’s engineering teams to facilitate effective communication and roadmapping."
Read more and apply here: https://www.fastly.com/about/jobs/apply/?gh_jid=6019035
#hiring #OpenSource #engineering #Developers #oss #FOSS #Wasm
@treyhunner@mastodon.social
Time for another #introduction I think 🤔
My name is Trey. 👋 I help developers sharpen their Python skills. I mostly teach core #Python, #Django, and #pytest. 🐍
I run a Python team training company and made PythonMorsels.com to help individuals and small teams level-up their skills.
I love #audiobooks, I'm into #vegetarian/#vegan cooking, I'm interested in Python on #WebAssembly, & I'm a #YIMBY. I've also acquired a habit of posting daily-ish #projects on Mastodon (thanks @simon).
@toxi@mastodon.thi.ng
A week ago was the 1st anniversary of this solo instance & more generally of my fulltime move to Mastodon. A good time for a more detailed intro, partially intended as CV thread (pinned to my profile) which I will add to over time (also to compensate the ongoing lack of a proper website)... Always open to consulting offers, commissions and/or suitable remote positions...
Hi, I'm Karsten 👋 — indy software engineer, researcher, #OpenSource author of hundreds of projects (since ~1999), computational/generative artist/designer, landscape photographer, lecturer, outdoor enthusiast, on the ND spectrum. Main interest in transdisplinary research, tool making, exploring techniques, projects & roles amplifying the creative, educational, expressive and inspirational potential of (personal) computation, code as material, combining this with generative techniques of all forms (quite different to what is now called and implied by "generative AI").
Much of my own practice & philosophy is about #BottomUpDesign, interconnectedness, simplicity and composability as key enablers of emergent effects (also in terms of workflow & tool/system design). Been adopting a round-robin approach to cross-pollinate my work & learning, spending periods going deep into various fields to build up and combine experience in (A-Z order): API design, audio/DSP, baremetal (mainly STM32), computer vision/image processing, compiler/DSL/VM impl, databases/linked data/query engines, data structures impl, dataviz, fabrication (3DP, CNC, knit, lasercut), file formats & protocols (as connective tissue), "fullstack" webdev (front/back/AWS), generative & evolutionary algorithms/art/design/aesthetics/music, geometry/graphics, parsers, renderers, simulation (agents/CFD/particles/physics), shaders, typography, UI/UX/IxD...
Since 2018 my main endeavor has been https://thi.ng/umbrella, a "jurassic" (as it's been called) monorepo of ~185 code libraries, addressing many of the above topics (plus ~150 examples to illustrate usage). More generally, for the past decade my OSS work has been focused on #TypeScript, #C, #Zig, #WebAssembly, #Clojure, #ClojureScript, #GLSL, #OpenCL, #Forth, #Houdini/#VEX. Earlier on, mainly Java (~15 years, since 1996).
Formative years in the deep end of the #Atari 8bit demoscene (Chip Special Software) & game dev (eg. The Brundles, 1993), B&W dark room lab (since age 10), music production/studio (from 1993-2003), studied media informatics, moved to London initially as web dev, game dev (Shockwave 3D, ActionScript), interaction designer, information architect. Branched out, more varied clients/roles/community for my growing collection of computational design tools, which I've been continously expanding/updating for the past 20+ years, and which have been the backbone of 99% of my work since ~2006 (and which helped countless artists/designers/students/studios/startups). Creator of thi.ng (since 2011), toxiclibs (2006-2013), both large-scale, multi-faceted library collections. Early contributor to Processing (2003-2005, pieces of core graphics API).
Worked on dozens of interactive installations/exhibitions, public spaces & mediafacades (own projects and many collabs, several award winning), large-scale print on-demand projects (>250k unique outputs), was instrumental in creating some of the first generative brand identity systems (incl. cloud infrastructure & asset management pipelines), collaborated with architects, artists, agencies, hardware engineers, had my work shown at major galleries/museums worldwide, taught 60+ workshops at universities, institutions and companies (mainly in EMEA). Was algorithm design lead at Nike's research group for 5 years, working on novel internal design tools, workflows, methods of make, product design (footwear & apparel) and team training. After 23 years in London, my family decided on a lifestyle change and so currently based in the beautiful Allgäu region in Southern Germany.
@flaki@flaki.social
Time for a proper introduction!
I'm an open-source enthusiast and self-hosting masochist. Initially a #JavaScript developer, still doing all things web, big #WebAssembly fan, recovering conference addict. I am a #DevRel focusing on #DevEx & OSS communities in particular. Also a staunch advocate of flexible, async remote work.
I co-founded #RustFest¹ with @jer & @skade :ferris:
Frequently have Opinions™ and post about #conferences, especially online, #remoteWork, my #homelab & #selfhosting hobby (currently rebuilding, follow along at #homelabNG )
At my day job at https://radiopaedia.org I mostly complain about Ruby/Rails or DICOM² :ablobcatbongokeyboard:
For Canine Cuteness head to #pupdate, @lumi & @iris :blobdogheart:
Other contacts and chat: link in bio :brows:
📸 by Juli Racsko
___
¹ proper fediverse presence coming soon, in the meantime check out @eurorust!
² Digital Imaging and Communications in Medicine https://en.wikipedia.org/wiki/DICOM
@remko@mas.to
Blog post: A #WebAssembly Core for #Uxn https://mko.re/blog/uxn-wasm/
@SpiderMonkey@mastodon.social
We are a little late to the party. How about we do an #introduction?
Hi Fediverse, we are SpiderMonkey, @mozilla’s #opensource engine for #JavaScript and #WebAssembly.
SpiderMonkey is used in Firefox, Servo and various other projects.
This account is run by our engineers, and none of us know how social media works. We were told to use hashtags.
#firefox #opensource #compilers #wasm #foss #privacy #security #performance #community
Nice to meet you!
@remko@mas.to
The video recording of my #Forth and #WebAssembly talk is online: https://www.youtube.com/watch?v=QqW39jElFhA

@jhoward@social.sdf.org
General Interests:
#programming #videoproduction #filmmaking #musicproduction #synth #making #electronics #lasercutting #3dprinting #cnc
Tools I Use:
#cpp #c #webassembly #javascript #juce #qt #bitwig #freecad #shapeoko #lightburn #solvespace #openscad #esp32 #raspberrypi #linux #vim
Looking forward to interesting conversation and people with similar interests.
@mattjbones@mastodon.social
I’m matt and I spend a lot of my time building things that people use on the internet. I’m always down for #Frontend chat on all things #JavaScript, #React, #WebAssembly etc.
I’m part scientist🔭🥼 (in another life), part maker🔩🪛, part runner🏃🏽♀️🏃♂️, part climber🧗🧗♂️… the list goes on.
I’m also super curious about how #ActivityPub works and the #Fediverse, so now that I’ve been afforded some time off I may take a deeper look 👀
Nice to meet you, let’s chat! 🗣️