Articles by Lin Clark
-
Announcing the Bytecode Alliance: Building a secure by default, composable future for WebAssembly
Lin Clark introduces the Bytecode Alliance, and uses Code Cartoon illustrations to share their vision of a WebAssembly ecosystem that is secure by default, fixing cracks in today’s software foundations. Based on advances in the emerging WebAssembly community, founding members of the Alliance - Mozilla, Fastly, Intel, and Red Hat - believe we can make this vision real. And we invite others to join the collaboration.
-
WebAssembly Interface Types: Interoperate with All the Things!
People are excited about running WebAssembly outside the browser. People are also excited about running WebAssembly from languages like Python, Ruby, and Rust. Lin Clark's Code Cartoons are back, illustrating an in-depth look at WebAssembly Interface Types, and the proposed spec to make it possible for WASM to interoperate with All The Things!
-
Standardizing WASI: A system interface to run WebAssembly outside the web
WebAssembly is an assembly language for a conceptual machine, not a physical one. This is why it can be run across a variety of different machine architectures. WebAssembly needs a system interface for a conceptual operating system, not any single operating system. This way, it can be run across all different OSs. WASI is a system interface for the WebAssembly platform that will be a true companion to WebAssembly and uphold the key principles of portability and security.
-
Rust 2018 is here… but what is it?
Starting today, the Rust 2018 edition is in its first release. With this edition, we’ve focused on making Rust developers as productive as they can be. Most of the language changes are completely compatible with existing Rust code. Because they don’t break any code, they also work in any Rust code… even if that code doesn’t use Rust 2018. This is because of the way the language is evolving. Lin Clark illustrates and explains.
-
WebAssembly’s post-MVP future: A cartoon skill tree
People have a misconception—they think that the WebAssembly that landed in browsers back in 2017—is the final version. In fact, we still have many use cases to unlock, from heavy-weight desktop applications, to small modules, to JS frameworks, to all the things outside the browser… Node.js, and serverless, and the blockchain, and portable CLI tools, and the internet of things. The WebAssembly that we have today is not the end of this story—it’s just the beginning.
-
Calls between JavaScript and WebAssembly are finally fast 🎉
At Mozilla, we want WebAssembly to be as fast as it can be. This started with its design, which gives it great throughput. Then we improved load times with a streaming baseline compiler. With this, we compile code faster than it comes over the network. Now, in the latest version of Firefox Beta, calls between JS and WebAssembly are faster than many JS to JS function calls. Here's how we made them fast - illustrated in code cartoons.
-
Baby’s First Rust+WebAssembly module: Say hi to JSConf EU!
A secret project has been brewing for JSConf EU, and this weekend is the big reveal: The Arch is a larger-than-life experience that uses 30,000 colored LEDs to create a canvas for light animations. And you can take charge of this space. Using modules, you can create a light animation. But even though this is JSConf, these animations aren’t just powered by JavaScript modules. In fact, we hope you will try something new… Rust + WebAssembly.
-
A cartoon intro to DNS over HTTPS
At Mozilla, we closely track threats to users' privacy and security. This is why we've added tracking protection to Firefox and created the Facebook container extension. In today's cartoon intro, Lin Clark describes two new initiatives we're championing to close data leaks that have been part of the domain name system since it was created 35 years ago: DNS over HTTPS, a new IETF standard, and Trusted Recursive Resolver, a new secure way to resolve DNS that we’ve partnered with Cloudflare to provide.
-
ES modules: A cartoon deep-dive
ES modules bring an official, standardized module system to JavaScript. With the release of Firefox 60 in May, all major browsers will support ES modules, and there is current work to add ES module support to Node.js, as well as ES module integration for WebAssembly. Lin Clark's deep dive illustrates how ES modules work, what problem they solve, and how they are different from modules in other module systems.
-
Making WebAssembly better for Rust & for all languages
To be a useful as a web language, Rust needs to work well with the JavaScript ecosystem. We have some work to do to get there, and fortunately that work will help other languages, too. Lin Clark's code cartoons explore some of the WebAssembly usability challenges that we need to tackle. Want to help?