@yosh@toot.yosh.is
@yosh@toot.yosh.is avatar

yosh

@yosh@toot.yosh.is

Better things are not only possible; they're within reach.

Concurrent Computing ←
Programming Language Design ←
Rust and WebAssembly at Microsoft ←

u(๑╹ᆺ╹)

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

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

Calling people you disagree with "melodramatic", "unserious", and questioning their technical acumen is not a way to navigate technical disagreements. Those are rhetorical tactics meant to make people feel bad and get them to shut up.

Bully behavior like this has no place in the Rust community, and we need to call it out when we see it. Disagreeing is fine. Even "bad" or poorly reasoned arguments are fine. But belittling and insulting others absolutely never is.

https://without.boats/blog/thread-per-core/

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

When people say: “COVID is here to stay” it just sounds like people are throwing in the towel? Like, to me it makes as much sense as if people were to look into our water supply and said: “Cholera is here to stay.”

What do they even mean? Just like we can filter water, we can filter air. This is a thing we know how to do, is relatively inexpensive, and if subsidized would likely pay itself back in productivity gains alone. It really shouldn’t be that hard.

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

New blog post: Reasoning About ABIs

https://blog.yoshuawuyts.com/reasoning-about-abis/

I've used ABIs a bunch in the past, but despite understanding what they do, I never quite understood how to reason about them. Now that I've been using WASI for a bit my perspective has changed, and I think I've found a way to reason about ABIs that makes more sense to me?

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

OH HELL YES, TRAIN NEWS!!!! 🚂✨✨

An informal agreement has been reached that trains in the EU will have to have switched to the EU standard rail gage and signaling system by 2040! That means every. Single. Train. in the EU will work on every single track in the EU.

We’re getting one step closer to the dream of transcontinental sleeper trains! Next station: official sign off from EU member states, with votes happening in March and April.

https://www.euractiv.com/section/transport/news/2023-the-year-europe-finalised-its-path-to-greener-transport/

The European Parliament lead on the file Dominique Riquet, a French lawmaker with the centrist Renew group, said with the new rules the EU is "creating the conditions for a shift towards more ecological transport modes, while stimulating the mobility of Europeans and the competitiveness of our economy". However, the centre-right EPP was less impressed, saying that the deal "falls short of our expectations and raises concerns about the real commitment of Member States to create a functioning European transport network". "National priorities jeopardise shared European goals, hindering an ambitious vision for rail," said the EPP's lead MEP on the file Barbara Thaler. "It goes against the EU's commitment to shift traffic from road to rail." The informal agreement will now need to be given the green light by member states and the European Parliament. A confirmation vote in the Parliament's transport committee is expected in March, with a plenary vote in April.

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

@Fishrock o/ found another use case where _::Variant enums would come in handy: all uses of patterns and pattern types!

https://github.com/rust-lang/keyword-generics-initiative/blob/backwards-compatible-pattern-types/evaluation/pattern-types.md#resolving-the-backwards-compatibility-issues

I’d love to be able to put your draft RFC up for this at some point. To me it's almost a no-brainer that we should be doing this for enum variants.

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

I know very little about data frames, but at a glance they remind me a lot of differential dataflow? How would you articulate the differences between the two systems?

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

Again: if you’re on an airplane, you should be wearing a high-filtration mask. It’s sound practice for the entire flight, but especially before takeoff and after landing.

Here are the CO2 measurements from a flight I took yesterday - the two peaks are from embarking and disembarking, showing the plane’s ventilation systems being shut off. This is unfortunately a frequent practice.

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

Eeep eep eep, the Wasi component tooling is shaping up so good. Just a few more months before things really will start to work as intended I thinkkkkkk!

It feels like everyone is just super focused on actually hitting the release deadline, and I'm so incredibly excited for all of this work to come together!

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

Today I finally learned what people mean by the “N+1 problem” and now I’m slightly annoyed. I’ve know about this issue for years, but I never knew the term referred to that — and most explanations I heard weren’t clear enough for me to make the connection.

I think if folks had called it “1+N” instead I probably would have made the connection sooner 😅 — I legit thought it was some sort of undecidebility thing.

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

Gosh, I’d love it if as was syntactic sugar for calling .into!

