Skip to main content

Journey with Chapel

· 6 min read
Sai Rajendra Immadi

Starting from nothing to having great experiences with Chapel-language. Here is my Journey with Chapel!.

Selection of the Organization

I had already contributed to an open-source organization previously. But, that was the initial start of my open-source contribution and was not able to contribute much. This time I planned to contribute to an organization where I can get more exposure into some deep computer concepts.

I was going through Google Summer of Code websites to search for an organization of the choice, and after going through a lot of organizations and the projects they are doing, I found the Chapel language very interesting and thought it could give me some knowledge and sharpen my skills. My interest in parallel and distributed computing also was a reason why I choose the organization to start contributing.

Even I choose the organization, I was not so sure if I would solve any potential problems and contribute to the organization. Contributing to this organization was also going to be the first open-source organization to test and prove what I have learnt from my previous (first) contribution. I knew this was going to be a big challenge for me while I could still contribute to an organization which has a project of the skills I already know, but still, I somewhat felt like contributing to Chapel.

If you want to know more about Chapel, you can dive into this link.

How I started to Contribute

According to the organization rules, if we want to contribute to the organization, we should fill out an agreement for which you have to stick on later on while contributing to the organization. I took my time reading the license and also went through all the contributing guidelines provided on the organization website. I had started to write a few chapel programs and started trying to understand how the language syntax is and also learnt the basics of how to work with multi-locales. This took me a long time than expected, and later someday I had filled the Contribution License Agreement and mailed as guided in their website. The same day after a few hours, I had received a mail stating I am officially invited as a contributor to contribute to the chapel-language. I was very excited and also had introduced myself in gitter and through the mail.

Contributions

I still remember the first issue I took up was an issue causing block comment being blocked by single line comment while making documentation. I had tried going through the code a lot and also have messed up the whole code and had to pull the code, again and again, I had a nice experience in trying to solve my first issue. After some long time like 20 days, I was able to come up with a solution which could solve the problem. I had created my first pull request for that problem, searched for another issue and started working on it right away. The second issue I claimed was to add a new flag for the documentation generation. After started to work on it, for my surprise, my first issue was still hanging and I was still figuring a way to work on it. I had been trying to solve both the issues and after some long days, I was able to send a pull request for my second issue too. But, they were still not approved and merged. I had been asking questions and getting clarifications on the defaults and the tests. Later after trying a lot, my second issue got merged before my first issue got merged. I was very happy to see the code I have contributed present in their source code. The feeling was very good when I solved some problem (it may be even small issue) and see my code there. I started claiming more issues, working around them, communicating with the organization members and was able to solve a few potential problems which might not be huge. I am still happy till date that every code I have contributed is not left out and was merged into the chapel-lang source code.

My contributions - link

My Journey towards Google Summer of Code

The chapel language was going to mentor for the Google Summer of Code 2020 too, I was very happy and went through their projects page and from which I choose "Chapel I/O Performance". I had different options of projects to choose from, there were easy projects to do and even difficult projects too. But, I still wanted to stick on to this project as this might give me an experience on how and where my limits were. I wanted to step out of my comfort zone and started trying my best to know about the performance of the languages, comparing them with chapel and also have read a few papers based on them. It was a confusing topic for me to choose and I was not sure at the beginning that I would be able to crack it. I had slowed down my contributions to the chapel and put my focus on preparing the project proposal. After working for months, I was able to finish my proposal with few implementations in my mind and a few of the different benchmarks of the languages. This was when I got confidence that I will surely be selected to work on this project this year. I was eagerly waiting for the results to come out, it was a 50:50 chance for me to get selected, but, in the end after the results came out, I was not selected for the Google Summer of Code programme. I was not worried that I was not selected instead felt happy for all the contributions I did gave me a lot of knowledge and a lot of experience which I couldn't get before. I also knew my mistakes why I didn't get into the programme, it was because I was still hesitant to communicate freely in the organization. It was a sign that I should improve my communication skills more and more.

Due to some reasons, I had stopped (or paused) my contributions to the chapel. Even then, I had attended a few sessions conducted by Chapel and am still trying to keep myself update of the chapel progress. This language has amazed me by how it is growing daily.

I really would like to thank the guides from Chapel who have mentored me throughout the journey and also would like to thank the founder of the club "amFOSS", my seniors in the club, my peers in the club who helped me in contributing to a wonderful organization. I had gained a lot of knowledge despite my failure in Google Summer of Code 2020.

I will say it as not my failure, but a step in my life which made me grow either be technical or non-technical aspects.

This post is licensed under  CC BY 4.0  by the author.