Maybe it will be helpful for someone: 00:00 - Intro 00:45 - Why invent WebAssembly 02:30 - Work on WASI 03:25 - File system situation 10:05 - Will developers use it? 11:44 - Portability and compatibility 15:19 - Example opportunity for cloud native 21:10 - Outro 21:33 - Q&A 21:52 - Where WASI is at the moment? 23:57 - Do you consider WASI as a "0.x" product? 25:28 - What excites you most about WebAssembly? 27:20 - What is the current state of IO in WASI? 30:32 - How do we actually get there: integrating WebAssembly 34:01 - Experience and lessons from Java? 36:28 - Thanks
@bjugdbjk2 жыл бұрын
thnx a ton brother !
@ozanuslan2 жыл бұрын
Wow! There has been so much development happening in the WASM/WASI space. From the talk that is in 2016 to this one in 2022, you can see the sound architectural decisions that are being made. Truly excited to see a small, efficient, and secure compilation target+interface being developed for today's container-centric development environment. Thanks to Liz for explaining these concepts with the right level of abstraction and cleanliness.
@talpasternak5382 жыл бұрын
Thanks Lin, very clear presentation!
@greentea55932 жыл бұрын
Lin, you never fail to get me excited about WebAssembly
@capability-snob Жыл бұрын
Without access to the entire filesystem, entire classes of security vulnerabilities just disappear. It's great to see a usable capability system now gaining traction!
@edgeeffect2 жыл бұрын
I love your legacy WASM app icon. It would have been nice if these was some Operating System in the past that had more than just StdIn, StdOut and StdErr and could have given us streams to an arbitrary number of files.
@theroyalblackfridge2 жыл бұрын
A fancy way of re-packaging the adapter pattern and piping, like the effort from a philosophical standpoint though.. The development paradigm shift will be interesting as well
@Skatox2 жыл бұрын
Awesome talk!
@ኬንቶ Жыл бұрын
I'm planning to generalize a programming language with wasm. Programming languages are actually very coupled with many logics though programming languages are just text formats.
@victorolvera6482 Жыл бұрын
I say you have a lot on your plate - hehe - I been thinking of similar things for a while and I still haven't been able to wrap my head around it. sooo I am taking the same approach the GTK guys took. They made GIMP first and from there GTK was born. The approach is to find the kind of apps that would thrive in the programming environment I am trying to design. Work on those apps, take what I learn from them to design my stuff. You have a lot on your plate because replacing sockets means to create a worldwide event driven messaging standard. A software data bus of sorts that is easy and intuitive to work with.
@Robert-ht5kd Жыл бұрын
10:39 Very funny picture
@Robert-ht5kd Жыл бұрын
Although nice pictures but the content is rather vague and I still don't know how this WASI works. Code examples would be helpful.
@aussieexpatwatches2 жыл бұрын
Js evosystem is already awesome. Wasm pack. But yes, but it would be nice to have js as a guest wasm language.
@davidkopp3442 жыл бұрын
Congratulations, you've reinvented Java
@eventually-consistent2 жыл бұрын
Didn’t knew Java could be written using Rust, Go, C, C++, Assembly script. Boomer
@martinfrances1072 жыл бұрын
Well I was thinking she did not mention unix pipes once ( StdIn, StdOut, StdErr) so back the the 1970s
@micahthomas63312 жыл бұрын
java runtime has garbage collection & other abstractions. WebAssembly is a lower level runtime that is much closer to native assembly instructions.
@odarpi12 жыл бұрын
2025: New, exciting extension for WASM: automatic garbage collection. Finally, we can write code without thinking about all that low level boomer stuff like allocating memory manually. But Java is so 1990s...
@davidkopp3442 жыл бұрын
@@eventually-consistent Hey, thanks for comparing me to a Ballistic Missile Submarine! Like a Boomer, I also am a powerful strategic asset that fills the enemies of our nation with fear.
@hobbit125 Жыл бұрын
Very cool video, but the "compute/metacompute" terminology is pretty silly, inaccurate and pseudo-academic.
@homelessrobot Жыл бұрын
Kind of a deep freudian slip to say 'debunker' instead of 'debugger'. I am guessing she hasn't done much programming, but has done quite a lot of technical writing.
@pchasco2 жыл бұрын
I don’t understand the use case here. This is for people who want to write apps to run outside the browser, using native languages, but in isolation from other processes and resources. But instead of using containers, which can run essentially any binary that can be built for Linux, they want to modify the software so that it can compile to WASM and run in a WASI environment, but less efficiently than the native binary containerized. Huh? WASM was created so that we could execute code at near-native speed in a browser. If you remove the browser from this equation, then there is no reason to use WASM. Just compile for your target architecture. This is not hard.
@darkwarlock123 Жыл бұрын
There are many architectures to compile for: at least arm64 and amd64 these days, soon risc-v. wasm lets you compile to one target. The capability-based permissions model is powerful I think, and can be applied at the module level so dependencies can be sandboxed cheaply and thoroughly. This is not possible cheaply today with containers.
@darkwarlock123 Жыл бұрын
Using containers also leaves open the large attack surface of the Linux kernel, which was not designed with this use in mind. WASI is built from the ground up for simplicity and security.
@JaceMorley Жыл бұрын
There's a lot of attacks that can be done from within a container that let you escape the container and affect the hosting environment. Which means if the application running on the container is at all vulnerable to remote code executive attacks your hosting environment is as risk. Using a sandboxed environment like WASM can help shut down this category of attack entirely. Prevention by design is the best protection. Additionally if you need to run uncontrolled/user-written code a sandboxed runtime is basically essential for security. Browsers are a common example of this but there are other use-cases.
@Rajibahmed2 жыл бұрын
Watched 3 presentations by Lin , never understood anyone of it properly. Not is the pace or content or subject she presents. Not trying to be disrespectful or anything, getting confused is it me who don’t understand stuff or stuff explained is hard to follow.
@nmarcel2 жыл бұрын
That happen with niche presentations, in this case Systems Programming (make a poll asking developers about what "Posix" is, I guess the vast majority don't know). The same happens when a guy explains monads using Haskell or other non-mainstream language.
@rpocztarski2 жыл бұрын
I have watched this one and much more presentations by Lin Clark and I think that she can present very difficult subjects in a very understandable way, but let's keep in mind that those are still very difficult subjects. I think that to fully understand the subject of WASI, you need to have some knowledge about systems programming, have some experience with lower level languages like C, understand how you interact with the OS, know about POSIX, the Web standards and WebAssembly itself, but also understand the capability-based security model, which is quite a big and difficult subject. In my own talks about WASI I have always highly recommended talks by Lin Clark, but you need to have some basic understanding about the subjects I mentioned to understand the concept of WASI. I hope that what I wrote will help you get some background and maybe later the talks about WebAssembly and WASI will be easier to grasp. Good luck!
@Rajibahmed2 жыл бұрын
@@rpocztarski I do have some understanding of the areas that you pointed out. Maybe its just not enough.
@ratgr2 жыл бұрын
@@Rajibahmed I agree with you, even wrote my own mini-wasi implementation some time ago along with a basic wasm interpreter for fun, I think she doesn't have a target, she tries to explain as if we were beginners, glossing over so much, and at the same time expects a lot of knowledge. It feels like a managerial presentation, one where you have to explain to your bosses and get them dissy about what you are doing.