Sunday, January 26, 2020

My Google Code-in 2019–2020 experience!












10th year of Google Code-in
 

 

What is Google Code-in?

Google code-in is an online contest introducing students to open source development. The contest for 2019–2020 ran for seven weeks from December 2, 2019 until January 23, 2020.

Who can register?

Pre-university students ages 13–17 that have their parent or guardian’s permission to register for the contest.

How do students register and participate?

Students can register for the contest here at g.co/gci. Once students have registered, and the parental consent form has been submitted and approved by Program Administrators, students can choose which “task” they want to work on first. Students choose the task they find interesting from a list of thousands of available tasks created by 29 participating open source organizations. Tasks take an average of 3–5 hours to complete. There are even beginner tasks that are a wonderful way for students to get started in the contest. You can only do a maximum of 2 beginner tasks. There are 5 different task categories to choose from.
The task categories are:
  • Coding
  • Design
  • Documentation/Training
  • Outreach/Research
  • Quality Assurance

Why should students participate?

Students not only have the opportunity to work on a real open source software project, thus gaining invaluable skills and experience, but they also have the opportunity to be a part of the open source community. Mentors are readily available to help answer their questions while they work through the tasks.
Google Code-in is a contest so there are prizes (of course!!). Complete one task and receive a digital certificate, three completed tasks and you’ll also get a fun Google t-shirt. Finalists earn a jacket, runners-up earn backpacks, and grand prize winners (two from each organization) will receive a trip to Google headquarters in California in 2020!

How I got involved?

 
I have been doing multiple courses for Python, Django, Git, Android, HTML, Bootstrap and CSS. I have also got multiple certificates for the mentioned topics…






I found out about Google Code-in while browsing through some other certifications and real world experiences that I could go for. As soon as I found out about Google Code-in, I started to research about what it was and what I can do to get involved. The contest had started already on 2nd Dec 2019 and I was already late by nearly 3 weeks when I came to know about it. However, then realised it’s never too late to begin so decided to embark on this journey of Google Code-in.
The first thing I did was to get my parents consent. After that I started going through the organizations and finding out the one that interests me the most. It was difficult to finalize just one organization as there were 29 of them to choose from.


How I chose the right organization?

 
I went through the orgs finding which ones used the skills I was better familiar with. I finalized 3 organizations that I’d like to work with OpenWISP, AOSSIE and Haiku.





Haiku had 2 tags that I was familiar with python and html.

OpenWISP had 3 tags that I was familiar with python, django and linux.

AOSSIE also had 3 tags that i was familiar with web development, mobile development and python.

Out of these though, AOSSIE provided tasks that might give me a bit of a challenge. For quite a few of their tasks they used JavaScript, this meant that while I contributed to Open Source I could also learn another language (in this case — JavaScript) alongside.
Additionally, the projects for AOSSIE too were very interesting like the group of tools around Carbon Footprint, online polling (Agora/Slagora) and my favourite Mind The Word extension. Mind The Word is a Chrome extension that helps people to learn new languages while you’re browsing the web. Users can decide which language they would like a part of the text they are reading to be translated into. e.g. I can ask the extension to translate 30% of English text in Spanish when the webpage is displayed so that I can simply read through the page and without spending any additional effort can train myself to learn Spanish words. It also gives English explanation through hovercard for each translated word so help is always there if any of the Spanish words are new to me.

Here’s a screenshot of Mind The Word running -





Mind The Word

 

Working with AOSSIE

 






AOSSIE logo
I claimed my first task for Google Code-in on 20th Dec 2019 and then continued to get further involved tasks for AOSSIE.

Who are AOSSIE?

 

Australian Open Source Software Innovation and Education (AOSSIE) are a not-for-profit umbrella organization for open-source projects. They strive to achieve innovation and education through a resource-efficient channel of knowledge.
In 2019, they offered the following projects:
  • Agora: An electronic voting library.
  • Agora-Web: An online portal for democratic elections.
  • Aossie Scholar: Providing better and fairer metrics to all the scholars.
  • Carbon Assistant: Provides conversational access to the CarbonFootprint API.
  • CarbonFootprint: A browser extension to track the C02 emissions.
  • CarbonFootprint API: A universal API to find the C02 emissions.
  • CarbonFootprint-Mobile: A cross-platform app to monitor and track their C02 emissions.
  • CrowdAlert: Platform to report and view the incidents around the globe.
  • Mind the Word: A browser extension that helps users to learn new languages.
  • Social Street Smart: An extension that makes the Internet a more productive.
  • Starcross: Starcross Android App brings the facility of Night Sky Gazing.

