Let's Talk About WebAssembly and WASI

Sdílet
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

Komentáře • 41

  • @StevenMartinGuitar
    @StevenMartinGuitar Před rokem +35

    I love that rather than explaining a stack based VM, you just write it up from scratch

  • @andy_lamax
    @andy_lamax Před 2 lety +5

    Best WASM/WASI intro

  • @hbobenicio
    @hbobenicio Před 3 lety +23

    That was a really cool and educative and fun stream! Thank you for the content!

  • @MaxCoplan
    @MaxCoplan Před 3 lety +36

    This was sick. The final success at the last minute was so satisfying

  • @rajesh_404
    @rajesh_404 Před rokem +6

    It's amazing how you enthusiastically said WASM will be the future of computing

  • @verageren
    @verageren Před rokem +4

    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.

  • @ot44eto
    @ot44eto Před 2 lety +8

    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.

  • @Brutar1
    @Brutar1 Před 3 lety +4

    Really good video with reveal of deeper wasm and wasi mechanics. Good work Tsoding.

  • @isoljator
    @isoljator Před rokem +1

    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.

  • @GK-rl5du
    @GK-rl5du Před 4 měsíci

    Such an amazing introduction to WebAssembly. This has to be a must watch for learning WebAssembly from ground-up (literally).

  • @0xedb
    @0xedb Před 3 měsíci +1

    Just watching this again. Miss this version of Tsoding.

  • @peezieforestem5078
    @peezieforestem5078 Před rokem +6

    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 Před 8 měsíci +2

    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 Před 2 lety +3

    great stream, I learnt a lot in a single stream

  • @samferrer
    @samferrer Před 2 lety +2

    Explosive introduction!!!

  • @shmuel-k
    @shmuel-k Před 2 lety

    Love the passion. Thanks for this video!

  • @horses_held
    @horses_held Před rokem +1

    One of your best streams!

  • @gscacco
    @gscacco Před 2 lety

    I have to thank you so much for the ever interesting content of you videos. I'm Italian ... so BRAVO !

  • @parkersorto
    @parkersorto Před rokem +1

    Awesome video, thank you.

  • @ibrahimabtula3234
    @ibrahimabtula3234 Před rokem

    So interesting and I learned a lot. Thanks

  • @fgtdjkg
    @fgtdjkg Před rokem +1

    Dude, that is an awesome content

  • @ISKLEMMI
    @ISKLEMMI Před 3 lety +10

    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  Před 3 lety +6

      Yep! I think I encountered something like that before with actual goto labels.

  • @ExCyberino
    @ExCyberino Před 8 měsíci

    when you provided your own functions for the wasi interface, i quivered

  • @PDettarso
    @PDettarso Před rokem +3

    It's wasmtime!

  • @gargleblasta
    @gargleblasta Před rokem +1

    you are underrated

  • @haniqassim
    @haniqassim Před rokem

    Superb !

  • @johanyngman7793
    @johanyngman7793 Před rokem

    Great! Request for a future video: Doing something in Haskell with the new GHC WASM backend. Keep it up!

  • @lucianochadru4064
    @lucianochadru4064 Před 2 lety +3

    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 Před rokem

    thanks!

  • @liveonphoenix5045
    @liveonphoenix5045 Před 10 měsíci

    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.

  • @jimshtepa5423
    @jimshtepa5423 Před 4 měsíci

    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

  • @tockar5636
    @tockar5636 Před 2 lety

    tnx u

  • @jacobjake683
    @jacobjake683 Před 2 lety +2

    36:00 "No one still uses Python 2 in 2021" Me: Hahahahahaha good one.

  • @workflowinmind
    @workflowinmind Před rokem +1

    how did your hair grow that much in a year

  • @liveonphoenix5045
    @liveonphoenix5045 Před 10 měsíci

    S expression, looks like Segmentation layout?

  • @sinamobasheri
    @sinamobasheri Před rokem

    25:00

  • @bart2019
    @bart2019 Před rokem

    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.