Alvida, RGSoC 🙋🏽

Posted on by Brihi and Shravika

Categories: blog and student posts

(Alvida = Goodbye)

About two and a half months back, none of us had an idea of what this journey would be like. RGSoC had been the first Summer of Code or any other program as such that we were a part of, and our eagerness to grasp the most from the program had us going all throughout. Not to mention, we have gained so much more than we had even anticipated.

Team 276linesofCode

Shravika and Brihi (Credits : Our dear friend, Saatvik)

Our Work this Summer

As we look back into our two and a half months, RGSoC and Tessel have given us the opportunity to explore and grow in all spheres of an Open Source Project. We’ve got our hands dirty with things like Documentation, Tutorials, Code, Hardware experiments, Talks, Presentations and even Product Design, to name a few. We started our Summer with exploring version control with GitHub and learning the intricacies of the same. A professional Open Source project has a very different approach to Pull Requests and Contributions. We learnt how to send PRs, how to get them reviewed ( Trust us, Reviews are the real deal in the learning ), how to squash commits, how to write clean code and clean commit messages, branching of cloned repositories, and most importantly, asking doubts on the issues that we don’t understand.

Team 276linesofCode

Our shipped Modules (Credits - Brihi's Phone)

Our Hardware modules were shipped from the US and we spent some time exploring them. This was the most exciting part - Making circuits, seeing the LEDs shimmer, watching the Accelerometer come back to life, and many more.

Team 276linesofCode

Our first module! (Credits - Brihi's Phone)

After exploring the different repositories in Tessel, we started exploring issues which were Contribution starters. A lot of them were listed in the Tessel blog called “This Week in Tessel” and we started completing them one at a time. We made two important tutorial modules for Tessel for their documentation page. This included Fritzing diagrams of the circuits, describing the functionality in layman terms, and writing code which would be easily understood, with the help of the comments.

Team 276linesofCode

Our first Pull Request for a tutorial! (Credits - Shravika's Laptop)

Apart from all the technical work, we learnt about Product Design and how exactly does a product make it’s way to the Open Source domain. We made a draft of something called a Product Requirement Document (PRD) for our proposal of HAP (Humanoid Arm Project) that we had made during our application process.

Challenges

Before RGSoC had started, our mentor, Kelsey had sent us a Plan of Work to follow. It included the various things we had suggested we would like to work on during our application process. It was a weekly plan with difficulty level slightly increasing every week. One of the tasks we had to accomplish was to implement One-Wire Communication Protocol for Tessel. We tried our initial few weeks on this issue but we were not able to get much out of it. This was because we were not able to figure out exactly where to start. We tried mapping the coding in Arduino with the one for Tessel but still couldn’t succeed.

Since we were beginners in git, sometimes we weren’t able to figure out how to squash multiple commits into one for clarity, how to sync the forked branches with the master branch and many others. In the beginning we did not even know how to send Pull Requests for different issues by making separate branches for each. In the second month of RGSoC, during one of our weekly calls with Kelsey, we were introduced to Reach which is a module that the Tessel community is currently working on. It requires the ESP32 hardware module. So, we got one for us and started working on the same but got stuck in between since we were not able to push the python code to the module. Although, in the end, we were able to figure out the error in our approach with the help of one of our seniors at our University.

Tessel was all based on JavaScript. We were both new to this language and hence faced certain challenges while comprehending the code which was already there in Tessel. But, one of our coaches, Divam, helped us in figuring out the keywords used in the code snippets with the help of which we were able to make some tutorial for a few functionalities in Tessel in JavaScript.

A shoutout to the amazing Tessel Community!!

Our blog couldn’t be complete had we not thanked the awesome Tessel Community that made our descent into Open Source, a smooth fun ride. Every call with Kelsey would begin with her asking us whether we have been achieving whatever we planned for.

Team 276linesofCode

Kelsey, our mentor, tweets about us! (Credits - Twitter)

Our weekly calls with Kelsey, our mentor, were the times where we had learnt the most. The timely response of the community members on any of our doubts was commendable. Any PR review would come in a day or a two and the reviews gave us a different perspective on the issues. Nick and Kelsey, both Tessel Steering Committee members would leave comments asking questions about our code, which would force us to research more on the issue. On our third meeting with Kelsey, she had said that “It is better to over-communicate rather than Under-communicate” and thus, we would ( shamelessly 🙈 ) ping them on slack or on the issues whenever we were stuck and a descriptive solution to our questions would follow. Many a times, Kelsey would explain us our doubts on our call. Despite whatever mistakes we would make, the committee members were always positive and ensured that we were able to rectify our errors and learn from them. Many times, they’ve tagged us in several issues that they thought we should be aware of and sent us links and resources to escalate our learning.

Team 276linesofCode

@HipsterBrown, an active Tessel Steering Committee member, responding to us :) (Credits - Slack)

Tessel has provided us amazing Mentorship, one that is hard to find. We are so glad that we began our Open source journey with such a welcoming community and we aim to work for Tessel even after RGSoC is over. Tessel, We love you!

Extras

In these three months, we not only focussed on core development work but we also went on presenting a few lightning talks. We gave two of them - one for Women Who Code, Delhi and another for LinuxChix India. In the WWC-D Meetup, we introduced the participants to Computer Vision in Python. It was a great experience, since, we got to delve deeper into Open CV, explain the concepts involved to the attendees, cleared their doubts. The audience was very responsive and we even got a positive feedback in the end. So, through this we were able to spread our knowledge about Computer Vision to a few enthusiasts beginning their journey in this. We introduced RGSoC in the beginning of our presentation, making the audience aware about what it is and how it really works. Slides for the same can be found here

Team 276linesofCode

Women Who Code Delhi publishes a review of our talk (Credits - Twitter)

The LinuxChix India Meetup was focussed more on Open Source Contributions, RGSoC, and Tessel. Our supervisor Vaishali had introduced us to the community and put us in touch with the organizer of the meetup. We spoke about RGSoC - How to apply, what all do we do, our work, our social media, our blog posts, in and all everything. After that, we went on to demonstrate our project - Tessel. There were several Open Source enthusiasts who had loads of questions about Tessel and we were more than delighted to answer them. One person even wanted to use Tessel in his project that he was thinking of starting!

Team 276linesofCode

Poster introducing us for the LinuxChix meetup (Credits - Twitter)

It was a great experience for both of us because we were able to pass on our knowledge to an enthusiastic crowd, get rid of our fear of speaking in front of unknown people, and gaining in depth knowledge of the topics involoved for which we had to explore every nook and corner of them in order to make our sessions productive. Slides for the same can be found here

Team 276linesofCode

LinuxChix India tweeting about us! (Credits - Twitter)

What’s next?

RGSoC provided us with a whole lot of things that we not even imagined of gaining in this interval of three months. As it was a wonderful journey for both of us, we have thought of recommending this program to more and more people by conducting a few related meetups at our University under our Rails Girls Summer of Code, Delhi Chapter. Apart from this, we had discussed way back with our mentor during the application process that we would love to contribute to Tessel even after RGSoC ends. The months might be over, but the memories are here to stay!

Team 276linesofCode

We love you Tessel! (Credits - Twitter)

And who would know that two confused, scared and shy humans who had absolutely no idea how they would survive the tech world could complete RGSoC successfully, loaded with experience and confidence!