Let's Talk About WebAssembly and WASI

  Рет қаралды 28,440

Tsoding Daily

Tsoding Daily

Күн бұрын

Offline Stream #11
References:
- WASI: wasi.dev/
- Rust Browser Game: github.com/tso...
- Simple Stack-Based Virtual Machine in C: gist.github.co...
- My Own Virtual Machine: github.com/tso...
- wabt: github.com/Web...
- WASI Tsoding Stream Repo: github.com/tso...
Support:
- Patreon: / tsoding
- Twitch Subscription: / tsoding
- Streamlabs Donations: streamlabs.com...
Feel free to use this video to make highlights and upload them to KZbin (also please put the link to this channel in the description)

Пікірлер: 43
@StevenMartinGuitar
@StevenMartinGuitar Жыл бұрын
I love that rather than explaining a stack based VM, you just write it up from scratch
@hbobenicio
@hbobenicio 3 жыл бұрын
That was a really cool and educative and fun stream! Thank you for the content!
@MaxCoplan
@MaxCoplan 3 жыл бұрын
This was sick. The final success at the last minute was so satisfying
@ot44eto
@ot44eto 2 жыл бұрын
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.
@verageren
@verageren Жыл бұрын
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.
@GK-rl5du
@GK-rl5du 7 ай бұрын
Such an amazing introduction to WebAssembly. This has to be a must watch for learning WebAssembly from ground-up (literally).
@Brutar1
@Brutar1 3 жыл бұрын
Really good video with reveal of deeper wasm and wasi mechanics. Good work Tsoding.
@ISKLEMMI
@ISKLEMMI 3 жыл бұрын
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.
@TsodingDaily
@TsodingDaily 3 жыл бұрын
Yep! I think I encountered something like that before with actual goto labels.
@rajesh_404
@rajesh_404 Жыл бұрын
It's amazing how you enthusiastically said WASM will be the future of computing
@isoljator
@isoljator Жыл бұрын
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.
@andy_lamax
@andy_lamax 2 жыл бұрын
Best WASM/WASI intro
@0xedb
@0xedb 6 ай бұрын
Just watching this again. Miss this version of Tsoding.
@brambasieldev
@brambasieldev Ай бұрын
curious why. Now he complains more and loses focus if I had to give a reason.
@peezieforestem5078
@peezieforestem5078 Жыл бұрын
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.
@homelessrobot
@homelessrobot 11 ай бұрын
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.
@venkateshhariharan4341
@venkateshhariharan4341 2 жыл бұрын
great stream, I learnt a lot in a single stream
@samferrer
@samferrer 2 жыл бұрын
Explosive introduction!!!
@gscacco
@gscacco 2 жыл бұрын
I have to thank you so much for the ever interesting content of you videos. I'm Italian ... so BRAVO !
@ExCyberino
@ExCyberino 11 ай бұрын
when you provided your own functions for the wasi interface, i quivered
@gargleblasta
@gargleblasta Жыл бұрын
you are underrated
@parkersorto
@parkersorto 2 жыл бұрын
Awesome video, thank you.
@horses_held
@horses_held 2 жыл бұрын
One of your best streams!
@PDettarso
@PDettarso Жыл бұрын
It's wasmtime!
@liveonphoenix5045
@liveonphoenix5045 Жыл бұрын
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.
@ibrahimabtula3234
@ibrahimabtula3234 Жыл бұрын
So interesting and I learned a lot. Thanks
@shmuel-k
@shmuel-k 2 жыл бұрын
Love the passion. Thanks for this video!
@johanyngman7793
@johanyngman7793 Жыл бұрын
Great! Request for a future video: Doing something in Haskell with the new GHC WASM backend. Keep it up!
@fgtdjkg
@fgtdjkg Жыл бұрын
Dude, that is an awesome content
@jimshtepa5423
@jimshtepa5423 7 ай бұрын
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
@jacobjake683
@jacobjake683 2 жыл бұрын
36:00 "No one still uses Python 2 in 2021" Me: Hahahahahaha good one.
@lucianochadru4064
@lucianochadru4064 2 жыл бұрын
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.
@haniqassim
@haniqassim Жыл бұрын
Superb !
@workflowinmind
@workflowinmind Жыл бұрын
how did your hair grow that much in a year
@liveonphoenix5045
@liveonphoenix5045 Жыл бұрын
S expression, looks like Segmentation layout?
@liveonphoenix5045
@liveonphoenix5045 Жыл бұрын
or multi-dimentional array(s)
@nd8774
@nd8774 Жыл бұрын
thanks!
@tockar5636
@tockar5636 3 жыл бұрын
tnx u
@sinamobasheri
@sinamobasheri Жыл бұрын
25:00
@bart2019
@bart2019 Жыл бұрын
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.
@samuelwaller4924
@samuelwaller4924 3 сағат бұрын
11:26 "..and so on and so *Forth*..." As if Forth needs the bloat of "additional concepts" or "things that aren't integers". Disgraceful.
Nea: A webserver that never allocates - Folkert de Vries
37:49
Zig SHOWTIME
Рет қаралды 13 М.
Nix explained from the ground up
23:39
Surma
Рет қаралды 29 М.
小丑在游泳池做什么#short #angel #clown
00:13
Super Beauty team
Рет қаралды 43 МЛН
How To Get Married:   #short
00:22
Jin and Hattie
Рет қаралды 13 МЛН
ARRAYLIST VS LINKEDLIST
21:20
Core Dumped
Рет қаралды 62 М.
The Truth about Rust/WebAssembly Performance
29:47
Greg Johnston
Рет қаралды 181 М.
What is the Smallest Possible .EXE?
17:04
Inkbox
Рет қаралды 394 М.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Рет қаралды 395 М.
WebAssembly (WASM) vs. Docker - Our Expert Analysis
19:53
KodeKloud
Рет қаралды 92 М.
Thermoelectric cooling: it's not great.
32:51
Technology Connections
Рет қаралды 1,2 МЛН
I tried Swift and came out a different person
1:56:59
Tsoding Daily
Рет қаралды 77 М.
Patching WebAssembly Binary with C++
3:16:27
Tsoding Daily
Рет қаралды 36 М.