@esoterra@hachyderm.io
@esoterra@hachyderm.io avatar

esoterra

@esoterra@hachyderm.io

🇵🇸 Free Palestine!

#wasm #warg #clawlang

This profile is from a federated server and may be incomplete. Browse more on the original instance.

esoterra, to random
@esoterra@hachyderm.io avatar

meeting overview

Thanks @yosh for presenting!

New @since and @unstable attributes in the component model (applies to everything but fields of records/variants).
https://github.com/WebAssembly/component-model/pull/332

This is being used to help evolve the WASI specs starting with clocks/timezone.
https://github.com/WebAssembly/WASI/pull/605

whitequark, to random
@whitequark@mastodon.social avatar

every compiler project expands until it creates its own version of TableGen. after that it is swiftly replaced with something that is "not as difficult to use", and the cycle continues

esoterra,
@esoterra@hachyderm.io avatar

@whitequark I'm unfamiliar with TableGen and am trying to read the docs to try to get the joke better. It's very confusing and I don't understand it tbh... which feels fitting I guess.

sunfish, (edited ) to random
@sunfish@hachyderm.io avatar

Social media: you're a bad open source project and you should feel bad if you don't:

  • have amazingly complete and beautiful documentation
  • have a polished Windows experience
  • personally engage with every bug report
  • have a clean interfaces everywhere, unencumbered by backwards compatibility constraints
  • support backwards compatibility with everything forever

Also social media: Oh and remember to keep it sustainable. Love those sustainabubbles.

esoterra,
@esoterra@hachyderm.io avatar

@sunfish it sucks that the compatibility/hygiene expectations people have are completely incompatible

brunoph, to random
@brunoph@breakpoint.cafe avatar

Since Stack Exchange decided to jump the shark as well, this is a reminder that the whole network's data is licensed cc-by-sa 4.0 (a decision made in the beforetimes, and one which they're likely regretting at this point). This means anyone can setup a mirror/browser of this data as long as it's attributed back: https://archive.org/download/stackexchange

esoterra,
@esoterra@hachyderm.io avatar

@brunoph wait, what happened?

fasterthanlime, to random
@fasterthanlime@hachyderm.io avatar

oh no, not my brand!

esoterra,
@esoterra@hachyderm.io avatar

@fasterthanlime it's funny to me that because your TLD matters to the name, none of the mentioned domains make any sense or clash with your naming anyway

isntitvacant, to webassembly
@isntitvacant@hachyderm.io avatar

It's here! It's here!

This is the best job I've done conveying why I'm so enthusiastic about – or at least, the most succinct job I've done! We walk from the 1960's right up to the present day and, as a bonus, uh

we find out how java killed plan 9

>> <<

https://www.youtube.com/watch?v=M2SozFIL4o0

esoterra,
@esoterra@hachyderm.io avatar

@isntitvacant it was a great talk!

esoterra, to random
@esoterra@hachyderm.io avatar

I think with 0.2 out, 1.0 just released, and the huge push for right now, it would be a perfect time for someone to create an ActivityPub/ActivityStreams WASI proposal and get a Mastadon server compiling to Wasm.

esoterra,
@esoterra@hachyderm.io avatar

Not something I have time to take on right now, but I'd be happy to advise anyone looking to take this on on the Wasm/WASI side.

sunfish, to random
@sunfish@hachyderm.io avatar

I'm starting to think the phrase "ambient authority" distracts from what matters.

