At first I didn't know what to do, so I started by scrolling through all the previous project contributions. I finally came across the Algorith project. There are several versions of the project written in different languages, but I chose the one written in Python.
## The Contribution
After browsing through all the files, I decided to contribute to the K-means algorithm. After running the code, I wanted to add the K-means++ extension, which in theory should improve its performance. Unfortunately, it didn't yield the results I expected and I had difficulty fixing it. Finally, for debugging purposes, I made a 3D plot of the final clustering results, which seemed to be a better contribution than my first proposal.
## Pull Request
Once I had implemented my code locally, I followed the Contribution Guidlindes (CG) witch asks to install and run the pre-commit plugin, which runs some automatic tests to ensure that everything is alwrite in our submision. I made the mistake of only test the file I was modifying and not the whole project. This resulted in my PR having the tag "tests are failing". The bug was coming from another file, and I added a commit to fix it. The next day, the main contributor for the project made a commit to fix the bug (https://github.com/TheAlgorithms/Python/commit/e3f3d668be4ada7aee82eea0bc75c50436c1ab3a) with made my fix uselles. I decided to close my pull request and open a new one widout the bug fixing.
After a few weeks of not getting any feedback from the main contributors, I thought the best thing to do would be to post a message on the project's Discord. Eventually I decided not to do so, as the server was mostly filled with people asking to have their PR reviewed (and the owners telling them that they were understaffed and didn't have time for it), or random messages that had nothing to do with the project.
## Diary:
| 28/10/2024 |
|-----------------------|
- Check previous students' open source projects contributions.
- Finding the Algothm project.
|-----------------------|
| 30/10/2024 |
|-----------------------|
- Exploring the project and deciding to contribute to the K-means algorithm.
|-----------------------|
| 04/09/2024 |
|-----------------------|
- Start to code the K-means++ extention.
|-----------------------|
| 09/10/2024 |
|-----------------------|
- Changing course and implementing a 3D plot of the K-means final result.
- Publishing my first PR!! But flagged as "tests are failing" :pensive:
- Adding a fix to the bug.
|-----------------------|
| 11/10/2024 |
|-----------------------|
- Main Contributor committing a fix for the bug I was experiencing.