diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..1d953f4b --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix diff --git a/C-tracking-issue.png b/C-tracking-issue.png new file mode 100644 index 00000000..a2cf9821 Binary files /dev/null and b/C-tracking-issue.png differ diff --git a/E-needs-bisection.png b/E-needs-bisection.png new file mode 100644 index 00000000..592001ec Binary files /dev/null and b/E-needs-bisection.png differ diff --git a/E-needs-mcve.png b/E-needs-mcve.png new file mode 100644 index 00000000..4a52cc33 Binary files /dev/null and b/E-needs-mcve.png differ diff --git a/index.html b/index.html index 2097df32..8d8dcb1b 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - reveal.js + how to contribute to the Rust project @@ -16,8 +16,190 @@
-
Slide 1
-
Slide 2
+
how to contribute to the Rust project
+
+

whoami

+
+
+
Nilstrieb
+
    +
  • contributing since 2022
  • +
  • compiler contributors team since 2023
  • +
+
+
+
+ +
+
+
+
+

made in collaboration with

+
you who sees this right now
+
and you
+
and you too
+
+
+ +
+
+ +
+
+ +
+
+

thanks.rust-lang.org

+ +
+
+ +
+
+

labelling

+ +
+
+

labelling

+ + https://forge.rust-lang.org/release/issue-triaging.html +
+
+

bisection

+ +
+
+

bisection

+

+						$ cargo new bisect
+							Created binary (application) `bisect` package
+						$ cd bisect
+						$ vim src/main.rs 
+						$ cargo-bisect-rustc --access github --regress ice \
+							--start 2023-01-01 --end 2023-12-19
+					
+ https://github.com/rust-lang/cargo-bisect-rustc +
+
+

minimization

+ +
+
+

minimization

+

I minimized that issue to 60 lines in 2 hours

+ https://github.com/Nilstrieb/ice-104649 + http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/ +
+ https://github.com/Nilstrieb/cargo-minimize +
+
+ +
+
+

tracking issues

+

tracking the state of a feature

+

719 issues (2023-01-03)

+

new issues aren't ready yet

+

really old issues often have problems

+

go to golden middle :)

+
+
+

summarize,

+

aggregate open questions

+

aggregate resolved questions

+

propose next steps

+
+
+

stabilize...

+ +
+
+

...or close

+
+
+

final comment periods

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
diff --git a/me.png b/me.png new file mode 100644 index 00000000..4449b369 Binary files /dev/null and b/me.png differ diff --git a/package-lock.json b/package-lock.json index 59031474..1bd0b73e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "reveal.js", - "version": "5.0.2", + "version": "5.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "reveal.js", - "version": "5.0.2", + "version": "5.0.4", "license": "MIT", "devDependencies": { "@babel/core": "^7.23.2", diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..d3462861 --- /dev/null +++ b/shell.nix @@ -0,0 +1,3 @@ +{ pkgs ? import {} }: pkgs.mkShell { + packages = with pkgs; [ nodejs ]; +} diff --git a/speaker_notes.md b/speaker_notes.md new file mode 100644 index 00000000..5e9a3a30 --- /dev/null +++ b/speaker_notes.md @@ -0,0 +1,40 @@ +# speaker notes + +Hi! Welcome to my presentation about how to contribute to the Rust project. There are numerous ways +to help Rust by contributing to it, and I'm going to list some of them, show you how to do it +and point you to further resources about it. So after my talk, you hopefully have the knowledge and +motivation to get started yourself if you're interested. + +But first, who am I to talk about this? I'm nils, and I've been a member of the compiler contributors +team for over a year now. In addition to contributing code to the compiler I've also been involved in +other things, like helping other people contribute to the compiler, triaging issues and of course shitposting on Discord. + +But this talk here isn't just mine alone, other people helped with this too, like these silly bingles. + +So, let's start contributing to Rust. Maybe some of you here have contributed something to Rust before, +(maybe you didn't even think it was a contribution), and I assume some of you have wanted to do it but have +never done it for various reasons, like not knowing where to start or even thinking you're not good enough to do it. + +Here's the good news for that: I'm going to tell you a lot of different ways to get started, no matter +your experience level. There are so many things to do that there's something for everyone. +Sure, there are some areas that require domain-specific expertise, like writing a MIR optimization in the +compiler requires good knowledge of MIR, but there are also things that don't even require knowledge of Rust, +so even if you're still a beginner you can help, and I can guarantee that you will learn a lot. + +The only thing you really need is some spare time and interest. Some tasks are very time intensive, but +other tasks require a lot less time. That said, if you don't have any spare time, then it's going to be hard. + +With that out of the way, let's look at some places you can contribute to. + +First, we're going to look at ways to contribute that don't involve opening VSCode or whatever your favourite editor is. +When talking about contributing to open source projects, we usually think of contributing code, like opening Pull Requests. +While this is an important part of any open source projects and no less true in Rust, it's also by far not the only thing to do. +And especially those other tasks are often forgotten and underappreciated. We're also not great at this, there's a very nice page +called `thanks.rust-lang.org` that contains a list of contributors, but it only counts commit and review counts. + +The first thing I'm going to talk about is triaging issues, something that I have also done a lot myself. +Triaging issues is great because it's easy to get started and you can put in very variable amounts of time. +You can triage one issue in two minutes, or you can spend 2 hours on an issue. It always depends on the +issue and how much time you want to put in, even the small work is nice. + +For issues \ No newline at end of file diff --git a/stabilize-fcp.png b/stabilize-fcp.png new file mode 100644 index 00000000..5592714f Binary files /dev/null and b/stabilize-fcp.png differ diff --git a/stabilize-report.png b/stabilize-report.png new file mode 100644 index 00000000..79edacd6 Binary files /dev/null and b/stabilize-report.png differ diff --git a/thanks-rlo.png b/thanks-rlo.png new file mode 100644 index 00000000..d9270a12 Binary files /dev/null and b/thanks-rlo.png differ diff --git a/triage-bisect-cmd.png b/triage-bisect-cmd.png new file mode 100644 index 00000000..37d24df8 Binary files /dev/null and b/triage-bisect-cmd.png differ diff --git a/triage-bisect-issue.png b/triage-bisect-issue.png new file mode 100644 index 00000000..0de97a4b Binary files /dev/null and b/triage-bisect-issue.png differ diff --git a/triage-issue-description.png b/triage-issue-description.png new file mode 100644 index 00000000..eb4f5dec Binary files /dev/null and b/triage-issue-description.png differ diff --git a/triage-labels.png b/triage-labels.png new file mode 100644 index 00000000..7f0ac0f2 Binary files /dev/null and b/triage-labels.png differ diff --git a/triage-min-issue.png b/triage-min-issue.png new file mode 100644 index 00000000..781df04d Binary files /dev/null and b/triage-min-issue.png differ diff --git a/triage-min-res.png b/triage-min-res.png new file mode 100644 index 00000000..50c085f6 Binary files /dev/null and b/triage-min-res.png differ