Skip to content

Instantly share code, notes, and snippets.

@brson

brson/a.md Secret

Last active Jun 12, 2019
Embed
What would you like to do?
Rust course announcement plan

Docs for announcing Rust training course

This one: https://github.com/pingcap/talent-plan/tree/master/rust

Currently called Practical Networked Applications in Rust.

The deadline for me to announce the course is now, so here is my plan.

I intend for it to go out Tuesday 6/11 around 5 PM PST. That's the beginning of the day in China, where the primary audience is. It is not an ideal time for HN, because a big chunk of the audience is already done for the day, but maybe a slow time where it has a better chance of getting to the front page. The Rust name helps since HN loves Rust. And anyway, as I mention below, I have reservations about going after the HN audience right now.

  • places to post about the course
    • users.rust-lang.org
    • /r/rust
    • Rust China Community 1/2 and TiKV Community
    • HackerNews
    • The tikv forum
    • #general on tikv slack
    • PingCAP twitter (via Ana)
    • TiKV twitter (via Ana)

I have reservations about making the course widely known in its current state, which I am considering an alpha, since there is only one opportunity to make first impressions. I do think though that the course looks good on the surface — it just becomes less complete and tested as the course proceeds, with project 5 still mostly just an outline.

I mostly want to target the Rust community, both in the West and China. I am reluctant to post it to HackerNews, but if the project is going to be out there, it might be best to hit HackerNews and hope for the best.

If it were only up to me I would probably just post to users.rust-lang.org and the Rust WeChat channels, expressing that this is a phase where we're looking for early feedback. If it is interesting enough others will post it elsewhere. Then hit HN in September for a 1.0 release.

Below I have announcements tailored to most venues. The WeChat one is in English. If somebody wanted to translate it to Chinese instead, that would be fine.

To users.rlo

Topic: Practical Networked Applications in Rust, a training course

Tag: announcements

Hey Rust folk.

Here's a project that I've been hacking on (with Yilin Chen and Xuwei Fu) that I hope might interest people. It's a training course on building real-world systems software with Rust, Practical Networked Applications in Rust.

I think it is commonly recognized that while there is quite a lot of good Rust documentation, there are not many guides on putting the pieces together to create complete software projects. So this is an attempt to fill that gap.

Details about the course are in the link, but a short summary is that it leads you through a series of projects, all on the same codebase, that incrementally integrate new Rust subjects, finally resulting in a high-performance, networked, parallel and asynchronous key-value database. Before each project, the topics are introduced independently through external resources and small exercises. It's my hope that the course both explicitly and implicitly teaches people a variety of things about best practices, the crate ecosystem, the documentation ecosystem, tooling, systems-level programming generally, and other tidbits that new Rust programers typically have to discover on their own.

I am creating it for my employer, PingCAP, as a tool for onboarding new Rust programmers, but I am also determined that it be useful for a broader audience of aspiring Rust systems programmers. In particular, even though the end-product is a database, I intend that there is, or will be, enough subject matter to cover a wide variety of systems programming concerns.

Today it is definitely in an "alpha" state and incomplete, but it is starting to look pretty neat, so I want to get it in front of people and get feedback. The scope is still modest (it gets through four projects decently, the fourth being on parallelism, and then falls apart on the next async project), but I think it could ultimately span at least 10 projects, with more content to be added to the existing projects as well.

Because of its incompleteness, I can't wholeheartedly suggest that you actually take the course, but for any that do I would be grateful to hear about your experience. And even if you don't try the course, I'm still interested in your feedback, what you think of the structure and the progression, what topics you want in this kind of material, etc. Besides individual mentoring and blog posts, I don't have any background as an educator, so any thoughts about how learnable this looks and what to do to make it moreso are also hugely appreciated.

Cheers 🍻

To /r/rust

Text post, not a link.

Topic: Practical Networked Applications in Rust, a training course

Hi /r/rust.

I and some coworkers have been working on some training materials about building real-world systems software with Rust, Practical Networked Applications Programming in Rust.

It's incomplete yet, with the first four projcts in a decent state, but I'm putting it out there to start getting feedback.

There are more details about what it is and where it is going on the users forum.

Cheers 🍻

To HackerNews

Topic: Show HN: Practical Networked Applications in Rust

Comment:

Hi HackerNews.

I know you love Rust :)

This training course, Practical Networked Applications in Rust, is an attempt to fill a gap in Rust's documentation, that is, how to use Rust to build a real-world software. It's in an early and incomplete state still, but I've publicly announced it in the Rust community, so I thought I would put it out here as well and see what happens.

I'm interested to hear feedback of any kind. Besides individual mentoring and blog posts, I don't have any background as an educator, so any thoughts about how learnable this looks and what to do to make it moreso are also hugely appreciated.

There are more details about what it is and where it is going on the Rust users forum:

https://users.rust-lang.org/t/practical-networked-applications-in-rust-a-training-course/29199

Cheers 🍻

WeChat groups

Hey there.

I and a few PingCAP coworkers have been working on a practical Rust training course for a few months, and I think it's starting to look pretty cool, though it is very incomplete.

It's called Practical Networked Applications in Rust, and it lives here:

https://github.com/pingcap/talent-plan/tree/master/rust

If you were to give it a look, I would be honored, and even moreso if you offered feedback.

There are more details about what it is and where it is going on the Rust users forum:

https://users.rust-lang.org/t/practical-networked-applications-in-rust-a-training-course/29199

Cheers 🍻

TiKV forum

Topic: Practical Networked Applications in Rust, a training course

Hey there.

I and a few PingCAP colleagues (Yilin Chin and Xuwei Fu) have been working on a Rust training course, Practical Networked Applications in Rust. It is designed to teach new Rust programmers the basics of a variety of topics relevant to hacking on TiKV.

There are more details about what it is and where it is going on the Rust users forum.

Cheers 🍻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment