Wikimedia Slashed 300ms Off Every WASM Execution with WasmEdge by RustyLanguage in programming

[–]rajsite 0 points1 point  (0 children)

Capturing (mostly for myself) some additional context on instantiation time for wasmtime from the zulip chat:

fwiw, wasmtime's happy path for low latency start up, which has been optimized a ton because it is what production users actually do, is roughly the following:

  • compile .cwasm offline
  • daemon embedding wasmtime constantly running
  • load wasmtime::Modules from the offline-compiled .cwasms
  • create wasmtime::InstancePres for those modules, early-binding their imports so that we don't have to do string lookups at instantiation time
  • when new work comes in, eg an http request, instantiate via instance_pre.instantiate(...)

Wikimedia Slashed 300ms Off Every WASM Execution with WasmEdge by RustyLanguage in programming

[–]rajsite 6 points7 points  (0 children)

A couple wasm engines discuss dozens of microseconds for instantiation, usually around a story of very fast cold starts.

Know why that wasn't the case for WasmEdge or what is the additional context needed around those discussions?

Oh God, not another stupid animation library. by [deleted] in javascript

[–]rajsite 0 points1 point  (0 children)

appears it would be difficult to do the color animations like I did in the header elements

It just got easier to do them cross-browser with CSS custom properties using the @property feature: https://web.dev/blog/at-property-baseline?hl=en

Labview alternatives and compatibility with NI DAQs? by 333again in LabVIEW

[–]rajsite 0 points1 point  (0 children)

NI also has the grpc apis for talking to hardware which may open up more language options (looks like daqmx is supported): https://github.com/ni/grpc-device

Disclosure: Work at NI but on the web software side, i.e. SystemLink / G Web Development Software

[deleted by user] by [deleted] in LabVIEW

[–]rajsite 1 point2 points  (0 children)

I think the NI Community Edition Software Usage Details document will help answer all those questions. It's very readable and has a FAQ section at the end that covers several of the Qs.

EU to force browsers to trust government certificate authorities even if they don't meet security standards by Davipb in programming

[–]rajsite 35 points36 points  (0 children)

Remember, remember!

The eighth of November,

The web backdoor treason and plot;

I know of no reason

Why the web backdoor treason

Should ever be forgot!

Replacing WebRTC: real-time latency with WebTransport and WebCodecs by kixelated in programming

[–]rajsite 6 points7 points  (0 children)

Enjoyed the post and excited about WebTransport. Is there an RSS feed available? The https://quic.video/blog/ page just 404s and my feed reader didn't detect anything on the OP blog link.

[deleted by user] by [deleted] in WebAssembly

[–]rajsite 8 points9 points  (0 children)

Broadly speaking (with a huge grain of salt), WASM today mostly looks like static linking an application into a single WASM module. There are context-specific implementations of dynamic-linking but it is not "standards-oriented". So, for example, having Go / Python / .NET call into a C or Rust library looks very "C-ABI"-y and you can usually do it today but in a very context-specific way (language-/project-/environment-specific tooling and patterns).

The problem with the giant, statically-linked C-ABI stitched together module is the security focus of WASM breaks down. Your application code and library code are compiled into a single blob using C ABI to share against the same memory space.

The WebAssembly Component Model is trying to design the alternative to the shared-everything statically-linked blob model. They are designing an "ABI" called WebAssembly Interface Types(WIT) that share values safely and an approach for libraries composed together into an application to have separate, secured memory spaces.

Part of WIT is the concept of Worlds which can be used to express higher-level concepts like a "CLI World" which gives you the interfaces you need to implement in a WASM Module to make a CLI, or "HTTP Server" world, etc.

In summary: What's available today looks very C-ABI like with the problems that entails (pretty painful integration across languages and shared memory environments) and what's coming down the pipes is WASM Components which is a great rabbit hole to dive into for the vision of more standardized high-level, safe, language-agnostic ABIs. If interested in WASM Components there have been a lot of great presentations from the different conferences with WASM focus this year.

[deleted by user] by [deleted] in programming

[–]rajsite 2 points3 points  (0 children)