https://internals.rust-lang.org/t/allow-use-as-and-try-as-for-from-and-tryfrom-traits/19240

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.

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

TIL statics don’t run destructors on program termination, as if I needed another reason not to like them.

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

Started tinkering with my website again. I think this would make for a nice layout for posts?

(Image is for a tablet aspect ratio)

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

A part of the Windows Win32k GDI module has been ported to Rust and has been merged into Windows — which means Windows will soon be booting with Rust in the kernel! 🥳🦀

https://youtu.be/8T6ClX-y2AE?t=3070

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

Oh wait, we get to talk about Hyperlight in public now?

Hyperlight is a Hypervisor by Microsoft which is specifically designed with WebAssembly in mind. Booting VMs takes microseconds (boots 2000 VMs in 1.7s). Uses minimal memory (2000 VMs use 3.1GB of memory). And has response times on par with regular processes.

Imo it’s one of the coolest pieces of infrastructure being worked on in Azure. Mark Russinovich (Azure CTO) shows it in action here:

https://youtu.be/Tz2SOjKZwVA?si=UFMwZvCSiqe3J1FH

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

Holy shit, I love this: https://metric-time.com/

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

Holyyyyyyy, it seems sterilizing vaccines might actually happen? If this ends up working out, it’ll be huge. This would mean vaccines which actually meaningfully stop transmission!

https://www.nature.com/articles/d41586-023-04003-4

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

From talking with @theincredibleholk today we came to the unfortunate conclusion that once we have a Generator trait, we can’t just turn Iterator into a trait alias for it.

Conceptually an iterator is just a generator which takes unit as its resume argument, and whose return argument is also hard-coded to unit.

The issue is that generators return GeneratorState<C, R> from next, while iterators return Option<T>. And we can’t map between the two.

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

Never ceases to stump me that we have the technology to kill 99.95% of airborne viruses, proven to work, non-invasive, cheap to deploy and install, and is produced at scale already and we just like - collectively - kind of just don't really use it.

HEPA-grade air filtration is proven, cheap, and makes everyone's lives strictly better. It, like, makes zero fiscal sense for governments not to mandate its use in all covered public spaces ASAP.

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

I hear some folks claiming that having room-temperature superconductors would revolutionize everything — but like, would it?

When people talk about: “levitating cars”. All I hear is: “levitating traffic-jams”.

“Faster computers” -> “Loading Discord will now take 1s rather than 5s”

“Cheaper MRI machines” -> “Bigger markup for private insurers”

Idk,, it seems exciting from a technical perspective. But I don’t see how it would materially affect the forces which govern us?

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

From what I’m seeing now, both government agencies and consumer advocacy orgs are beginning to encourage organizations to publish roadmaps of how they plan to become memory safe.

I have no inside information on this, so I’m just speculating: but it feels like a first step towards potential regulations? Not sure on what timeline or what scope (e.g. unsafe code needs to be written somewhere). But with memory safety issues being responsible for so many vulnerabilities, it feels like it might stick

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

Geometry is like the type system of transport engineering.

If you don’t want SUVs to drive into bike paths, you can use paint to suggest they maybe shouldn’t. But it’s far more effective to create a physical barrier using trees or bollards to make it physically impossible to.

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

Gah, I still can’t get over the fact that a modern 737 can carry around 200 people with the super cramped economy seating.

While just a 8-carriage double decker sleeper train could carry the same number. But instead of economy seating everyone could have their own private cabin with a bathroom, bed, and sitting area.

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

It’s fun to see folks in th Rust community discover sans-io style libraries. Once you get the hang of it, I’ve found it often segues to thinking about capabilities as well.

I co-authored an entire sans-io HTTP stack a few years ago: https://blog.yoshuawuyts.com/async-http/ — I believe we had like, one piece of IO squirreled away there to handle HTTP timeouts correctly, and never quite got around to fixing it. But largely I believe this is the way we should be authoring our protocol libraries.

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

One of the most fun ideas I’ve heard in a minute is: what if the core of the web was a WebGL context with a WASM/Wasi runtime glued onto it.

Then HTML, the DOM, CSS, etc. could all be implemented as libraries on top of that.

There’s almost certainly trade offs with that. But like, I think it could be done?

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