Skip to content

Commit b81ef12

Browse files
authored
Merge pull request #119 from Stupremee/use-headings-for-faqs
Rework all FAQ Sections to use Headings instead of bullet lists
2 parents 46f3b82 + 6ce6cdb commit b81ef12

29 files changed

+502
-407
lines changed

src/design_docs/async_fn_in_traits.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ trait MyMethod {
8484

8585
## 🤔 Frequently Asked Questions
8686

87-
* **What do people say about this to their friends on twitter?**
88-
* (Explain your key points here)
87+
### **What do people say about this to their friends on twitter?**
88+
* (Explain your key points here)

src/vision/characters.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,16 @@ We've created four characters that we use to guide our thinking. These character
2828

2929
## 🤔 Frequently Asked Questions
3030

31-
* Where do the names come from?
32-
* Famous programming language designers and theorists. [Alan Turing], [Grace Hopper], [Niklaus Wirth], and [Barbara Liskov].
33-
* I don't see myself in these characters. What should I do?
34-
* Come to Zulip and talk to us about it! Maybe they need to be adjusted!
35-
* I see myself in more than one of these characters!
36-
* Yeah, me too.
31+
### Where do the names come from?
32+
Famous programming language designers and theorists. [Alan Turing], [Grace Hopper], [Niklaus Wirth], and [Barbara Liskov].
33+
34+
### I don't see myself in these characters. What should I do?
35+
Come to Zulip and talk to us about it! Maybe they need to be adjusted!
36+
37+
### I see myself in more than one of these characters!
38+
Yeah, me too.
3739

3840
[Alan Turing]: https://en.wikipedia.org/wiki/Alan_Turing
3941
[Grace Hopper]: https://en.wikipedia.org/wiki/Grace_Hopper
4042
[Niklaus Wirth]: https://en.wikipedia.org/wiki/Niklaus_Wirth
41-
[Barbara Liskov]: https://en.wikipedia.org/wiki/Barbara_Liskov
43+
[Barbara Liskov]: https://en.wikipedia.org/wiki/Barbara_Liskov

src/vision/characters/alan.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ Alan is developing networking programs in Kotlin. He loves Kotlin for its expres
1616

1717
## 🤔 Frequently Asked Questions
1818

19-
* What does Alan want most from Async Rust?
20-
* The promise of better performance and memory usage than the languages he's been using. Rust's safety guarantees are important too; he's considered using C++ in the past but always judged the maintenance burden would be too high.
21-
* What expectations does Alan bring from his current environment?
22-
* A focus on ease of use, a strong ecosystem, and great tooling.
19+
### What does Alan want most from Async Rust?
20+
* The promise of better performance and memory usage than the languages he's been using. Rust's safety guarantees are important too; he's considered using C++ in the past but always judged the maintenance burden would be too high.
21+
22+
### What expectations does Alan bring from his current environment?
23+
* A focus on ease of use, a strong ecosystem, and great tooling.

src/vision/characters/barbara.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ Barbara has been using Rust since the 0.1 release. She remembers some of the cra
88

99
## 🤔 Frequently Asked Questions
1010

11-
* What does Barbara want most from Async Rust?
12-
* She is using Rust for its feeling of productivity, and she expects Async Rust to continue in that tradition.
13-
* She maintains several existing projects, so stability is important to her.
14-
* What expectations does Barbara bring from her current environment?
15-
* She wants a design that feels like the rest of Rust.
16-
* She loves Rust and she expects Async Rust to share its overall values.
11+
### What does Barbara want most from Async Rust?
12+
* She is using Rust for its feeling of productivity, and she expects Async Rust to continue in that tradition.
13+
* She maintains several existing projects, so stability is important to her.
14+
15+
### What expectations does Barbara bring from her current environment?
16+
* She wants a design that feels like the rest of Rust.
17+
* She loves Rust and she expects Async Rust to share its overall values.

src/vision/characters/grace.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ Grace has been writing C and C++ for a number of years. She's accustomed to hack
88

99
## 🤔 Frequently Asked Questions
1010

11-
* What does Grace want most from Async Rust?
12-
* Grace is most interested in memory safety. She is comfortable with C and C++ but she's also aware of the maintenance burden that arises from the lack of memory safety.
13-
* What expectations does Grace bring from her current environment?
14-
* Grace expects to be able to get the same performance she used to get from C or C++.
15-
* Grace is accustomed to various bits of low-level tooling, such as gdb or perf. It's nice if Rust works reasonably well with those tools, but she'd be happy to have access to better alternatives if they were available. She's happy using `cargo` instead of `make`, for example.
11+
### What does Grace want most from Async Rust?
12+
Grace is most interested in memory safety. She is comfortable with C and C++ but she's also aware of the maintenance burden that arises from the lack of memory safety.
13+
14+
### What expectations does Grace bring from her current environment?
15+
* Grace expects to be able to get the same performance she used to get from C or C++.
16+
* Grace is accustomed to various bits of low-level tooling, such as gdb or perf. It's nice if Rust works reasonably well with those tools, but she'd be happy to have access to better alternatives if they were available. She's happy using `cargo` instead of `make`, for example.

src/vision/characters/niklaus.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ He's always been interested in programming but doesn't have experience with it.
88

99
## 🤔 Frequently Asked Questions
1010

11-
* What does Niklaus want most from Async Rust?
12-
* Niklaus values accessibility. He's learning a lot of new things at once and it can be overwhelming.
13-
* What expectations does Niklaus bring from his current environment?
14-
* Niklaus expects a strong and supportive community. The Rust community enabled him to have early success, and he is excited to have it support him and for it to help him grow more.
11+
### What does Niklaus want most from Async Rust?
12+
* Niklaus values accessibility. He's learning a lot of new things at once and it can be overwhelming.
13+
14+
### What expectations does Niklaus bring from his current environment?
15+
* Niklaus expects a strong and supportive community. The Rust community enabled him to have early success, and he is excited to have it support him and for it to help him grow more.

src/vision/grace_waits_for_gdb_next.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,18 @@ Grace is now able to use `next` to walk through the main function. She does noti
7777

7878
*Here are some standard FAQ to get you started. Feel free to add more!*
7979

80-
* **What are the morals of the story?**
81-
* A common usage pattern: hitting `next` to go to what seems like the next statement, breaks down due to implementation details of `#[tokio::main]` and `async fn`.
82-
* This is one example of where `next` breaks, in terms of what a user is likely to *want*. The other common scenario where the behavior of `next` is non-ideal is higher-order functions, like `option.and_then(|t| { ... }`, where someone stepping through the code probably *wants* `next` to set
83-
a temporary breakpoint in the `...` of the closure.
84-
* **What are the sources for this story?**
85-
* Personal experience. I haven't acquired the muscle memory to stop using `next`, even though it breaks down in such cases.
86-
* **Why did you choose Grace to tell this story?**
87-
* I needed someone who, like me, would actually be tempted to use `gdb` even when println debugging is so popular.
88-
* **How would this story have played out differently for the other characters?**
80+
### **What are the morals of the story?**
81+
* A common usage pattern: hitting `next` to go to what seems like the next statement, breaks down due to implementation details of `#[tokio::main]` and `async fn`.
82+
* This is one example of where `next` breaks, in terms of what a user is likely to *want*. The other common scenario where the behavior of `next` is non-ideal is higher-order functions, like `option.and_then(|t| { ... }`, where someone stepping through the code probably *wants* `next` to set
83+
a temporary breakpoint in the `...` of the closure.
84+
85+
### **What are the sources for this story?**
86+
Personal experience. I haven't acquired the muscle memory to stop using `next`, even though it breaks down in such cases.
87+
88+
### **Why did you choose Grace to tell this story?**
89+
I needed someone who, like me, would actually be tempted to use `gdb` even when println debugging is so popular.
90+
91+
### **How would this story have played out differently for the other characters?**
8992
* Alan might have used whatever debugger is offered by his IDE, which might have the same problem (via a toolbar button that has the same semantics as `next`); but many people using IDE's to debugger just naturally set breakpoints by hand on the lines in their IDE editor, and thus will not run into this.
9093
* Most characters would probably have abandoned using gdb much sooner. E.g. Grace may have started out by adding `println` or `tracing` instrumention to the code, rather than trying to open it up in a debugger.
9194

src/vision/how_to_vision/shiny_future.md

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -73,24 +73,30 @@ The goal is that, at the end of the review process, the status quo story has a l
7373

7474
## 🤔 Frequently Asked Questions
7575

76-
* **What is the process to propose a shiny future story?**
77-
* Just open a PR [using this template][template].
78-
* Do not add your file to [`SUMMARY.md`], that will create conflicts. We'll do it after merging.
79-
* **What character should I use for my shiny future story?**
80-
* Usually you would use the same character from the status quo story you are retelling.
81-
* If for some reason you chose a different character, add a FAQ to explain why.
82-
* **What do I do if there is no status quo story for my shiny future?**
83-
* [Write the status quo story first!](./status_quo.md)
84-
* **How much detail should I give? How specific should I be?**
85-
* Detailed is generally better, but only if those details are helpful for understanding the morals of your story.
86-
* Specific is generally better, since an abstract story doesn't feel as real.
87-
* **What do I do when I get to details that I don't know yet?**
88-
* Take your best guess and add a FAQ explaining which details are still up in the air.
89-
* **What do I do if I don't know that my idea is technically feasible?**
90-
* You don't have to know how your idea will work yet. You can add FAQs to try and clarify what parts you do know and what parts still need to be figured out.
91-
* **What do I do if somebody leaves a comment about how my idea will work and I don't know the answer?**
92-
* Add it to the FAQ!
76+
### **What is the process to propose a shiny future story?**
77+
* Just open a PR [using this template][template].
78+
* Do not add your file to [`SUMMARY.md`], that will create conflicts. We'll do it after merging.
79+
80+
### **What character should I use for my shiny future story?**
81+
* Usually you would use the same character from the status quo story you are retelling.
82+
* If for some reason you chose a different character, add a FAQ to explain why.
83+
84+
### **What do I do if there is no status quo story for my shiny future?**
85+
[Write the status quo story first!](./status_quo.md)
86+
87+
### **How much detail should I give? How specific should I be?**
88+
* Detailed is generally better, but only if those details are helpful for understanding the morals of your story.
89+
* Specific is generally better, since an abstract story doesn't feel as real.
90+
91+
### **What do I do when I get to details that I don't know yet?**
92+
Take your best guess and add a FAQ explaining which details are still up in the air.
93+
94+
### **What do I do if I don't know that my idea is technically feasible?**
95+
You don't have to know how your idea will work yet. You can add FAQs to try and clarify what parts you do know and what parts still need to be figured out.
96+
97+
### **What do I do if somebody leaves a comment about how my idea will work and I don't know the answer?**
98+
Add it to the FAQ!
9399

94100
[template]: https://github.com/rust-lang/wg-async-foundations/tree/master/src/vision/shiny_future/template.md
95101
[sfd]: https://github.com/rust-lang/wg-async-foundations/tree/master/src/vision/shiny_future
96-
[`SUMMARY.md`]: https://github.com/rust-lang/wg-async-foundations/blob/master/src/SUMMARY.md
102+
[`SUMMARY.md`]: https://github.com/rust-lang/wg-async-foundations/blob/master/src/SUMMARY.md

src/vision/how_to_vision/status_quo.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,22 +66,27 @@ The goal is that, at the end of the review process, the status quo story has a l
6666

6767
## 🤔 Frequently Asked Questions
6868

69-
* **What is the process to propose a status quo story?**
70-
* Just open a PR [using this template][template].
71-
* Do not add your file to [`SUMMARY.md`], that will create conflicts. We'll do it after merging.
72-
* **What if my story applies to multiple characters?**
73-
* Look at the "morals" of your story and decide which character will let you get those across the best.
74-
* Use the FAQ to talk about how other characters might have been impacted.
75-
* If the story would play out really differently for other characters, maybe write it more than once!
76-
* **How much detail should I give? How specific should I be?**
77-
* Detailed is generally better, but only if those details are helpful for understanding the morals of your story.
78-
* Specific is generally better, since an abstract story doesn't feel as real.
79-
* **What should I do when I'm trying to be specific but I have to make an arbitrary choice?**
80-
* Add a FAQ with some of the other alterantives, or just acknowledging that you made an arbitrary choice there.
81-
* **None of the characters are a fit for my story.**
82-
* It doesn't have to be perfect. Pick the one that seems like the closest fit. If you really feel stuck, though, come talk to us on [Zulip] about it!
83-
* **How should I describe the "evidence" for my status quo story?**
84-
* The more specific you can get, the better. If you can link to tweets or blog posts, that's ideal. You can also add notes into the [conversations] folder and link to those. Of course, you should be sure people are ok with that.
69+
### **What is the process to propose a status quo story?**
70+
* Just open a PR [using this template][template].
71+
* Do not add your file to [`SUMMARY.md`], that will create conflicts. We'll do it after merging.
72+
73+
### **What if my story applies to multiple characters?**
74+
* Look at the "morals" of your story and decide which character will let you get those across the best.
75+
* Use the FAQ to talk about how other characters might have been impacted.
76+
* If the story would play out really differently for other characters, maybe write it more than once!
77+
78+
### **How much detail should I give? How specific should I be?**
79+
* Detailed is generally better, but only if those details are helpful for understanding the morals of your story.
80+
* Specific is generally better, since an abstract story doesn't feel as real.
81+
82+
### **What should I do when I'm trying to be specific but I have to make an arbitrary choice?**
83+
Add a FAQ with some of the other alterantives, or just acknowledging that you made an arbitrary choice there.
84+
85+
### **None of the characters are a fit for my story.**
86+
It doesn't have to be perfect. Pick the one that seems like the closest fit. If you really feel stuck, though, come talk to us on [Zulip] about it!
87+
88+
### **How should I describe the "evidence" for my status quo story?**
89+
The more specific you can get, the better. If you can link to tweets or blog posts, that's ideal. You can also add notes into the [conversations] folder and link to those. Of course, you should be sure people are ok with that.
8590

8691
[conversations]: ../../conversations.md
8792
[template]: https://github.com/rust-lang/wg-async-foundations/tree/master/src/vision/status_quo/template.md

src/vision/projects/DistriData.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,18 @@ DistriData is the latest in containerized, micro-service distributed database te
1313

1414
## 🤔 Frequently Asked Questions
1515

16-
* **What makes DistriData different from others?**
17-
* This project is meant to be used in many different ways in many different projects, and is not unique to any one application.
18-
* Many of those using this project will not even need or want to know that it's written in Rust.
19-
* **Does DistriData require a custom tailored runtime?**
20-
* DistriData's concerns are at a higher level than the runtime. A fast, reliable, and resource conscious general purpose runtime will serve DistriData's needs.
21-
* **How much of this project is likely to be built with open source components from crates.io?**
22-
* Yes, while DistriData receives many contributions, it's important to the team that when possible they utilize existing technologies that developers are already familiar with to ensure that contributing to the project is easy.
23-
* **What is of most concern to this project?**
24-
* It needs to be resource conscious, fast, reliable, but above all else it needs to be easy to run, monitor, and maintain.
25-
* **What is of least concern to this project?**
26-
* While DistriData is resource conscious, it's not resource *starved*. There's no need to make life difficult to save on a memory allocation here or there.
16+
### **What makes DistriData different from others?**
17+
* This project is meant to be used in many different ways in many different projects, and is not unique to any one application.
18+
* Many of those using this project will not even need or want to know that it's written in Rust.
19+
20+
### **Does DistriData require a custom tailored runtime?**
21+
DistriData's concerns are at a higher level than the runtime. A fast, reliable, and resource conscious general purpose runtime will serve DistriData's needs.
22+
23+
### **How much of this project is likely to be built with open source components from crates.io?**
24+
Yes, while DistriData receives many contributions, it's important to the team that when possible they utilize existing technologies that developers are already familiar with to ensure that contributing to the project is easy.
25+
26+
### **What is of most concern to this project?**
27+
It needs to be resource conscious, fast, reliable, but above all else it needs to be easy to run, monitor, and maintain.
28+
29+
### **What is of least concern to this project?**
30+
While DistriData is resource conscious, it's not resource *starved*. There's no need to make life difficult to save on a memory allocation here or there.

0 commit comments

Comments
 (0)