The reason ambient authority is problematic in traditional systems is that it's

  • coarse-grained (eg: you can do anything the owning user can do), and
  • not conveniently interposable (eg: it's seccomp time!).

"Ambient" focuses on the way authority is presented, but systems can have coarse-grained handles with inconvenient interposition, and have the same problems.

esoterra,
@esoterra@hachyderm.io avatar

@sunfish I think ambient security is also less scary when it's over a closed scope (e.g. a component) and those scopes can be safely nested (e.g. composition)

hywan, to rust
@hywan@fosstodon.org avatar

USV, https://github.com/sixarm/usv.

Unicode Separated Values (USV) data markup for units, records, groups, files, streaming, and more.

A better CSV, TSV, or ASV. It uses existing UTF-8 symbols. An RFC for the IETF has been submitted, https://www.ietf.org/rfc/rfc4180.txt.

It comes with Rust crates. Even converters, like usv-to-csv and csv-to-usv (https://github.com/SixArm/csv-to-usv-rust-crate and https://github.com/SixArm/usv-to-csv-rust-crate).

Pretty neat and clever!

esoterra,
@esoterra@hachyderm.io avatar

@hywan the fact that the acronym collides with Unicode Scalar Value is awkward.

esoterra, to webassembly
@esoterra@hachyderm.io avatar

I am officially to continue and expand my work with .

With 0.2.0 now officially launched, now is a great time to invest in the Component Model and I can help!

I'm actively engaged in the Component-Model standards process and am giving a talk in two weeks at Wasm IO!

https://2024.wasmio.tech/sessions/claw-and-the-future-of-component-native-programming-languages/

esoterra, to random
@esoterra@hachyderm.io avatar

I've been doing some thinking about "Component-Aware" optimizations to implement in component-opt.

I realized that we can think of this as Whole Program Optimization (WPO) or Link-Time Optimization (LTO) for Wasm components, which helps distinguish it from the kind of optimizations wasm-opt does on single modules.

Here's the list of optimization passes I've come up with so far:
https://github.com/esoterra/component-opt/issues/1

sunfish, to rust
@sunfish@hachyderm.io avatar

Rust PSA: If you use the is-terminal crate:

As of Rust 1.70, the Rust standard library includes the IsTerminal trait, so you can use that, instead of depending on the is-terminal crate!

https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html

esoterra,
@esoterra@hachyderm.io avatar

@sunfish wow ~50 million downloads. That's huge.

I imagine it's rewarding to have made something that useful and then not have to maintain it forever because it's now in std.

sunfish, to webgpu
@sunfish@hachyderm.io avatar

A lot of people have asked, will there be a API in ?

And there's now a prototype of this, in preparation for a phase-1 proposal vote!

@Mendy has built a prototype of a WebIDL-to-Wit translator:

https://github.com/MendyBerger/webidl-wit

and used it to build a WebGPU prototype with a host implementation:

https://github.com/MendyBerger/wasi-webgpu

esoterra,
@esoterra@hachyderm.io avatar

@sunfish @Mendy this is awesome!

esoterra, to random
@esoterra@hachyderm.io avatar

Don't you love when in the middle of your VS Code: Remote WSL session, VS Code updates itself, restarts, and then crashes immediately and without an obvious fix because it now depends on a more recent glibc.

esoterra,
@esoterra@hachyderm.io avatar

@brettcannon maybe I accidentally hit some hotkey, but I definitely didn't do it intentionally.

I was able to get everything out (though it was a bit painful since I was using GitHub auth in VS Code and had to add a new ssh key and...) and am now in my Ubuntu 20.04 WSL and have set it as default now.

esoterra, to random
@esoterra@hachyderm.io avatar

Come check out the Bytecode Alliance community stream!! @ricochetcode, Luke Wagner, and Alex Crichton are here talking about Preview 2 and beyond!!

https://www.youtube.com/live/zxwutH0rvQA?si=HL1Qa_mm1Omi-IcH

yosh, to random
@yosh@toot.yosh.is avatar

I sometimes wonder: “what if Rust bools were just another enum” and while not actually practical or anything imo, it’s a pretty fun thought exercise?

If/else statements are a really fun one here. We don’t want to have to write:

if let true = x {}

but instead we want to be able to write:

if x {}

Which I think we could do via a trait. But if we allowed that and made the trait stable, other enums could be “truthy” or “falsy”, which I’m not sure we’d want.

esoterra,
@esoterra@hachyderm.io avatar

@yosh IMO truthiness as a trait implementable on any type isn't ideal. It's nice that people have to do .is_ok() or similar to explicitly produce a truth value from a non-bool value.

esoterra, to random
@esoterra@hachyderm.io avatar

I will be speaking at in March about the Claw programming language and the exciting possibilities for component-native programming languages.

https://2024.wasmio.tech/sessions/claw-and-the-future-of-component-native-programming-languages/

brettcannon, to random
@brettcannon@fosstodon.org avatar

Announcing a proof-of-concept record type for Python https://snarky.ca/my-proof-of-concept-record-type/

If you happen to remember my struct syntax proposal, this is effectively implementing that idea via a function decorator. If there's enough positive feedback I will consider writing a PEP to propose this as syntax.

esoterra,
@esoterra@hachyderm.io avatar

@brettcannon is the advantage as compared to existing options purely syntactic or are there performance, ergonomics, and/or feature advantages too?

sunfish, to random
@sunfish@hachyderm.io avatar

After some simplifications, the BigWave experiment is feeling nicely plausible.

https://gist.github.com/sunfishcode/0247c4168a940337111c4fe9ef947aae

esoterra,
@esoterra@hachyderm.io avatar

@sunfish I really like how simple raw and multiline strings look

sunfish, to random
@sunfish@hachyderm.io avatar

Wasm I/O was a great conference last year, and I expect next year's will be great too.

Unfortunately, it appears I will not be attending, as my company is not providing travel budget for it.

esoterra,
@esoterra@hachyderm.io avatar

@sunfish that's a shame, I had hoped to see you there and I know the community would've benefited from an opportunity to interact with you.

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

@sunfish hey! I wanted to reach out about wasi-logging – through Dylibso, I'm starting an effort to create a wasi-observe WASI interface 1. I'd like to depend on wasi-logging; do you think that would be a good course going forward?

(Also, if you have any tips about navigating the WASI proposal process or early feedback about the proposal, I'd be grateful – this is the first WASI proposal I've worked on.)

esoterra,
@esoterra@hachyderm.io avatar

@isntitvacant @sunfish with the structured concurrency coming in preview 3 async, there are some interesting options for the host to handle span enter/exit, manage trace ids, etc. automatically that I think are exciting.

isntitvacant, to rust
@isntitvacant@hachyderm.io avatar

Sort of a request: as you may know, I've been working on generating Blender bindings for a Wasm plugin.

As you may further know, I'm generating about 22MiB of Rust bindings in a single file.

rustc is ...okay... with this. A little slow, but not terrible. Rust-analyzer, however, well.

Does anyone have tips for generating (voluminous) bindings that play nicely with rust tooling, like RA and rustc?

esoterra,
@esoterra@hachyderm.io avatar

@isntitvacant maybe a separate bindings crate to improve incremental compilation of downstream stuff?

esoterra,
@esoterra@hachyderm.io avatar

@isntitvacant I mean no promises 😅

it just seems reasonable that the more RA can think of your bindings as "already compiled code" and not code being edited, the better it might behave.

Lmk how it goes!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • megavids
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • provamag3
  • tester
  • Leos
  • JUstTest
  • All magazines