Open Sudha247 opened 11 months ago
Hello, I'm done installing OCaml on my pc. You mentioned that we will use the Graphics library for our implementations. When you asked us to install it and play around, are we supposed to fork the repo, run the code and see the results...? I'm not exactly sure how to proceed.
Hi @nangahamandine, thanks for your interest in contributing. I've elaborated this in #3.
Thank you
I'm using Ubuntu 22.04 and I'm trying to install OCaml on my machine through opam. I'm following these steps:
However, I encounter the following error: "The repository 'https://ppa.launchpadcontent.net/avsm/ppa/ubuntu jammy Release' does not have a Release file."
How can I resolve this issue?
@joanita-51
Try running this
sudo add-apt-repository --remove ppa.launchpadcontent.net/avsm/ppa/ubuntu
And if that gives error, then this
sudo add-apt-repository --remove ppa.launchpadcontent.net/avsm/ppa
Now run
sudo apt-get update
This error isn't specific to this particular repo, but an issue with your ubuntu version. The PPA you've added does not support your version of Ubuntu, meaning there aren't any packages for your particular release. So, one possible solution is to remove the PPA.
Alright, thank you @AryanGodara I also managed to install OCaml quickly by executing the following commands in my terminal:
Install necessary dependencies:
sudo apt install bzip2 make gcc bubblewrap rsync patch curl unzip
Run the OCaml installation script:
bash < <(curl -sL https://ocaml.org/install-platform.sh)
Install the Platform tools.
ocaml-platform
I also found the documentation at https://ocaml.org/docs/up-and-running to be helpful
From this screenshot, i think i'm now good to move forward ⏭️
PSA for Outreachy participants: If you plan to apply for this project under the OCaml organization, please ensure your contributions are up-to-date on the outreachy website. An open PR is considered a contribution; you don't need to wait for it to be merged.
PSA for Outreachy participants: If you plan to apply for this project under the OCaml organization, please ensure your contributions are up-to-date on the outreachy website. An open PR is considered a contribution; you don't need to wait for it to be merged.
Okay, thank you.
Another PSA for outreachy participants: today is the last day to submit your final applications. Please submit them when they're ready. Best of luck to everyone!
Another PSA for outreachy participants: today is the last day to submit your final applications. Please submit them when they're ready. Best of luck to everyone!
Thank you @Sudha247 Are there any community specific questions that you'd like for us to answer?
Also, what do we fill in the internship timeline or do we leave it blank?
Another PSA for outreachy participants: today is the last day to submit your final applications. Please submit them when they're ready. Best of luck to everyone!
@kushalpokharel @godplayer56 @Mankavelda @FayCarsons @TitilayoAdeyemi I'm tagging you all so you might get notified via email, since you didn't comment here and might miss the important notification.
Good luck to us all :)
Thanks @nangahamandine!
Re: timeline, I'd suggest including a combination of completing the API (we don't have a lot of stuff left here), exploring other backends, and creating tutorials. This is, of course, subject to updates during the internship itself.
@nikochiko and I were discussing when we met recently about the backends, and we thought it might be worth looking at a javascript or web assembly backend (via js_of_ocaml and wasm_of_ocaml, respectively).
For community-specific questions, I'll let you decide what you'd like to include. It is optional to fill it in.
(this recommendation applies to everyone.)
Thanks @nangahamandine!
Re: timeline, I'd suggest including a combination of completing the API (we don't have a lot of stuff left here), exploring other backends, and creating tutorials. This is, of course, subject to updates during the internship itself.
@nikochiko and I were discussing when we met recently about the backends, and we thought it might be worth looking at a javascript or web assembly backend (via js_of_ocaml and wasm_of_ocaml, respectively).
For community-specific questions, I'll let you decide what you'd like to include. It is optional to fill it in.
(this recommendation applies to everyone.)
Okay, thank you @Sudha247. A javascript or web assembly backend is a great idea! Thank you again for all the help so far :)
Here is the writeup I've come up with for the project timeline. Please review it in case of any suggestions or improvement:
Month 1: Orientation and API Development
Week 1: Orientation and project familiarization. Week 2: Complete the simple and approachable API. Week 3: Write documentation for the API and start writing tutorials. Week 4: Begin exploring JavaScript and Web Assembly backends.
Month 2: Backend Implementation and Enhancements
Week 5: Continue backend implementation (JavaScript and WASM) or decide not to proceed. Week 6: Enhance the API to support composability and transformation. Week 7: Document the new backends and update tutorials. Week 8: Project report and review.
Month 3: Finalization and Reporting
Week 9: Conduct a comprehensive code review and address feedback. Week 10: Finalize any pending tasks, perform extensive testing, and fix bugs. Week 11: Prepare the final project report and review all documentation. Week 12: Participate in project handover and final discussions.
@nangahamandine, thanks for presenting your proposed timeline. Some of these tasks are too ambitious for a week (e.g., one week for a new backend implementation), while one week may be long for some, like writing a report. I suggest condensing the week-wise breakup to a month-long collective description.
Also, a note to those using LLMs for their work -- please refer to the section on ChatGPT made for the previous round of outreach here titled "A Note on Using ChatGPT and Generative AI for Contributions" - https://github.com/mirage/mirage/issues/1402. I do encourage you to use AI tools for learning. But please be mindful about using AI for actually doing the work you're expected to do.
@nangahamandine, thanks for presenting your proposed timeline. Some of these tasks are too ambitious for a week (e.g., one week for a new backend implementation), while one week may be long for some, like writing a report. I suggest condensing the week-wise breakup to a month-long collective description.
Also, a note to those using LLMs for their work -- please refer to the section on ChatGPT made for the previous round of outreach here titled "A Note on Using ChatGPT and Generative AI for Contributions" - mirage/mirage#1402. I do encourage you to use AI tools for learning. But please be mindful about using AI for actually doing the work you're expected to do.
Okay, thank you.
How should we handle unmerged PRs? Should those be added as contributions in the final application? @Sudha247
Here is my proposed timeline, and I welcome any suggestions for improvement.
How should we handle unmerged PRs? Should those be added as contributions in the final application? @Sudha247
You can include them. https://github.com/Sudha247/ocaml-joy/issues/1#issuecomment-1755900112
Another PSA for outreachy participants: today is the last day to submit your final applications. Please submit them when they're ready. Best of luck to everyone!
@kushalpokharel @godplayer56 @Mankavelda @FayCarsons @TitilayoAdeyemi I'm tagging you all so you might get notified via email, since you didn't comment here and might miss the important notification.
Good luck to us all :)
Thank you so much @nangahamandine for tagging us
You're welcome @TitilayoAdeyemi
Hello!
Thanks for stopping by. If you are an outreachy applicant interested in contributing to this library, please read on. For people unfamiliar with outreachy, the official website gives a good overview of the program.
What is this library
This library aims to be a tiny geometric creative coding library, much like the original python version. You are encouraged to go through this tutorial to get a feel of what the library is. We are embarking on a journey to implement a similar library in OCaml.
Install OCaml
First things first, let's install OCaml on your machines. The easiest way to install OCaml on Unix based machine is through opam.
Windows users, please refer to the instructions at ocaml.org: https://ocaml.org/docs/up-and-running#installation-on-windows.
Graphics library
We will use the graphics library for our implementations. Feel free to install and play around with it.
To install it, run
opam install graphics
.Next steps
Over the course of this week, we'll add issues tagged as
good-first-issue
. Once you are done with the above steps, go ahead and pick up any of these issues. Please mention in the issue when you start working on it, so there isn't duplication of work.At any point, please don't hesitate to ask questions. You can contact the mentors either here in the issue tracker or in the #outreachy channel in OCaml discord.
OCaml learning resources
If you are new to OCaml, we encourage you to go through some of these learning materials to familiarise yourself with OCaml and functional programming: