Well, that went by quick! I joined Mozilla as an intern in 2016. I wouldn’t believe you if you told me I’d still be here in 2026, working on their WebAssembly engine and contributing to the WebAssembly standards process. Ten years at one company is a long time in this industry. I’m feeling a bit sentimental, so I thought I’d share how that happened, and why I’m still…
I joined a panel at WasmCon 2023 alongside Conrad Watt, Adam Klein, David Degazio, and Bailey Hayes to talk about the state of WebAssembly in browsers. Check out the recording on YouTube .
I gave a talk at the 2021 Web Engines Hackfest on how SpiderMonkey compiles a WebAssembly.Module , covering compiler tier selection, streaming parallel compilation, background tier-up, lazy stubs, and code caching. You can watch the recording on YouTube or check out the slides .
Have you ever tried implementing a scrollable element where new content is being added and you want to pin the user to the bottom? It’s not trival to do correctly. I recently worked on a new CSS feature called ‘scroll anchoring’ that shipped in Firefox 66 (for an introduction, check out my post on Mozilla Hacks or the summary on MDN ). While implementing this feature, Nicolas…
I’ve been intending to write some new content on my blog, so I thought I should also update the site while I’m at it. Https The first and most important change is https support. I’ve been a bit lazy here, but I finally decided to just do it. This site is hosted on AWS as a static website . I followed this nice guide which describes how to use Cloudfront as a CDN for S3 to get https support.
There’s been a lot of discussion this past week around Microsoft’s decision to abandon EdgeHTML and its implication on the future of the Web. If you’ve missed this news, take a look at this post by Microsoft and this response by Mozilla .
It’s been over a year since I first wrote about cbindgen . A lot has happened since then. We’ve had a few new features added ( tagged enums! ), it’s seen some good use ( 25k all time downloads! ), and there was a talk given at a rust berlin meetup ! This project started out as a quick fix for a problem we were facing at Mozilla. I thought others might find it useful so I open…
Rust is a great language for doing tasks normally done in C/C++. While it has a minimal runtime and zero-cost abstractions, it also has guaranteed memory safety and high level language features that make programming easier. Another neat thing about Rust is its ability to have a C FFI. Rust can be used to rewrite parts of an existing C/C++ application without having to rewrite the whole thing. This…
After a short break from coding for school, I finally got enough free time to finish a project. One of my favorite puzzle games is game called Wordament . It’s a bit old now, but it still has an active community. The game is like Boggle, you get points for building a word across tiles. To be honest, I’m not very good at it. So I thought, why not write a program to give me some answers?…
In my spare time this summer I set out to write a programming language from scratch. I’ve always been interested in learning about how programming languages worked, and sometimes the best way to learn something is to get your hands dirty. So after quite a few nights of work, I created Dash , a very simple procedural language, virtual machine, and bytecode. Dash is nothing extraordinary. It…
I’ve always been interested in how networking protocols work, and how they can be reliable and also efficient. After some reading, I decided the best way to learn about it would be for me to have to write one. It turned out to be much more difficult than I anticipated, and I only really ‘got’ the idea on my third try. If you do research on this topic, you’ll find guides…
My name is Ryan Hunt. I’m a software engineer at Mozilla . I currently work on WebAssembly and SpiderMonkey , and previously worked on graphics and process isolation. You can find me on GitHub , or follow me on Mastodon , Bluesky , or Twitter . Projects Every once in a while I also get to work on a side project. Sometimes it’s interesting enough to put online! wasm-explorer - a tool…