5 ms·
Anyone know of any real world applications using Rust? EDIT: https://github.com/kud1ing/awesome-rust https://github.com/kud1ing/awesome-rust I'm loving the pa
by manaskarekar 11y ago
Anyone know of any real world applications using Rust?
EDIT: https://github.com/kud1ing/awesome-rust https://github.com/kud1ing/awesome-rust
I'm loving the pace of the release cycle! I don't think I can hold off the temptation to try it out - it's too shiny!
- steveklabnik 11y agoI gave a talk at a conference this week called "Rust in Production". Some of the companies I highlighted included Dropbox, Skylight.io, and well, Firefox ;) We're hoping to do more showing off of our production users in the future. Getting more production Rust in the wild is a big personal goal for me this year.
- aidenn0 11y agoIs Firefox using any rust in production yet?
- steveklabnik 11y agoI'm not on the platform team, but my understanding is that if you're on OS X or Linux, and you grab Firefox 45 right now, there's a _tiny tiny_ bit of Rust code in there. Windows will be in 46 or 47, IIRC? So it begins.
- tedmielczarek 11y agoIt will be in Windows builds in 47: https://bugzilla.mozilla.org/show_bug.cgi?id=1248461 https://bugzilla.mozilla.org/show_bug.cgi?id=1248461 . I don't think we intended to ship the Rust bits by default, but we didn't disable them for release builds, so there you go. It is pretty tiny, just a little bit of mp4 parsing code that (IIRC) we're running in parallel with the existing C++ code: https://dxr.mozilla.org/mozilla-central/source/media/libstagefright/binding/mp4parse https://dxr.mozilla.org/mozilla-central/source/media/libstag... If you run your Firefox from a console and browse sites that serve you shady mp4 files you can see the occasional panic message as it fails to parse something! :)
- mbrubeck 11y agohttp://bugzil.la/1243363 http://bugzil.la/1243363 is where Rust code was enabled for Firefox 45 beta/release on Linux and Mac. If I understand correctly, having it disabled on Firefox 45 beta broke the build because of a script that tests whether the beta build config matches the nightly config. This forced a decision, and release engineering opted to enable it. So it wasn't planned long in advance, but it was a conscious decision at the time 45 went to beta.
- tedmielczarek 11y agoThanks for digging that up. I recall having the discussions where we thought we'd let it bake for a while before it shipped, but I guess it was intentional, even if a bit last-minute. :) It's a pretty small bit of code right now, and it's not on the critical path for anything, so I don't think it's harmful.
- brobinson 11y agoIs there currently Rust code as part of Firefox, or are you talking about the expected future integration of Servo?
- steveklabnik 11y agoSee my response to your sibling.
- nachtigall 11y agoI think "Rust in Production" should be added to the FAQ. It does not seem to fit in with https://www.rust-lang.org/faq.html#how-does-mozilla-use-rust https://www.rust-lang.org/faq.html#how-does-mozilla-use-rust or the following question regarding large rust projects. Q: Which companies use rust in production? A: Dropbox, Mozilla, Skylight, OneSignal, etc with links to the relevant tech blog posts. I think there once was such a Q but it seems to have gone or I can't find it anymore.
- steveklabnik 11y agoWebsite stuff related to this is coming, don't worry.
- alexatkeplar 11y agoWe just released a data pipeline runner in Rust. Starting small but we have grand ambitions: https://github.com/snowplow/factotum https://github.com/snowplow/factotum
- steveklabnik 11y agoAh this is neat! I missed this somehow :)
- ekidd 11y agoIt's a really tiny thing, but Faraday uses https://github.com/faradayio/credentials_to_env https://github.com/faradayio/credentials_to_env to download secure credentials from a Vault server, and write them to environment variables or files. Alternatively, you can just pass in environment variables manually and ignore Vault (for testing, etc.). This acts as glue for existing programs that don't know about Vault. This is actual production code, even if it's really minor. The goal here was a single binary that would work on most modern Linux distributions, and which could make some HTTP calls and then exec another program, typically all from inside a Docker container. Rust was a bit overkill for this, but we already had a couple of the necessary libraries available from in-house experiments, and it was fun to write. The two best features of Rust for this project were: (1) If the program compiled, there was a 95+% chance it would work flawlessly on the first try, and (2) Cargo was really just lovely all around.
- tragic 11y agoSkylight[0] I believe uses rust to monitor rails apps. [0] https://www.skylight.io https://www.skylight.io