Let's Talk About WebAssembly and WASI

  Рет қаралды 26,721

Tsoding Daily

Tsoding Daily

3 жыл бұрын

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 KZfaq (also please put the link to this channel in the description)

Пікірлер: 41
@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
@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.
@rajesh_404
@rajesh_404 Жыл бұрын
It's amazing how you enthusiastically said WASM will be the future of computing
@ot44eto
@ot44eto Жыл бұрын
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.
@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
@Brutar1
@Brutar1 3 жыл бұрын
Really good video with reveal of deeper wasm and wasi mechanics. Good work Tsoding.
@GK-rl5du
@GK-rl5du 4 ай бұрын
Such an amazing introduction to WebAssembly. This has to be a must watch for learning WebAssembly from ground-up (literally).
@0xedb
@0xedb 2 ай бұрын
Just watching this again. Miss this version of 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.
@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.
@venkateshhariharan4341
@venkateshhariharan4341 2 жыл бұрын
great stream, I learnt a lot in a single stream
@shmuel-k
@shmuel-k 2 жыл бұрын
Love the passion. Thanks for this video!
@homelessrobot
@homelessrobot 8 ай бұрын
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.
@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 !
@horses_held
@horses_held Жыл бұрын
One of your best streams!
@parkersorto
@parkersorto Жыл бұрын
Awesome video, thank you.
@ExCyberino
@ExCyberino 8 ай бұрын
when you provided your own functions for the wasi interface, i quivered
@ibrahimabtula3234
@ibrahimabtula3234 Жыл бұрын
So interesting and I learned a lot. Thanks
@fgtdjkg
@fgtdjkg Жыл бұрын
Dude, that is an awesome content
@PDettarso
@PDettarso Жыл бұрын
It's wasmtime!
@gargleblasta
@gargleblasta Жыл бұрын
you are underrated
@haniqassim
@haniqassim 11 ай бұрын
Superb !
@johanyngman7793
@johanyngman7793 Жыл бұрын
Great! Request for a future video: Doing something in Haskell with the new GHC WASM backend. Keep it up!
@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.
@nd8774
@nd8774 Жыл бұрын
thanks!
@liveonphoenix5045
@liveonphoenix5045 10 ай бұрын
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.
@tockar5636
@tockar5636 2 жыл бұрын
tnx u
@jimshtepa5423
@jimshtepa5423 4 ай бұрын
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 Жыл бұрын
36:00 "No one still uses Python 2 in 2021" Me: Hahahahahaha good one.
@workflowinmind
@workflowinmind Жыл бұрын
how did your hair grow that much in a year
@liveonphoenix5045
@liveonphoenix5045 10 ай бұрын
S expression, looks like Segmentation layout?
@liveonphoenix5045
@liveonphoenix5045 10 ай бұрын
or multi-dimentional array(s)
@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.
My First Hello, World in C. Very proud!
33:59
Tsoding Daily
Рет қаралды 70 М.
WebAssembly (WASM) vs. Docker - Our Expert Analysis
19:53
KodeKloud
Рет қаралды 89 М.
WHY IS A CAR MORE EXPENSIVE THAN A GIRL?
00:37
Levsob
Рет қаралды 21 МЛН
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 4 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
An introduction to WebAssembly
25:23
Coding Tech
Рет қаралды 186 М.
Web in Native Assembly (Linux x86_64)
2:03:41
Tsoding Daily
Рет қаралды 54 М.
Easy Web Games in C
2:54:16
Tsoding Daily
Рет қаралды 47 М.
Regex Library in Rust from Scratch (Finite-State Machines)
2:14:17
Tsoding Daily
Рет қаралды 42 М.
WebAssembly Introduction - Getting Started with Wasm
12:07
Caleb Curry
Рет қаралды 10 М.
WASI Will Change .NET Forever! Run WebAssembly Outside The Browser!
9:52
WebAssembly and Containers
25:04
Docker
Рет қаралды 26 М.
To-Do App in Assembly
1:05:27
Tsoding Daily
Рет қаралды 119 М.
Bardak ile Projektör Nasıl Yapılır?
0:19
Safak Novruz
Рет қаралды 6 МЛН
МОЩНЕЕ ТВОЕГО ПК - iPad Pro M4 (feat. Brickspacer)
28:01
ЗЕ МАККЕРС
Рет қаралды 74 М.
Купил этот ваш VR.
37:21
Ремонтяш
Рет қаралды 207 М.