Skip to content

Latest commit

 

History

History
53 lines (27 loc) · 8.14 KB

tessel-blog 2.md

File metadata and controls

53 lines (27 loc) · 8.14 KB

Team 276linesofCode - Rails Girls Summer of Code 2017

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.

We both believe that Tessel was the best project that we could have worked on since it welcomes new contributors in a positive manner that motivates them to give back to the community as much as they can.

Our Work this Summer

As we look back into our two and a half months, RGSoC and Tessel have given us 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.

Our Hardware modules were shipped by the Tessel team 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 many more.

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 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. Along with this we started working on "reach" during the last few weeks of the program.

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 which helped us to schedule our tasks accordingly. 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, our mentor Kelsey along with 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 fun and a smooth ride. Every call with Kelsey would begin with her asking us whether we have been achieving whatever we planned for. She even asked if the tasks for the week were a lot or were they too less. But she always ensured that we had the right amount of work on our plate for that week.

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 were 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 a times, they've tagged us in issues that they thought we should be aware of and sent us links and resources to escalate our learning.

Tessel has provided us amazing Mentorship, one that is really hard to find. We are so glad that we began our journey with Open Source with such a welcoming community, so much so that we are more than willing 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. The LinuxChix India Meetup for 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!

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.

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!

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