Contributing to Rust as a Novice(filtra.io)
filtra.io
Contributing to Rust as a Novice
https://filtra.io/rust-ochagavia-oct-23
13 comments
This reminds me of rule 4 of the Cult of Done [1] "Pretending you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it."
[1] https://designmanifestos.org/bre-pettis-and-kio-stark-2009-t...
[1] https://designmanifestos.org/bre-pettis-and-kio-stark-2009-t...
I smile every time somebody mentions “the cult of done”.
Wonderful comment! I was about to reply here, but it spawned so many thoughts in my head that I ended up writing a longer conversation with myself :)
(https://jmreiche.github.io/analysis-paralysis)
(https://jmreiche.github.io/analysis-paralysis)
Thanks for writing and sharing that! I think I generally come to a similar conclusion. One additional thought on my mind is that the consequence for failure for a kid can be low to nil. But as an adult I’m more risk averse: I don’t want to fail to ship a project and possibly be fired, so I lean towards approaches whose process and outcome I can already envision.
I also have so few free hours that my main concern is, “am I about to waste the 8 hours of hobby time I have this week?” I have this problem in video games too: I don’t want to build a character that might suck. I can’t afford to play this game twice, unlike when I was younger.
I think there’s definitely some level of truth to this fearlessness the “ignorant” have. I mentor a high school robotics team and they prototype things so fast. I think that’s also because the stakes are so low: it’s only thousands of dollars. Nobody is being fired. The competition is for fun.
So in a way, maybe it’s just a rose tinted look at younger people. Maybe they’re more fearless than us not because we lost that trait, but because we gained many more constraints.
I also have so few free hours that my main concern is, “am I about to waste the 8 hours of hobby time I have this week?” I have this problem in video games too: I don’t want to build a character that might suck. I can’t afford to play this game twice, unlike when I was younger.
I think there’s definitely some level of truth to this fearlessness the “ignorant” have. I mentor a high school robotics team and they prototype things so fast. I think that’s also because the stakes are so low: it’s only thousands of dollars. Nobody is being fired. The competition is for fun.
So in a way, maybe it’s just a rose tinted look at younger people. Maybe they’re more fearless than us not because we lost that trait, but because we gained many more constraints.
What a wonderful comment that so nicely describes probably what many of us experience. This is the kind of thoughtful and well written comments I come to HN for.
I wonder if there is any life hack or mind hack we could try to overcome this and dive into new complex projects with that child-like enthusiasm, energy and courage that you so well described!
I wonder if there is any life hack or mind hack we could try to overcome this and dive into new complex projects with that child-like enthusiasm, energy and courage that you so well described!
Speaking as a maintainer of several High-Traffic repositories, I wish more people had your outlook to contributions. There are too many on the "my changes are mandatory" side of the spectrum that puts me (and others) off from maintaining our own codebases.
Also Technic was revolutionary for me, kudos to your kids.
Thanks for the refreshing comment :)
Also Technic was revolutionary for me, kudos to your kids.
Thanks for the refreshing comment :)
Well, kids are great and they are at right time and place to do these things.
On the other hand adults work on projects that someone depend on. So those failed dozen times are the type of opportunities not available to them beyond research or personal projects.
On the other hand adults work on projects that someone depend on. So those failed dozen times are the type of opportunities not available to them beyond research or personal projects.
> tremendous power in "not knowing what you don't know" that sometime in university disappeared
This.
By now I believe university does at least as much harm as it does good if not more. The good mainly boils down to building up contacts and connections. If you’re able to find a substitute for that, then skip university!
This.
By now I believe university does at least as much harm as it does good if not more. The good mainly boils down to building up contacts and connections. If you’re able to find a substitute for that, then skip university!
> I have two young kids and I'm constantly humbled by how fearless they are...There's this tremendous power in "not knowing what you don't know" that sometime in university disappeared from me...
"The teenage spirit." There was an interview[1] with one of the founders of Teenage Engineering (makers of the OP-1 synth) that drew from this line of thinking when naming their company:
> They took their name Teenage Engineering from an early prototype that they never launched, but it fits the company and its philosophy well. “The teenage spirit is sometimes about doing things without having any knowledge of how to do them,” he says. “You just do it. That’s often how we go about things. If there’s something we don’t know, say electronics, we learn; we don’t let it stop us. It’s about having more will than knowledge, which is a more rock ’n’ roll way of solving things.”
[1] https://web.archive.org/web/20220421192821/https://www.sandv...
"The teenage spirit." There was an interview[1] with one of the founders of Teenage Engineering (makers of the OP-1 synth) that drew from this line of thinking when naming their company:
> They took their name Teenage Engineering from an early prototype that they never launched, but it fits the company and its philosophy well. “The teenage spirit is sometimes about doing things without having any knowledge of how to do them,” he says. “You just do it. That’s often how we go about things. If there’s something we don’t know, say electronics, we learn; we don’t let it stop us. It’s about having more will than knowledge, which is a more rock ’n’ roll way of solving things.”
[1] https://web.archive.org/web/20220421192821/https://www.sandv...
The Rust type system is a godsend when contributing to a large, unfamiliar codebase. Make one change, and then just follow the type errors to find all the other places you need to change.
Several times in the last several months I have wanted to contribute to a new Rust codebase to fix bugs or add small features. Every time it's been a real breeze :) I'm finding that while it can be sometimes hard to write Rust code from scratch, if you take the time, the solution you end up with will be very readable and nice to maintain.
I see it as the opposite of Perl. Perl was supposed to be easy to write (but is famously hard to read/maintain), while Rust is harder to write but it very easy to read/maintain.
I see it as the opposite of Perl. Perl was supposed to be easy to write (but is famously hard to read/maintain), while Rust is harder to write but it very easy to read/maintain.
This reminds of this study that shows that there can be new contributors to Rust projects and still avoid the introduction of vulnerabilities, https://cypherpunks.ca/~iang/pubs/gradingcurve-secdev23.pdf
There's this tremendous power in "not knowing what you don't know" that sometime in university disappeared from me and now I have paralysis: what if I'm just being annoying? Will I embarrass myself? I don't want to waste people's time. Am I being pedantic? etc.
I've spent the last handful of years refining my communication of, "I'm just trying to be helpful and have absolutely no expectations. No offense taken if this goes ignored or is rejected." It's kind of worked insofar as I feel less anxious about trying to be helpful and I've never had anyone really come at my throat for it. Not that they would have anyways, but good luck telling my brain that.