31 Followers
110 Following
129 Posts

Software engineer at @cosmonic

wasi-gfx.

Proud kidney donor, stem-cell donor, liver donor, T-cell donor.

http://mendyberger.com

i built an entire x86 CPU emulator in CSS (no javascript)

you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS

https://lyra.horse/x86css/

WebAssembly is a second-class language on the web, but how can we make it first-class? WebAssembly Components could be the answer…

https://hacks.mozilla.org/2026/02/making-webassembly-a-first-class-language-on-the-web/

Why is WebAssembly a second-class language on the web? – Mozilla Hacks - the Web developer blog

This post is an expanded version of a presentation I gave at the recent WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The 1.0 version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of applications to efficiently target the web.

Mozilla Hacks – the Web developer blog

🦀 I've improved the implementation behind all the string formatting macros in Rust: println!(), panic!(), format!(), write!(), log::info!(), and so on. (That is, everything based on format_args!().) They will compile a bit faster, use a bit less memory while compiling, result in smaller binaries, and produce more efficient code! 🎉

'Hello world' compiles 3% faster and a few bigger projects like Ripgrep and Cargo compile 1.5% to 2% faster. And those binaries are roughly 2% smaller. 🎊

This change will be available in Rust Nightly tomorrow, and should ship as part of Rust 1.93.0 in January.

#rustlang

10 Years of Wasm: A Retrospective

In April of 2015, Luke Wagner made the first commits to a new repository called WebAssembly/design, adding a high-level design document for a “binary format to serve as a web compilation target.”

Bytecode Alliance
@sylefeb bottom line, I think this might be a bug in emscripten

@sylefeb I also looked at what Dawn does. They just call GetMappedRange inside getConstMappedRange

https://github.com/google/dawn/blob/bf2d36fb88e9836f67309f7c1fc899be1853e432/src/dawn/native/Buffer.cpp#L759-L765

@sylefeb thanks for the additional information! I finally had a chance to look at it.

After looking at the docs, I don't think that only wgpuBufferGetConstMappedRange should return the data. There's nothing indicating that in the headers

https://github.com/webgpu-native/webgpu-headers/blob/0bfcdc4f487023d85e33597de0a94fc523e30fca/webgpu.h#L5998C1-L5998C63

webgpu-headers/webgpu.h at 0bfcdc4f487023d85e33597de0a94fc523e30fca · webgpu-native/webgpu-headers

webgpu.h - C version of the JS API, for both native and Wasm. A multi-vendor standard between Dawn/Emdawnwebgpu and wgpu-native. Designed primarily for binding into higher-level languages. - webgpu...

GitHub

@sylefeb I don't see that in the link you provided.

If that's the expected behavior, I gotta fix that in the wasi:webgpu implementation of webgpu-headers

https://github.com/wasi-gfx/wasi-webgpu-headers/blob/28c37d96c90dc4a20cdee11ff70ff64e9368d2e6/webgpu.c#L277

@veeso_dev sounds interesting! Looking forward to read it!