Let's Talk About WebAssembly and WASI

Поделиться
HTML-код
  • Опубликовано: 20 май 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 RUclips (also please put the link to this channel in the description)
  • НаукаНаука

Комментарии • 41

  • @StevenMartinGuitar
    @StevenMartinGuitar Год назад +35

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

  • @MaxCoplan
    @MaxCoplan 3 года назад +36

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

  • @hbobenicio
    @hbobenicio 3 года назад +23

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

  • @rajesh_404
    @rajesh_404 Год назад +6

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

  • @andy_lamax
    @andy_lamax 2 года назад +5

    Best WASM/WASI intro

  • @Brutar1
    @Brutar1 3 года назад +4

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

  • @ot44eto
    @ot44eto 2 года назад +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.

  • @verageren
    @verageren Год назад +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.

  • @isoljator
    @isoljator Год назад +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 5 месяцев назад

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

  • @peezieforestem5078
    @peezieforestem5078 Год назад +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.

  • @venkateshhariharan4341
    @venkateshhariharan4341 2 года назад +3

    great stream, I learnt a lot in a single stream

  • @gscacco
    @gscacco 2 года назад

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

  • @shmuel-k
    @shmuel-k 2 года назад

    Love the passion. Thanks for this video!

  • @0xedb
    @0xedb 3 месяца назад +1

    Just watching this again. Miss this version of Tsoding.

  • @horses_held
    @horses_held Год назад +1

    One of your best streams!

  • @parkersorto
    @parkersorto 2 года назад +1

    Awesome video, thank you.

  • @samferrer
    @samferrer 2 года назад +2

    Explosive introduction!!!

  • @homelessrobot
    @homelessrobot 9 месяцев назад +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.

  • @ibrahimabtula3234
    @ibrahimabtula3234 Год назад

    So interesting and I learned a lot. Thanks

  • @ISKLEMMI
    @ISKLEMMI 3 года назад +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  3 года назад +6

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

  • @fgtdjkg
    @fgtdjkg Год назад +1

    Dude, that is an awesome content

  • @ExCyberino
    @ExCyberino 9 месяцев назад

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

  • @PDettarso
    @PDettarso Год назад +3

    It's wasmtime!

  • @haniqassim
    @haniqassim Год назад

    Superb !

  • @johanyngman7793
    @johanyngman7793 Год назад

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

  • @gargleblasta
    @gargleblasta Год назад +1

    you are underrated

  • @nd8774
    @nd8774 Год назад

    thanks!

  • @lucianochadru4064
    @lucianochadru4064 2 года назад +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.

  • @tockar5636
    @tockar5636 2 года назад

    tnx u

  • @liveonphoenix5045
    @liveonphoenix5045 11 месяцев назад

    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.

  • @jacobjake683
    @jacobjake683 2 года назад +2

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

  • @jimshtepa5423
    @jimshtepa5423 5 месяцев назад

    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

  • @workflowinmind
    @workflowinmind Год назад +1

    how did your hair grow that much in a year

  • @sinamobasheri
    @sinamobasheri Год назад

    25:00

  • @liveonphoenix5045
    @liveonphoenix5045 11 месяцев назад

    S expression, looks like Segmentation layout?

  • @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.