Getting onto the leader board.

 






Leader board on gci-leaders.net. DYay is me.
On January 4, 2020 I made it to the leader board. It was really a proud moment to find myself on this just within 2 weeks of my Google Code-in journey.

Tasks

 






Tasks completed
During this competition I completed a total of 16 tasks and 15 of these were related to coding. I am sure many of these tasks have helped AOSSIE achieve their greater objectives around the various projects. While the tasks have given me a very good opportunity to learn new skills, I am also certain that I have accomplished all of them to the best standards and exceeded the expectations around the quality of my work.











The above snapshots provide a view of all the tasks I have completed. As you would notice I did complete a lot of tasks for Mind The Word as I found this concept very interesting and thought it was very helpful to help people learn languages of their choice. I had also finished all the available tasks for Slagora (that were not a beginner task). The two beginner tasks that I did were “Create your first pull request” and “Tutorial to Build Actions for the Google Assistant (level 1)”.
As soon as I got my first beginner task approved, there was no looking back. While 1 task was submitted for review, I immediately started working for another and at times even the next one after that. At one point of the competition I had 3 tasks finished just while waiting for the other to get approved. While the support structure around reviewing and approving the tasks is the best anyone could imagine for, there was a lag at times due to the geographic spread and different time-zones that the people work within.

Some special mentions…

 

I would like to thank all the mentors involved with Google Code-in for making this event a huge success, especially Harkishen Singh, Alwis Lim, Siwani Agrawal, Abanda Ludovic, Chirag Singhal, Mandeep Singh, Chirag Vashist and Thuvarakan. Your help and guidance is really appreciated!! 


After all the mentors are the ❤ of this competition. Thanks for reading.






Monday, December 23, 2019

Slagora - Introduction, Installation and Usage

Introduction:
We all know that teams outperform individuals. Teams do better not only because they put more people to work on a task, but also because their diverse skills and perspectives have a multiplying effect. Teams can also be too much of a good thing — the larger the team, the more effort and overhead it takes to keep people organized, involved and productive by taking the right decisions. Gathering inputs from a team is difficult, therefore Online Voting can help making decisions easier and Slack has provided an effective framework to do this - it is called "Slagora".

Slagora is a ready-made Slack application - which means that it is an essential chat room for your whole company, designed to replace email as your primary method of communication and sharing - that enables teams to create interactive polls using voting algorithms.

Slagora makes it extremely easy to create polls and take informed decisions collectively. This makes the overall functioning of the organization much more efficient, which allows you to gain an upper-hand in this fast-paced world.

Why Slagora when there are many others:
1. Slagora is unbelievably light-weight for an app. Along with that it’s really fast. Slagora makes use of the Agora vote counting library which has been proven to be one of the fastest and the most accurate libraries used to count votes in a poll or election.

2. Slagora is user-friendly. With a simple UI and easy to remember commands, any Slack user can easily interact with Slagora.

3. Slagora is powerful. Slagora can handle a huge number of polls and elections while providing the best services.

4. Slagora is extremely secure. The data stored in Slagora is not shared with any third party and across different teams in slack even if the user is a member of the other teams.

5. Slagora is fully Free and Open-Source. This means that it is always updating and improving. As it is Open-Sourced, it enables anyone to look for and fix security flaws. And since it’s peer-reviewed, it opens the software up to a large base of inspectors who can quickly detect issues.

6. The app is extremely effortless to set up and use.

How to use Slagora:

1. Open Slack. 




2. Sign into your workspace. If you don't have one go to step 3.


3.  Create your workspace. Enter your e-mail.

4. Name your project.

5. Tell them what your team is working on.

6. Add some teammates. (You can skip this if you want to :)


7. You will now be in the workspace that you have made.

8. Create a channel. Click on the + sign next to Channels.

9. You have now made a channel on Slack.

10. Go onto Slagora's Website.

11. Press the Sing in with Slack button.

12. Add Slagora from your workspace.

13.  Select a channel.

14. Slagora should now be installed to you channel.

15. Type in "/slagora create".

16.  Fill out the election information form.

17.  Complete the election setup. (You only have 5 minutes to do this)

 18. Cast your vote.

19. Well done, you have now created an election using Slagora on Slack. 

Another election as an example to decide your plans for the weekend. Participants accessed it on their phone and here are some screenshots of what it looked like-

      



20. Results of the voting too can be optionally displayed, as below.