Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outreachy Meta Issue #21

Open
patricoferris opened this issue Oct 1, 2023 · 13 comments
Open

Outreachy Meta Issue #21

patricoferris opened this issue Oct 1, 2023 · 13 comments

Comments

@patricoferris
Copy link
Contributor

Welcome Outreachy Applicants!

First of all, thank you so much for considering this project out of all the amazing open-source projects.

Secondly, this issue is a bit of a meta-issue. It has some helpful comments for potential applications during the contribution period. If you have a generic question feel free to drop it here (or on discord etc.).

To contribute during the contribution period there are some issues marked as good first issue. The steps to contributing I would say are:

  1. Get the project building! This means setting up OCaml, opam and running dune build successfully. Unfortunately we don't have that many issues so please set everything up before asking to be assigned an issue. This doesn't mean suffering in silence, if you are stuck do ask questions. The OCaml.org website has lots of useful tutorials on getting started: https://ocaml.org/docs/up-and-running
  2. Once you have things up and running, find an issue that you like the look of and ask to be assigned that issue. This helps make sure no one accidentally works on an issue someone else is already working on.
  3. Submit a PR for that issue -- even if the PR isn't ready I recommend to still open a draft PR as it is easy for us to help with any code if we can see your efforts so far. Again please do ask questions :))

If all the issues have been assigned, feel free to open issues yourself and we can discuss their suitability.

I'm also very excited to have @AryanGodara co-mentoring this project with me.

@AryanGodara
Copy link

AryanGodara commented Oct 1, 2023

Some R-Tree Materials

If anyone is interested in finding out more about R-trees (and variants like R*-trees) then there are some papers that you can read:

These papers go into quite a lot of detail so don't worry too much if they're difficult to understand. One good way for getting a feel for a data-structure is to look at an implementation in another language. There is an implementation of an R*-tree in Rust which may be useful for example.

Other Articles

An in-depth article showing the algorithm behind r-trees (something I found very helpful when I started out).

There is a video on the r-tree algorithm in
two parts. Or a video by computerphile on k-d trees which might be a good primer.

Books for OCaml

And here are some books you'll definitely enjoy :)
Real World OCaml
OCaml: Correct, Efficient, Beautiful

And just like @patricoferris said, even though we encourage you to try to solve problems yourself first, don't hesitate to contact us if you're stuck. Remember, there are no silly doubts :)

@Lukong123
Copy link
Contributor

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

@AryanGodara
Copy link

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

Hello @Lukong123 , have you set up the repo locally and run the tests?
A good idea would be to go through the available good first issues and pick one.

What did you mean by updating the README? Do you have any specific ideas?

@Lukong123
Copy link
Contributor

Thanks a lot, mentors for the resources. Getting to understand the codebase for now is kind of challenging for a beginner like me. For now, I have forked this repository and I have already set up Ocaml. For this project can we start by updating the readme so that other contributors like myself might find it easier?

Hello @Lukong123 , have you set up the repo locally and run the tests? A good idea would be to go through the available good first issues and pick one.

What did you mean by updating the README? Do you have any specific ideas?

Concerning the README for this particular repository, it gives an explanation of how to work with rtree but it does provide guidelines on how to set up the repo locally and run the tests which will be helpful for developers who want to work on the project. Please for running the test is it make and make install as stated in mariusae/ocaml-rtree?

@patricoferris
Copy link
Contributor Author

Good question @Lukong123 ! I've added a simple contributor guide here: https://github.com/geocaml/ocaml-rtree/blob/main/CONTRIBUTING.md -- to run the tests use dune runtest after installing the dependencies of the project.

@Lukong123
Copy link
Contributor

Good question @Lukong123 ! I've added a simple contributor guide here: https://github.com/geocaml/ocaml-rtree/blob/main/CONTRIBUTING.md -- to run the tests use dune runtest after installing the dependencies of the project.

Thanks a lot I will check it out.

@Lukong123
Copy link
Contributor

Hello @AryanGodara @patricoferris considering some of the recent issues created (which I really appreciate since thanks to it, I'm getting to understand the codebase better and also the project and the Ocaml language) can we have some other issues like replacing leaf, child or node, searching for an entry etc this will give us more to work on and as a result understand even better.

@VioletaSaravia
Copy link

Hi! I missed the issues tracker last week, I spent the time getting up to level with Ocaml and reading the r-tree papers. I see that there aren't any issues untaken. Is there anything else could I work on? Cheers!

@Mankavelda
Copy link

Thanks so much @patricoferris and @AryanGodara for this guide

@Lukong123
Copy link
Contributor

@patricoferris @AryanGodara please sirs, with the issue I was working on, resolved, please are there tasks that I can work on? Since nearly all the issues already have people assigned to it?

@patricoferris
Copy link
Contributor Author

Hey everyone, as you come to write up your timelines it might be useful to have some broad strokes you can use to help shape it. Please note, I'm not too worried about the details in the timeline as things always change, but it's good to have some idea of what you want to do:

  • picking up issues that could help continue for you to learn the code and OCaml
  • familiarise yourself some more with R* (eg reading the papers)
  • have a working draft of the R* data structure
  • implement a series of tests for the data structure
  • produce some benchmarks between R* and R trees
  • write up a small presentation for the OCaml community

This is not an exhaustive list and I'd love to see your thoughts in more personalised timelines. Thank you once again for contributing to ocaml-rtree ^^

@kushalpokharel
Copy link
Contributor

Hi @patricoferris, do we have any community-specific questions?

@patricoferris
Copy link
Contributor Author

@kushalpokharel none from me 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants