Skip to content

[READY FOR MERGE 2017-05-15] Second birthday post #168

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
May 15, 2017

Conversation

carols10cents
Copy link
Member

@carols10cents carols10cents commented May 7, 2017

Current status: everything is done, just waiting for the actual day to merge! Thank you everyone for your help!!

@erickt
Copy link
Contributor

erickt commented May 7, 2017

rendered

@erickt
Copy link
Contributor

erickt commented May 7, 2017

What about structuring the post into major sections aligned with each roadmap item, and how we're trying to address them?

  • learning curve: call out the book, and all the projects to improve error messages.
  • edit-compile-debug: progress on incremental compilation? Anything else in this space? Maybe posts to current build speed. perf.rust-lang.org?
  • IDE: RLS, the integration with rustup, and how easy it is to get it into VSCode.
  • High quality crates and 1.0 crates: link to libz blitz, call out projects that hit 1.0 this past year, if it's not too big?
  • high scale servers: tokio of course. Could also be interesting to call out projects like rocket, iron, and linkerd-tcp. not sure if there are other big projects in this space?
  • Build systems: not sure what's been going on here.
  • community mentoring: we got the youtube channel and rustbridge? It's still a bit incomplete though. Also had underhanded.rs and novemb.rs.

@carols10cents
Copy link
Member Author

What about structuring the post into major sections aligned with each roadmap item, and how we're trying to address them?

Ooooh i like it!

@Mark-Simulacrum
Copy link
Member

image

@carols10cents
Copy link
Member Author

Thinking about the 2017 roadmap, I think I changed my mind. We haven't really been working towards those since Rust's last birthday, and 2017 isn't over yet. I'm going to work them in but frame it as a check-in of sorts that's part of this post.

for analyzing it!*

[benchmarks]: https://github.com/rust-lang-nursery/rustc-benchmarks
[rss]: https://en.wikipedia.org/wiki/Resident_set_size
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No idea if we want to mention this here, but we could link to perf.rlo. It's somewhat not related, but does have data since January 24th this year.

@carols10cents carols10cents changed the title [NOT READY FOR REVIEW YET] Second birthday post [REVIEW PLZ] Second birthday post May 10, 2017
@carols10cents
Copy link
Member Author

I'm still waiting on a tiny bit about tokio but i'm ready for review now!

|-------|--------------|---------------|---------------|----------------|-----------------|------------------|
| hyper 0.5.0 | 5.97s | 248MB | 5.44s | 234MB | -8.9% | -5.6 % |
| html5ever 2016-08-25 | 5.16s | 234MB | 3.98s | 228MB | -22.9% | -2.6% |
| issue-32062 | 10.40s | 127MB | 0.26s | 89MB | -97.5% | -29.9% |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I would remove the issue-XXX rows. They don't look like "real code" (because they're not), and they don't show anything extraordinary (in particular, I think that the gains here are also reflected in jld-day15-parser, although that may be coincidence, I can't remember if those are due to a similar cause).

| jld-day15-parser | 42.38s | 204 MB | 1.38s | 111MB | -96.7% | -45.6% |
| tuple-stress | 4.62s | 260MB | 4.67s | 363MB | 1.1% | 39.6% |
| rust-encoding 0.3.0 | 2.21s | 239MB | 1.91s | 163MB | -13.6% | -31.8% |
| issue-32278 | 2.22s | 213MB | 1.98s | 138MB | -10.8% | -35.2% |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Can we maybe do a graph of some kind?)

- September 9-10, 2016: [RustConf 2016] in Portland, OR, USA;
- September 17, 2016: [RustFest 2016] in Berlin, Germany;
- October 27-28, 2016: [Rust Belt Rust 2016] in Pittsburgh, PA, USA;
- April 29-30, 2017: [RustFest 2017] in Kyiv, Ukraine.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these links are not working in rendered version

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(not sure why)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know why either, they work when I run jekyll locally so they should work in the published version.

@steveklabnik
Copy link
Member

:shipit:

@erickt
Copy link
Contributor

erickt commented May 10, 2017

Looks great except for the missing tokio part!

@carols10cents
Copy link
Member Author

I added a graph, great idea @nikomatsakis! It's a basic bar graph, if anyone wants to do something more fancy, please feel free to play in this google doc. https://docs.google.com/spreadsheets/d/1fJkmsnzp-I2dyh0ZnETpqATyK9yR4_ZLy86_fwEMY8c/edit?usp=sharing

Ping me if you've made an update and I'll take another screenshot!

Copy link
Member

@aturon aturon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @carols10cents, this looks fantastic overall! I left a bunch of small notes, but my biggest worries are:

  • Framing the compiler performance results (and emphasizing incremental compilation to a greater degree).
  • Opening and closing sentences.

I'll get you the stuff waiting on me soon...


[group-pic]: /images/2017-05-Second-Birthday/rustfest-berlin.jpeg

Rust, a systems programming language focused on safety, speed, and concurrency,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should workshop the opening sentence, to get it up to date with the ways we've been trying to talk about Rust (which have evolved away from the old "trifecta").

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was trying to find where you were talking about... productive fearless systems programming? What was it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rust, a language for confident, productive systems programming

- 284 library stabilizations;
- 10 languages [rust-lang.org] has been translated into;
- 48 new companies [running Rust in production][friends];
- 2 new teams (Docs and Style);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, Infra (which will be fully announced any moment now) and the Unsafe Guidelines strike team.

[Rust jobs website]: http://rustjobs.rs/

[Dropbox] is using Rust in multiple high-impact projects to manage exabytes of
data where correctness and efficiency is critical. Rust is currently shipping
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Rust/Rust code/

first Firefox release that included Rust code as part of the [Oxidation]
project. [Project Quantum], announced in October 2016, is an effort to
incrementally adopt proven parts of Servo into Firefox's rendering engine,
Gecko.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @metajack @jonathandturner, should we say more about Quantum here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could link to Potch's writeup as one possibility: https://hacks.mozilla.org/2017/05/quantum-up-close-what-is-a-browser-engine/

IMHO, I like that we just say we're incrementally adopting parts of Servo, and we don't necessarily call out specific ones.

[hackfest]: https://wiki.gnome.org/Hackfests/Rust2017

This year, [npm] started using Rust in production to serve JavaScript packages,
using Rust to eliminate performance bottlenecks in their platform that serves
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

says "using Rust" twice, maybe tighten up phrasing a bit.

- [The new error format rolled out in Rust 1.12.0](https://github.com/rust-lang/rust/issues/35233)
- [The question mark operator stabilized in Rust 1.13.0](https://github.com/rust-lang/rust/pull/31954)

### [Rust should have a pleasant edit-compile-debug cycle](https://github.com/rust-lang/rust-roadmap/issues/1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have the sense that this section as written is a bit "insider baseball", in the sense that it expects you already know about MIR and incremental comp. Some initial framing would be helpful.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could talk about the user impact of each?

"A more user-friendly error format..."
"Easier to use error handling..."

[`cargo check`]: https://github.com/rust-lang/cargo/pull/3296
[the 1.16 announcement]: https://blog.rust-lang.org/2017/03/16/Rust-1.16.html

The work on incremental compilation is proceeding well. Nightly builds
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitely need to get some numbers (or better, graphs) up in here, to offset the downer of the table above. Worst cast, we can pull from the beta post.


### [Rust should integrate easily into large build systems](https://github.com/rust-lang/rust-roadmap/issues/12)

This initiative is mostly in the ideas stage; there's lots of great discussion
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could expand this slightly to say: we've done a lot of work with stakeholders to understand the challenges in build system integration today, and think we have a good overall vision for how to solve them, but there are a lot of details to be worked out.


[RustBridge]: https://github.com/rust-community/rustbridge

There are many people who have started getting involved with various
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth talking about:

  • The introduction of language team "shepherds", which is partly about mentoring a set of folks around the lang team (and has been somewhat successful at that).
  • The Libz Blitz is set up specifically to provide a lot of mentoring opportunities. We did something similar with error message improvements
  • We've been working to grow both the number and size of subteams, to create more opportunities for people to step into leadership roles.
  • Have Outreachy and GSOC interns this summer.

We should emphasize the "all levels" part of the roadmap item: it's about onboarding first-time contributors but also adding folks all the way up at the core team level.


## Rust in the future

While Rust is still just a toddler, it's still growing and still going strong.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"While Rust is still just a toddler, it's still growing and still going strong." we should workshop this one, try to close out a bit stronger.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have any suggestions? What would be stronger? More exclamation points maybe!!!! I'm feeling at a loss for words after all the rest of the words :)


[Dropbox] is using Rust in multiple high-impact projects to manage exabytes of
data where correctness and efficiency is critical. Rust is currently shipping
in the desktop client on Windows running on hundreds of millions of machines.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: bold "hundreds of millions"


## Rust in the future

While Rust is still just a toddler, it's still growing and still going strong.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "At two years old, Rust is finding its way into all corners of programming, from web development, to embedded systems, and even your desktop." Play on the toddler analogy without saying it, possibly.

@carols10cents carols10cents changed the title [REVIEW PLZ] Second birthday post [READY FOR MERGE 2017-05-15] Second birthday post May 12, 2017
@carols10cents
Copy link
Member Author

@steveklabnik this is in your court now to merge and promote on monday when you deem it to be best social media time :)

@carols10cents carols10cents merged commit d329342 into gh-pages May 15, 2017
@carols10cents carols10cents deleted the second-birthday branch May 15, 2017 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants