Hacker News new | comments | ask | show | jobs | submit login

Anyone know of any real world applications using Rust?

EDIT: 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!




I 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.


I 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 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.


Website stuff related to this is coming, don't worry.


Is there currently Rust code as part of Firefox, or are you talking about the expected future integration of Servo?


See my response to your sibling.


Is Firefox using any rust in production yet?


I'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.


It will be in Windows builds in 47: 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/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! :)


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.


Thanks 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.


It's a really tiny thing, but Faraday uses 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.


We just released a data pipeline runner in Rust. Starting small but we have grand ambitions: https://github.com/snowplow/factotum


Ah this is neat! I missed this somehow :)


Skylight[0] I believe uses rust to monitor rails apps.

[0] https://www.skylight.io




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: