Let's Talk About WebAssembly and WASI
Vložit
- čas přidán 20. 05. 2021
- Offline Stream #11
References:
- WASI: wasi.dev/
- Rust Browser Game: github.com/tsoding/rust-brows...
- Simple Stack-Based Virtual Machine in C: gist.github.com/rexim/a52f89e...
- My Own Virtual Machine: github.com/tsoding/bm
- wabt: github.com/WebAssembly/wabt
- WASI Tsoding Stream Repo: github.com/tsoding/wasi-stream
Support:
- Patreon: / tsoding
- Twitch Subscription: / tsoding
- Streamlabs Donations: streamlabs.com/tsoding/tip
Feel free to use this video to make highlights and upload them to CZcams (also please put the link to this channel in the description) - Věda a technologie
I love that rather than explaining a stack based VM, you just write it up from scratch
Best WASM/WASI intro
That was a really cool and educative and fun stream! Thank you for the content!
This was sick. The final success at the last minute was so satisfying
It's amazing how you enthusiastically said WASM will be the future of computing
This is such a great stream, packed full of knowledge and fun experiments. Nice to see other programmers being bummed by lack of documentation, but keeping faith and plowing through. A lot of understanding of computer memory is shown, which is invaluable to becoming a 10x coder of course.
This was great stream! I love the simple stack explanation and the look into binary and text wasm. I didn't use WASI yet, and this video was very useful for me. Thank you.
Really good video with reveal of deeper wasm and wasi mechanics. Good work Tsoding.
I found this content both educative as well as thought-provoking. You intro'd and structured the subject matter well, and dissected your ideas/examples straight into code, showing and explaining every step very clearly and from the scratch.
You definitely have skills as an educator, and I consider your channel as one of the most interesting in the developer/programmer space.
Lastly, as to what you state under About > Description: Your actions of providing quality, matter-of-factly educative content free of charge and sans politics defines you way more than merely where you reside.
Such an amazing introduction to WebAssembly. This has to be a must watch for learning WebAssembly from ground-up (literally).
Just watching this again. Miss this version of Tsoding.
These crazy levels of abstractions is something I hate as well, but I do understand the rationale behind them.
I think it's easy to sit and complain about it, but at the end of the day, unless we are able to provide a better alternative, it is our inconvenience vs someone else's livelihood, and so the decision to restrict freedom is correct.
You can bypass CORS restrictions by creating an ``, and then clicking on it programmatically:
```
let input = document.createElement("input");
input.type = "file";
input.click();
delete input;
```
This will let the user manually confirm that they do indeed want to load the file, and it's not a malicious actor.
That being said, the legacy ideas no longer make sense:
1) JS and HTML5 were designed to be beginner-friendly. However, when you make something beginner-friendly, it naturally attracts a lot of beginners, who make all kinds of terrible choices.
2) And so to prevent the harm from those choices, the Web Consortium is forced to implement the ever-stricter policies that limit freedoms of the expert users.
3) However, they then also expect for serious development to occur in the same environment, which will not happen due to massive friction.
It's easy to see that one of these pillars has to go. Either forget the beginner-friendly thing, let the beginners make mistakes, or create a separate environment for the experts.
It ties into the idea that most problems in software come from people trying to do everything at once.
the funniest thing about the whole situation is that WASI exists before a standard interface to the browser even exists. You would think that an execution environment that live inside the browser would really want a standardized way to talk to the browser itself. We put all this effort over the last 30 years into building this rich set of web APIs that provide all this information and access to web applications. And WASM is completely excluded from participating.
great stream, I learnt a lot in a single stream
Explosive introduction!!!
Love the passion. Thanks for this video!
One of your best streams!
I have to thank you so much for the ever interesting content of you videos. I'm Italian ... so BRAVO !
Awesome video, thank you.
So interesting and I learned a lot. Thanks
Dude, that is an awesome content
10:21 - I encountered this same compilation error today. It seems to be a holdover from older, pre-C99 standards where you had to declare your local variables at the beginning of the scope. It seems to me like an oversight in the standard.
Yep! I think I encountered something like that before with actual goto labels.
when you provided your own functions for the wasi interface, i quivered
It's wasmtime!
you are underrated
Superb !
Great! Request for a future video: Doing something in Haskell with the new GHC WASM backend. Keep it up!
I love you. You are the best. You are beautiful. You are a king. A Jungle heater. A megalo-crafter. A tiger. Don't let anybody not call you Mister. Also runs fast inside the browser. Very good video by the way. Keep it up daddy. Use two hands to clap bitchies bro.
thanks!
looks like it similar to JNI in Java, it is really a native interface that bridged vice-versa with JS, WAsm, & maybe other relative scripts/languages.
30:09 Is it true that the habit of leaving the spoon in the cup while drinking tea comes from the Soviet Union? Some say that this habit is a telltale sign of someone who was raised in the USSR - they even wink one eye while drinking tea, spoon or no spoon, simply out of habit
tnx u
36:00 "No one still uses Python 2 in 2021" Me: Hahahahahaha good one.
how did your hair grow that much in a year
S expression, looks like Segmentation layout?
or multi-dimentional array(s)
25:00
WASI is horrible. Not only is the overhead a whopping 1.8MB (over the internet), but what's actually in it is equally horrific: what you have to do do deal with fd_write is as close to a nightmare as it could get.
Still, I enjoy your videos, I tend to watch them from start to finish without skipping a thing.