TheAlgorithms / Rust

All Algorithms implemented in Rust
MIT License
22.02k stars 2.14k forks source link

Hacktoberfest #376

Closed erfan-khadem closed 1 year ago

erfan-khadem commented 1 year ago

With Hacktoberfest coming, I thought it might be a good idea to devise a strategy beforehand so that our contributors and community can make the most out of this event.

There are many, many algorithms out there, with variable degree of utility, that can be implemented by contributors, but most of them won't be of particular value, even though they can't be rejected. For example we won't be benefiting from yet another sorting algorithm with terrible run time behavior that was mentioned in $textbook.

As such, it might be a good idea to somehow curate a to-do list with tasks of various difficulty levels for participants. The tasks need not be strictly coding related, but I can think of at least a few areas where we could benefit from having lots of new code (bignum, random and crypto to name a few.)

We can also start thinking of a new direction: Something like collecting all the accumulated knowledge here in a book or blog like platform to guide not only new learners, but also enthusiasts that could benefit from "human-readable" implementations of complex systems (like cryptography or random number generation for instance). One thing to keep in mind with this approach is that it will take a lot of polishing before it becomes anything useful.

To summarize, we need a strategy to make the most of this year's hacktoberfest. At very least a to-do list for new code and algorithms, but we may decide (and vote) to start being something more than a "just" repository to store algorithms. I think this issue might be a good place to start discussing our options.

AnshulMalik commented 1 year ago

True @er888kh, agree with you. We should plan ahead, have some issues created with varying difficulty.

I can think of a few things apart from the obvious algorithm implementations:

erfan-khadem commented 1 year ago
* Real world example of simple algorithms being used to power rockets in space.

There is no doubt that we have and will have even more cool algorithms with applications all over the industries. The point is that our discoverability might be too low, and it wouldn't matter what is stored here if no one benefits from it.

Another point is that writing educational code requires at least the same amount of comment as code among other things. Thus it might be worth thinking about whether just adding new code is the best use of this opportunity. Adding animations, illustrations and similar complementary material should be of priority IMHO.

siriak commented 1 year ago

There's a website already https://the-algorithms.com/ with more verbose explanations. Animations and book-like descriptions would fit there, but not here next to source code. It'd be difficult to tell apart algorithms from their animations/complementary material in a single repo IMO. One thing that I'd like to point out is that adding something more than just algorithms would require a lot of effort and time, which I don't have. So any help would be greatly appreciated.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as abandoned because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 1 year ago

Please ping one of the maintainers once you add more information and updates here. If this is not the case and you need some help, feel free to ask for help in our Gitter channel. Thank you for your contributions!