Working with openWISP in Google Code-In 2017

in utopian-io •  10 days ago

Repository

https://github.com/openWISP

Introduction

By the medium of this post, I aim to share my first experience with open source.

Post Body

Hi there!

I am Arnav Raman, a 16-year-old computer enthusiast with a keen interest in everything that smells technology. My childhood was spent with computers, my father being a software developer himself back in 2001. As a child, I’d see various people coming to my house and talking things over with my father, crowding around the computer screen and do things. I recall clearly how, when I was no more than four, one of my father’s friends were working on a project and my father playfully asked me “Son, can you do what he’s doing?” Somehow, I was greatly intrigued by this question posed by my father, and that was the day my interest in computers was ignited.
Then, I began really working on it rather than just playing around, at the age of nine, starting with an HTML4 based website. I sent the zip file of the website to one of my brothers, Vibhav Raman, who currently works at IBM through email for review. He was greatly impressed and asked me to continue my efforts. I also went on to publish three Android apps on Google play and two on Amazon Appstore, along with many small other projects like HTML5 games using JavaScript, Box2D and element.
It was through him that I came to know about Google Code-In (GCI). I received a message from him on January 8th this year at 9:58 pm IST.

image.png

It was too late. There were only seven days left for the contest to conclude. Also, my examinations had begun and I was having tests on 9th, 10th, 11th, 12th, 15th, and 16th. However, I decided to register. That night, I got myself registered and completed one task too. I was done by 1:25 am and slept.
The next morning, there was a Gmail notification: my task had been accepted! This fuelled me and as soon as I came back from the test, I claimed another one and began working on it. I was enjoying thoroughly!
After these two, the third task I decided to do was openWISP: Build the openWISP documentation. Before claiming the task, I decided to try doing it first. I tried in my Windows-based machine but was confused beyond imagination. Then, I tried using a Linux VM, but still, I couldn’t figure things out. The instructions were very vague. I tried searching on the internet for help with sphinx and pip, but it was tedious and I had to prepare for the exams as well. This was an aspect I didn’t like.
But this, too, was an amazing learning experience for me. I came to know the basics of GitHub and Git command-line interface. I learned about Linux development a bit, and also learned about Sphinx and python in the process. Truly, failure teaches us more than success.
However, I never lost hope and driven by determination, I tried hands on another one of openWISP’s tasks, Create your own GPG key, authenticate to GitHub and sign commits. I chose this task as it was based on the skills of Git I’d learned during my previous attempt. I completed my studies and got to work on it at 1:40 am. I tried Windows but committed a mistake from an ill-written tutorial, applying a command that rendered git useless. Again, I turned to Linux. I installed git tools and got to work. I cloned the repo, added a hello world program and staged it. Next, I set up a new GPG key (my third key in a day), added it to my account, told git about it and ran the git commit –S –m ‘added’ command for signing the commits. It was executed successfully. I was elated. Then I used git push, entered my account credentials and finally, the task was completed.

image.png

That day, I realized a few things:

  1.   Hard work, determination, and persistence can help us achieve anything, and
    
  2.   Linux is way better than Windows for development 😉 
    

I learned about:

  1.   Git
    
  2.   GPG keys
    
  3.   Cloning repositories
    
  4.   Basics of GitHub like stage and branch
    
  5.   Creating branches and merging them with master branch once done
    
  6.   Committing changes
    
  7.   Signing commits using a GPG key
    
  8.   Creating pull requests
    
  9.   Learning basics of Linux command line
    
  10. Learning from failures!!
    

Arnav Raman
@arnavr

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for your contribution to Utopian.

I appreciate the personal story, but had some pointers for improvement, if you wish future posts to be better.

Your post tells the reader almost nothing about OpenWISP. While we always appreciate personal content, it should accompany information and opinion. It should have meaning beyond your personal experiences.

For instance, when you create an open source application, telling us that app's story will be interesting and engaging, especially when combined with the personal side.

On the presentation side, you'd be well served by separating your paragraphs, and writing shorter ones. The way the content is presented now, as a wall of text, makes it harder for readers to get through. Always remember that your goal is to make your writing clear, so your content can shine through.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

·

Should I edit this post to match your valuable advice, would it be accepted?
Or do I just have to include those pointers in my next post?

·
·

As we can't have our moderators re-checking posts, reviews are final. The comments are there to help make your next contributions better.

·

Thank you for your review, @didic! Keep up the good work!

Congratulations @arnavr! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 10 upvotes. Your next target is to reach 50 upvotes.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

·

Wohoo!! YES!