#Wasm
Haskell webassembly in the browser - http://joeyh.name/blog/entry/Haskell_webassembly_in_the_browser/ #wasm #webassembly #haskell
"Eine Umfrage von CNCF zeigt, dass immer mehr Entwickler WebAssembly für Projekte jenseits des Browsers einsetzen. Sie schätzen Flexibilität und Portierbarkeit." - https://www.heise.de/news/Umfrage-WebAssembly-waechst-ueber-das-Web-hinaus-9298069.html #wasm #webassembly
Introducing the Wasm landscape - https://www.cncf.io/blog/2023/09/06/introducing-the-wasm-landscape/ #wasm #webassembly
Is #wasm never getting DOM access or am I missing something here https://webassembly.org/roadmap/
It's official: You can now run R Shiny apps without a back-end Shiny server. @posit_glimpse announced 3 different ways this currently works: https://www.infoworld.com/article/3707250/shiny-r-web-framework-arrives-in-wasm.html
Looks like they also "hard code" class B addresses:
https://github.com/wasix-org/wasix-libc/blob/main/libc-bottom-half/headers/public/wasi/api_wasix.h#L2616
Pretty sure n0/n1 means network, and h0/h1 means host. They also don't define the byte layout of this (that I can find, addr_port is not defined in the documentation), so you can't just use inet_addr or inet_pton or a similar layout. So who knows how this works.