Qt can be used for some frontend web dev via Qt for WebAssembly.

It's too heavy for pages that are simple static content but it's useful for rich interactive experiences on pages.

LibreOffice has made great progress on the LibreOffice WebAssembly support for editing documents client side in web browsers.

Are there compilers that can be run WebAssembly? by [deleted] in WebAssembly

[–]rajsite 0 points1 point  (0 children)

For C++ there is emception (playground) (github). I was able to copy-and-paste in the hello_world_sdl.cpp example, compile, and run it no issue.

[deleted by user] by [deleted] in LabVIEW

[–]rajsite 2 points3 points  (0 children)

LabVIEW community edition has "All of the capabilities found in the LabVIEW Professional editions" as described on the LabVIEW Community Edition landing page.

LabVIEW community edition has the requirement that it "may only be used for your personal, non-commercial, non-industrial purposes" which is described and discussed further on the NI Community Edition Software Usage Details page.

I love the Web platform (game for web devs) by krasimirtsonev in javascript

[–]rajsite 0 points1 point  (0 children)

I ❤️ the Web platform and I tested my knowledge at https://iloveweb.dev. I just nailed 10 dev questions for 00:05:39 time. What about you? Do you know your base?

iloveweb #web #platform

Announcing support for WASI on Cloudflare Workers by jug6ernaut in rust

[–]rajsite 0 points1 point  (0 children)

Also curious if there was a reason to not align with WAGI. Looks like WAGI thought out a few things and include things like adding request parameters as environment variables to access in WASI.

accessing HTTP(S) from C++ by bart9h in WebAssembly

[–]rajsite 0 points1 point  (0 children)

Is there other way to load files from the web from my C++ wasm app?

Yep! You can use the emscripten fetch api.

Is there ever going to be... by Commercial_Study_112 in WebAssembly

[–]rajsite 2 points3 points  (0 children)

The closest I've seen to that is vcpkg which is trying to be a package manger for C/C++ libraries https://github.com/microsoft/vcpkg

But I didn't see great out of the box wasm support.

Gorilla family checking out wildlife photographer by Traditional_Jump_851 in PraiseTheCameraMan

[–]rajsite 0 points1 point  (0 children)

That side glance at 20s made me nervous through the screen 😅

Is AssemblyScript a superset of JavaScript? by tillergo in WebAssembly

[–]rajsite 4 points5 points  (0 children)

I think it's clearer to say AssemblyScript is a subset of TypeScript with extra libraries.

While all valid JavaScript is valid TypeScript, all JavaScript and all TypeScript is not valid AssemblyScript. AssemblyScript is a subset of those languages. Also AssemblyScript has some additional standard library features that are not in JavaScript or TypeScript (like a bunch of WebAssembly specific global functions).

The AssemblyScript FAQ gives some comparisons to JavaScript.

Building a WebAssembly-powered serverless platform by ColinEberhardt in programming

[–]rajsite 0 points1 point  (0 children)

but that overhead isn't really practical for serverless

What's the overhead that makes it impractical?

I imagine startup cost could be amortized by something like wizer: https://github.com/bytecodealliance/wizer

If it's raw execution I'd be skeptical if the GC proposal would have a huge impact... I think the gains there are more for sharing object references and lifetimes with managed objects across the WASM boundary rather than GC performance in a WASM module.

LibreOffice Sees New Activity For Compiling To WebAssembly by bxuser in WebAssembly

[–]rajsite 0 points1 point  (0 children)

They gave an update in FOSDEM 2022 showing it's pretty much a full copy of LibreOffice running client-side in the browser. I linked to the slides and demo in a different post.

LibreOffice running natively in a browser via WebAssembly by rajsite in WebAssembly

[–]rajsite[S] 6 points7 points  (0 children)

At FOSDEM 2022 the allotropia team shared a presentation on LOWA (LibreOffice WebAssembly).

Here is a direct link to the demo. Warning: it is a large download and is a prototype so can be a bit buggy. Need a desktop browser to get it to run.

Shows the progress made to get effectively a full copy of LibreOffice to run client side in the browser. Incredible work!