Skip to content

Commit 5bd69ea

Browse files
committed
More progress
1 parent 588bebd commit 5bd69ea

3 files changed

+80
-9
lines changed

blog/The_Contributor_Competition-unstyled.html

+29-3
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,37 @@ <h2 id="the-solution">The Solution</h2>
9999
to contribute? But if you need to find someone willing to review your PR
100100
and you haven't already befriended a maintainer, and you're not sure if
101101
you can even understand the code in the first place, then maybe not.</p>
102+
<p>TODO: Write about empowering contributors to make the project their
103+
own.</p>
102104
<h1 id="actionable-advice.">Actionable advice.</h1>
103105
<hr>
106+
<ol type="1">
107+
<li><p>Automated testing is a must. Write good, exhaustive tests so that
108+
contributors can be confident that their features and fixes don't cause
109+
regressions elsewhere. Equally important, write up a guide on how run
110+
tests and add tests, and place this guide somewhere prominent. This
111+
should be as frictionless as possible.</p></li>
112+
<li><p>Document anything that would not be immediately understandable by
113+
a layperson. As a Julia example, nobody without a Master's degree in
114+
compiler engineering is going to understand what a phi node or a
115+
dominance frontier is. If you want contributors, then this is
116+
unacceptable. At very least, point to resources that can be consumed in
117+
&lt; 15 minutes.</p></li>
118+
<li><p>APIs should be self documenting, but you should document them
119+
anyway. Exhaustively. You can do this with LLMs, they're very good at
120+
it. If it's python, add type annotations. Not as a tool for
121+
communicating with a type checked, but as a rule for communicating with
122+
humans. It makes the code more readable. I find myself spending a long
123+
time figuring out all the different places a function could be called
124+
from so that I can figure out its types. The better solution is to just
125+
put it there.</p></li>
126+
<li><p>Set up a Discord server. Be active there answering questions.
127+
Think of this time investment as an investment. More people will arrive
128+
later with the same question.</p></li>
129+
<li><p>Acknowledge and appreciate contributions. Doesn't matter how
130+
large or small. You want contributing to your project to feel good. Make
131+
sure they feel proud of their work. This too is an investment.</p></li>
132+
</ol>
104133
<p><br></p>
105-
<div style="text-align: center;">
106-
<p><img src="images/Haruhi_Thumbs_Up.jpg" /></p>
107-
</div>
108134
</body>
109135
</html>

blog/The_Contributor_Competition.html

+29-3
Original file line numberDiff line numberDiff line change
@@ -349,11 +349,37 @@ <h2 id="the-solution">The Solution</h2>
349349
to contribute? But if you need to find someone willing to review your PR
350350
and you haven't already befriended a maintainer, and you're not sure if
351351
you can even understand the code in the first place, then maybe not.</p>
352+
<p>TODO: Write about empowering contributors to make the project their
353+
own.</p>
352354
<h1 id="actionable-advice.">Actionable advice.</h1>
353355
<hr>
356+
<ol type="1">
357+
<li><p>Automated testing is a must. Write good, exhaustive tests so that
358+
contributors can be confident that their features and fixes don't cause
359+
regressions elsewhere. Equally important, write up a guide on how run
360+
tests and add tests, and place this guide somewhere prominent. This
361+
should be as frictionless as possible.</p></li>
362+
<li><p>Document anything that would not be immediately understandable by
363+
a layperson. As a Julia example, nobody without a Master's degree in
364+
compiler engineering is going to understand what a phi node or a
365+
dominance frontier is. If you want contributors, then this is
366+
unacceptable. At very least, point to resources that can be consumed in
367+
&lt; 15 minutes.</p></li>
368+
<li><p>APIs should be self documenting, but you should document them
369+
anyway. Exhaustively. You can do this with LLMs, they're very good at
370+
it. If it's python, add type annotations. Not as a tool for
371+
communicating with a type checked, but as a rule for communicating with
372+
humans. It makes the code more readable. I find myself spending a long
373+
time figuring out all the different places a function could be called
374+
from so that I can figure out its types. The better solution is to just
375+
put it there.</p></li>
376+
<li><p>Set up a Discord server. Be active there answering questions.
377+
Think of this time investment as an investment. More people will arrive
378+
later with the same question.</p></li>
379+
<li><p>Acknowledge and appreciate contributions. Doesn't matter how
380+
large or small. You want contributing to your project to feel good. Make
381+
sure they feel proud of their work. This too is an investment.</p></li>
382+
</ol>
354383
<p><br></p>
355-
<div style="text-align: center;">
356-
<p><img src="images/Haruhi_Thumbs_Up.jpg" /></p>
357-
</div>
358384
</body>
359385
</html>

blog/The_Contributor_Competition.md

+22-3
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,37 @@ wouldn't want to contribute? But if you need to find someone willing to review y
105105
and you haven't already befriended a maintainer, and you're not sure if you can even
106106
understand the code in the first place, then maybe not.
107107

108+
TODO: Write about empowering contributors to make the project their own.
109+
108110

109111
# Actionable advice.
110112

111113
<hr>
112114

115+
1. Automated testing is a must. Write good, exhaustive tests so that contributors can
116+
be confident that their features and fixes don't cause regressions elsewhere. Equally
117+
important, write up a guide on how run tests and add tests, and place this guide
118+
somewhere prominent. This should be as frictionless as possible.
113119

120+
2. Document anything that would not be immediately understandable by a layperson. As a
121+
Julia example, nobody without a Master's degree in compiler engineering is going to
122+
understand what a phi node or a dominance frontier is. If you want contributors, then
123+
this is unacceptable. At very least, point to resources that can be consumed in < 15
124+
minutes.
114125

126+
3. APIs should be self documenting, but you should document them anyway. Exhaustively.
127+
You can do this with LLMs, they're very good at it. If it's python, add type
128+
annotations. Not as a tool for communicating with a type checked, but as a rule for
129+
communicating with humans. It makes the code more readable. I find myself spending a
130+
long time figuring out all the different places a function could be called from so that
131+
I can figure out its types. The better solution is to just put it there.
115132

133+
4. Set up a Discord server. Be active there answering questions. Think of this time
134+
investment as an investment. More people will arrive later with the same question.
116135

136+
5. Acknowledge and appreciate contributions. Doesn't matter how large or small. You
137+
want contributing to your project to feel good. Make sure they feel proud of their
138+
work. This too is an investment.
117139

118140
<br>
119141

120-
<div style="text-align: center;">
121-
![](images/Haruhi_Thumbs_Up.jpg)
122-
</div>

0 commit comments

Comments
 (0)