One of the things that I love about open source is its ability to send improvements across projects. Sometimes, an improvement in one project ends up improving its upstream. This kind of network effect really gets to the core of it for me: steady, constant improvement.
I saw an example of this today that makes me smile. Before Rust’s 1.0 release, I wrote a chapter about the Dining Philosopher’s problem. Incidentally, I’m really happy to use classic CS concepts in the Rust docs, hopefully exposing them to people who didn’t get the opportunity to get a degree in computer science. Anyway, towards that end, I decided to cite Tony Hoare’s classic CSP paper. Other funny aspect of that: I started my implementation using channels, but ended up using mutexes instead.
Anyway, today, a new contributor spotted a typo. The PR message made me smile:
Looks like this was an issue in the source
Continue reading →