WASI support in Go - The Go Programming Language
https://go.dev/blog/wasi
Tried Leptos yesterday using https://github.com/leptos-rs/cargo-leptos and it was really straightforward. I like the fact that they are using signals instead of hooks (dioxus).
Looks like it might be pretty easy to get something like Tailwind/DaisyUI working.
My only concern is - as usual - you get one big Wasm bundle (not chunks since it's not there yet). Though parsing Wasm is faster than parsing JS https://leptos-rs.github.io/leptos/appendix_binary_size.html
KorGE, the Kotlin multiplatform game engine is back 🙂
Plan 9 enthusiasts: I have released a wasm interpreter for plan 9, allowing you to easily run non-native wasi CLI tools on p9. It can also "package" wasi programs to run like native apps, the same way you do for RC. It is totally not just a frontend for wazero.
Try it here! -> https://github.com/SlashScreen/ricket
#plan9 #plan9frombelllabs #golang #wasm #wasi #glenda #FOSS
The systems programming language that the co-creator of #WASM has been working on for over 20 years:
#Virgil is a programming language designed for building lightweight high-performance systems. Its design blends functional and object-oriented programming paradigms for expressiveness and performance. Virgil's compiler produces optimized, standalone native executables, WebAssembly modules, or JARs for the #JVM. For quick turnaround in testing and debugging, programs can also be run directly on a built-in interpreter. It is well-suited to writing small and fast programs with little or no dependencies, which makes it ideal for the lowest level of software systems. On native targets, it includes features that allow building systems that talk directly to #kernel, dynamically generate machine code, implement garbage collection, etc. It is currently being used for #vm and programming language research, in particular the development of a next-generation #WebAssembly virtual machine, Wizard.
https://github.com/titzer/virgil
Talk @ #SIGPLAN #VMIL
https://www.youtube.com/watch?v=jNcEBXqt9pU
Is the #Linux world witnessing the preparations for another disruption event? A lot of exciting, innovative, new technology is looking for an outlet. #linuxkernel #opensource #opensourcesoftware #rust #rustlang #wasm #gcc #llvm #gnu
https://www.linkedin.com/pulse/next-linux-disruption-david-edelsohn
@sebsauvage agreed. #SQLite getting incredibly popular for all kinds of use cases. And including production DB at relatively high scale too.
What popped up in my head as an extension of this thought experiment, having taken an interest for #WebAssembly (server-side Component Model + #WASI) was SQLite + #Wasm ..
https://www.sqlite.org/wasm/doc/trunk/index.md
And then picture - in this case - OpenDocument as a WASI interface, backed by SQLite.
@prma #rustlang #community needs to build a util to embed #wasm apps. let's wait...
Une sorte de superset qui renvoie du code C (par défaut), du JS ou du #WASM (et un peu de C++ en cours de support), ou un binaire / une bibliothèque partagé. Là où Lua apporte au contraire la facilité de l'interprétation au code bas niveau, facilement "embarquable".
Le langage V se veut donc une sorte de grand traducteur et de ré-unificateur de concepts-clé, pour des langages plus "bas niveau" (ça, ça se discute).
2/
⚡ Crap: WASMtoy.
➥ Angelo Pesce
「 The main issue is that WASM is clearly made for compiler writers, not to be used directly. Register access is terrible, with explicit get/set that move from registers to the stack 」
On November 20th, I'll be giving a talk at @rustlab about the #Zellij #wasm plugin system. I'll present lots of features that don't exist yet.
I'm going to develop these features and blog about them here. Each feature will get its own sub-thread.
The features:
1. UI components for plugins
2. Session resurrection
3. Load plugins from the web
4. Start plugins in-place
5. Headless plugins
6. Plugins as middleware
7. Pipe output to plugins
8. Read viewport from plugins
9. Plugin web access
Hey everyone, I just made something cool!
I wrote a fractal viewer in C++, compiled it to #Wasm using #Emscripten, and put it on my website (https://kalankaboom.net/).
I wrote an article on how I made it, and I would love for you to check it out and give me all the feedback you can!
Here's the article : https://kalankaboom.net/articles/rewrite_it_in_wasm.html
And here's the tool : https://kalankaboom.net/projects/mandelwasm/

@aohorodnyk I have a web framework for writing frontend on #golang using #wasm:
https://github.com/life4/gweb
Some demos:
https://gweb.orsinium.dev/
I even have a zero-js browser game written on it:
https://gweb.orsinium.dev/breakout/
I use it for a lot of crazy stuff. For example, here is a playground for svg.py, a #python library for making svg images:
https://svg.orsinium.dev/
Hey cool the #wasmcon talks are already published! Watch me talk about #wazero here #wasm #webassembly 👇 https://youtu.be/j09Svvvtd0E?si=y1jNmF3WinUfJj7B
WEPL - The WebAssembly Component repl
What languages are supported in #WebAssembly outside the browser?
among things discussed
- #wasmcon
- idea of hardware #wasm components
- contrast between #wasm and tee (trusted computing environments)
- wasmtime and cranelift
- why wasmtime fast module instantiation helps with security
- current movements in mustang and friends (https://github.com/sunfishcode/mustang)
Chrome sent an Intent to Ship for #WebAssembly Garbage Collection 🗑️, also known as #WasmGC, earlier today: https://groups.google.com/a/chromium.org/g/blink-dev/c/K_GpDF0y5Q8/m/XIJSfbTHBwAJ?utm_medium=email&utm_source=footer&pli=1. This allows bringing garbage-collected languages like Java, Kotlin, or Dart to #Wasm, without having to bring their own garbage collection logic. I'm especially excited about the experience the Google Sheets team has documented: https://docs.google.com/document/d/1KsbQLh_RzM9ixF6bzmJwyRMQLE-rSFlz_zNoGv-EITY/edit?usp=drivesdk.
A fun new library implementing a JSON serialization for #Wasm Component Model values:
The #Wasm CG just voted wasm-gc to Phase 4!
WASM breaking out of the browser, going cloud now
https://thenewstack.io/webassembly-reaches-a-cloud-native-milestone/
an excellent talk on the #wasm component model, what it enables, what is built around it, and what is planned (given at #wasmcon2023 https://wasmcon2023.sched.com/event/1P96K/keynote-what-is-a-component-and-why-luke-wagner-distinguished-engineer-fastly): https://www.youtube.com/watch?v=tAACYA1Mwv4
🤔 Developers have doubts about WebAssembly
"about 22% of participants in the report indicated pessimism about Wasm adoption for either the web or non-web environments. Further, 83% of the respondents reported challenges with Wasm including difficulties with debugging and troubleshooting, different performance between runtimes, lack of consistent developer experiences between runtimes, lack of learning materials, and compatibility issues with certain browsers"
https://www.infoworld.com/article/3706249/developers-have-doubts-about-webassembly-report-finds.html
If you are at the container days in Hamburg today and curious about what could look like a Kubernetes security engine combined with WASM, don't miss my colleague Victor Cuadrado Juan talk at 14:45 in the k6s room
#Development #Findings
The State of WebAssembly 2023 · Adoption, applications, challenges, opportunities, languages https://ilo.im/157h5p
_____
#WebDev #Programming #Frontend #Backend #WebAssembly #WASM #WASI #JavaScript #Rust #Survey
Pure Wasm Life 2: Optimizing Webassembly and Canvas https://ashen.earth/wasm-game-of-life-2 | https://lobste.rs/s/kry2qn #performance #wasm
The State of #WebAssembly (#Wasm) survey results got published: https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf (PDF). The IMHO most interesting slide is slide 17, which names debugging and troubleshooting as one of the top challenges.
WIP. Updated a lot of the code. Added initial sound support (pc speaker) with test tune.
Now the intro can be run in DosBox in a browser!
=> https://demoscene.p1x.in/intros/01/
It runs 2x fast as it should but still fascinating :)
@awoodsnet Rust compiled to WASM, or an easier language also compiled to #WASM.
(i said 'finally' i lied i am sick leave me alone okay ugh)
actually-finally, he touched on the module system, the missing pieces there, what all has been missing … and how after working hard to add and reconcile all the missing pieces to the existing modularization, they basically ended up with #OCaml-style functors … and then realized that … and then just decided to add #functors to #Wasm. 😱
(i had to duck out, so, again, no screenshots. cool as fuck, though.)
so, talk moved on to big new things coming in #Wasm 3.0 — and this stuff was super-exciting, and over and over has amazing parallels to #OCaml???
first: garbage collection? in a low-level VM???
reasoning: “GC is kinda the worst-case situation, for working on top of an abstraction-layer like WebAssembly”
Looking for a little light travel reading on the way to #wasmcon?
Consider "Understanding WASM, part 3: You Are Here"! It's a deep dive on system interfaces: what they are, their history, and what WASI might mean for them.
https://www.neversaw.us/2023/09/04/understanding-wasm/part3/you-are-here/
Writing a C compiler in 500 lines of Python https://vgel.me/posts/c500/ | https://lobste.rs/s/qxiynu #c #compilers #python #wasm
🦀 WebAssembly/Rust Tutorial: Pitch-perfect Audio Processing
https://www.toptal.com/webassembly/webassembly-rust-tutorial-web-audio
From browser brat to backend boss: Will WASM win the web wars? https://www.theregister.com/2023/09/01/wasm_column/ by @sjvn
Sometime soon, #WASM will live up to its hype and change how we use our servers and cloud.
We have uploaded the first talk from this week's meetup of the Copenhagen Rust Community 🦀
Watch @mikkelhegn's introduction to serverless WebAssembly with Spin:
https://www.youtube.com/watch?v=xPgmXRg3O0Y
Thanks to everyone who showed up and to Fermyon for sponsoring the meetup!
If you like to hear about customising #Flatcar #Container #Linux using #systemd's cutting edge composable image technology and/or are interested in the latest #webassembly things, make sure to tune in on the #WasmCon talk
"Let's Build a Linux Just for #wasm !"
with @squillace and @ahrkrak
on Thursday September 7, at 2:15pm - 2:50pm PDT.
(link to stream here: https://wasmcon2023.sched.com/event/1PCLu?iframe=no)
#HowToThing #010 — Creating a basic web app with declarative UI/DOM creation via Zig/WebAssembly and the super extensible https://thi.ng/wasm-api and its https://thi.ng/wasm-api-dom add-on module, both hybrid TypeScript/Zig libraries. See alt text of images for details.
Demo:
https://demo.thi.ng/umbrella/howtothing-010/
Source code:
https://gist.github.com/postspectacular/08098359f75fa703a2cda64b1258a459
Also see the related project template (and its readme and comments) this example is based on:
https://github.com/thi-ng/tpl-umbrella-zig
Also, several more advanced (and interesting) hybrid Zig/TypeScript examples and extensive docs can be found in the https://thi.ng/wasm-api readme...
#ThingUmbrella #Ziglang #Zig #WebAssembly #WASM #TypeScript #JavaScript #WebDev #Tutorial
I'll be spreading the #Wasm love at with talks, workshops and a panel at #Dockercon in LA, October 4-5.
If you're developing with containers it'll be a great event to attend. Use discount code DOCKERLOVER300 for $300 off list price.
「 p2panda gives developers the tools to build local-first websites, mobile- and desktop applications which run in decentralised networks. Building applications on top of p2panda means that you can truly call data your own as the protocol encourages that it can be stored everywhere, even just on your local computer 」
#DevLog : Rewriting the #PSX launch title #Wipeout game from the original abandoned/leaked source code to now be playable via Windows, Linux, or right in your browser via #WASM
Props, kudos and laurels all around.
We moved to 🏠 mozilla.social so let's do a #reintroduction! 👋
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!
ICYMI, we shared some BIG news yesterday!
Fission received an $800,000 grant to continue its work on IPVM from the Arcological Association and the IPFS Network Capital Pool.
IPVM is bringing decentralized Wasm computation to content-addressed data, and we could not be more excited about its potential.
https://fission.codes/blog/ipfs-impact-grant-ipvm-decentralized-wasm-computation/ #IPVM #Wasm #edgecomputing
Added an entry to "Rust Render" to my main website project list.
Rust Render is a little project to animate a Julia Set with its offset values rotating through the complex plane over time.
BIG NEWS! 📣 We're pleased to announce that Fission has received an $800,000 USD grant to support further applied research of the InterPlanetary Virtual Machine (IPVM) protocols and the Homestar reference implementation from the Arcological Association and the IPFS Network Capital Pool.
We're also #hiring a full-time software engineer to work on the Homestar implementation.
Learn more here: https://fission.codes/blog/ipfs-impact-grant-ipvm-decentralized-wasm-computation/ #WebAssembly #Wasm #IPVM #decentralizedweb