An ask for your next OSS contribution...

100 points alphastrata

tldr: the sciencey OSS repos out there are perhaps in the most dire of need for contributors, and the barrier to making a worthwhile improvement may be at its lowest!!

I am not a great programmer, but, thanks to Tokio things like making a researchers sync code async

are very, very doable, maybe they are for you too! (future OSS contributor).

Wonderfully, a recent video by Mat Parker has come out which really, really illustrates the magnitude of the impact that can be had when you have collaborations between people who are around software all day everyday, and, those who are not.

The science communities (not just space imaging like the above) could really use a hand to make their code a little more performant, many scientists are reaching for rust -- we, as the rust community have a grand opportunity to help them.

The original author of that repo wasn't even looking for contributors, and, I pondered for a few days about whether to make a PR -- but, as I suspect you'll find, we all want to go fast! ('cmon, this is rust right!).

Things that you'd find an opportunity to put your knowledge of in repos like these:

  • Getting rid of unwraps
  • converting for-loops into iterators
  • converting single-threaded iterators into parallel ones. <<< I think I see folk asking how to do this once a week in the rust discord! \[ three years ago I was one of them\].
  • idiomatic error handling, where there is none.
  • interesting algorithms!
  • de-duplicating code
  • removing code that wraps existing std or existing library code
  • 2 clippy lints / loc
  • asyncing sync code
  • and, of course, much more!

I think it unlikely that you'll find such trivial improvements in most of the more popular crates out there, so, if you're looking for a chance -- something like this may be it.

Apologies for the essay.

Post-script: I'm not dissing 'researchers' in this post, nor in any way trying to belittle other programmers, or people who're not programmers writing code to assist them in the course of whatever-it-is-they're-doing -- I'm just sayin, if you write rust for your day-job, or even if you're a programmer by day in another language and have at least read and understood 'the book' you've a lot to offer.