Posted in Competitions, Programming, ramblings

Wrapping Up Google Code-In 2019

At last, exams are over! Now I have at least a week before my school starts sending out our overall results (and see how “well” we did for this semester). Hopefully I won’t be retaking any subjects.

Anyhow…I finally received all the promised packages of alternative prizes from Google (about time). On my previous post last 4 months ago, after my supposed trip to Google got cancelled because of the virus, Google then arranged to give the winners alternative prizes instead, which include cash and swags. And so, after months of waiting, all the long-awaited packages are finally here at my doorstep, fresh from America.

The “Alternative” for the Trip

Ever since the winners received the cancellation email, Google informed us that they will be sending out alternative prizes instead. I guess this temporarily pacified our broken hearts, as we wait in anticipation what those prizes could be. When I did receive the details of the alternative prize, I must say that I had a so-so feeling about it. It’s not bad, but it doesn’t really replace the lost trip (I mean, what would?). It did, however, gave me another thing to look forward to, plus, in an attempt to cheer myself up, I made myself think that not all 17-year olds receive this kind of stuffs, especially in a time like this.

And so, from April till August, are the packages delivery months. This was my “please-don’t-get-my-package-lost-it’s-all-I-have-now” kind of phase.

Coronavirus played another part in delivering the packages (obviously). It’s the reason why it took months to deliver the items, and why I’m referring to “packages” (plural), and not “package” (singular). The packages (three in all), are delivered separately as there was some problems with delivery here and there. Also, we were supposed to be given a new phone as one of the alternative prizes, but since there is a very high possibility that it will not be delivered as planned, they decided to exchange it with the phone’s money value instead. Oh well, I guess what can go wrong, will go wrong.

Way to go, Coronavirus.

Finally, after months of waiting 😀

Although I like all the swags delivered, my favourites are the thermos, fleece and trophy. My old water bottle is getting its paint chipped off, and it’s about time I have my own thermos. Meanwhile, the fleece is so comfy for wear! I would wear it at home if it weren’t this hot. I guess I’ll just use it for school during long hours of lecture in a freezing classroom.

Lastly, the trophy! It’s my first time having a trophy instead of the usual certificate or rusting medals. The first time the trophy was displayed, I often stare back at it, just to observe it (and probably reminisce the past days on how I earned it).

Google Code-In Trophy!

Googler Speaker Sessions: Another Alternative Prize

Aside from the alternative prizes, we were also given a two-day virtual seminar from Googlers. The topics for the talk include open source, internship, augmented reality, Android, and more. Although I have to stay awake from 11pm to 3am because of time zones, the talks had been interesting, with internship, augmented reality and TensorFlow being my favourite.

Google Code-In Winners’ Virtual Seminar Opening
Google Code-In 2019 Statistics. This was the highest number of participants compared to previous years

On the actual trip, we were supposed to have a “day at Google” as part of our agenda, where we get to listen to Googler’s work experience and what other opportunities we can get. I guess this is the only part of the trip that they can recreate.

The talk had been fun, as aside from it being aligned with my interests, me and my fellow Grand Prize Winners finally had a face and voice reveal and we were also chatting in Telegram during the talk. On the last day of the talk, there was a section for volunteered winners to make a speech. It had been a rather sad part of the talk, as it felt like we were “parting ways” (and I guess it reminded us again that we should’ve been speaking in an air-conditioned, Google hall or something).

During Augmented Reality Talk
Android + Open Source Talk

This wraps up the whole Google Code-In business. It had been fun and sad at the same time, but I don’t regret being a part of it. After all, the contest had officially ended on January 2020 (which means, this is the last Google Code-In contest), and I am blessed to be announced as a winner even if it didn’t go as I imagined it.

Besides, there are other ways to go to Google 😉

Posted in Competitions, Programming

Helpful Advice to Google Code-In Future Participants

Google Code-in was in it’s 10th year in 2019 and had been epic in every regard, no doubt about that. It was unlike any other GCI competition I had before for the reasons that, first, I finally won as a Grand Prize Winner! Yay! . . . Second, it was the first GCI where Google had cancelled the US Trip for winners. Yay again! ( You can read about this here from my previous post )

Despite of that, I still want to encourage teenagers ages 13-17 to participate in Google Code-in. It could be a fun and wonderful experience where you will not just be introduce to the world of Open Source but you will also get to talk to fellow developers and most importantly will be able to contribute to something that could help people.

It took me 3 years to finally become one of the Google Code-in Grand Prize Winners. Although the winning moment was not what I had in mind, I did enjoy my GCI experience and learned a lot of new things.

So, for future GCI participants, here are some helpful advice that I can give which helped me in winning the GCI 2019:

  1. Do your advance research about GCI. Know what GCI’s purpose is, and what is it all about. Moreover, research on its guidelines and contest rules, to make sure you are playing fair. You don’t want to get kicked out in the middle of the competition. By researching, you will get to know what you will be dealing with, as well as gain additional tips from previous winners
  2. Focus on one organization. Each participating organization chooses the students that greatly contributed to them. Jumping from one organization to another lessens the chance of winning. It is also a plus to choose the organization you want to contribute to before the competition starts, as you get to have some time to familiarize yourself with how your chosen organization operates, as well as with their guidelines for contributors, programming languages used, etc.
  3. Balance “Difficult” Tasks & “Easy” Tasks. Google stated in the contest rules that quality > quantity. It’s true, but you also need to get enough completed tasks to be able to proceed to the top 20 participants with the most tasks completed, as the organization will review the works from those who have made it to the leaderboard in choosing the winners, finalists and runner-ups. A good balance between doing easy and difficult tasks is helpful, as easy tasks add more count on your tasks list while difficult tasks are mostly quality contributions to the organizations.
  4. Show that you are genuinely interested to learn. The whole point of this contest is for teenagers to learn more about contributing to Open Source technologies. It is good to ask mentors relevant questions when you need help, or to clarify things that you don’t understand. Keep in mind, however, that mentors are human beings that have lives outside GCI, so don’t bug them when they don’t answer instantly.
  5. Be active in the community. Organizations have their own IRC or chat group. I encourage you to join in it, as this is the place where you can ask questions and talk to fellow participants and mentors. Being active in the community could also be the way to help other students when they get stuck or by answering their questions.
  6. Bonus: Do Beyond What is Required of You. A week before the competition ended, where most participants were cramming to get additional tasks and finishing them, I decided to stop taking anymore tasks after I reached my own task count quota, and just solve open and unfinished issues on my chosen organization for honest and real contibuting.  Doing this shows that you are interested, and really want to help in the open source even beyond the competition.

I hope you find the above tips useful. Google Code-In is a great competition and a good way to get acquainted to fellow developers and students. Good luck to all future GCI participants!

Posted in Competitions, Programming, ramblings

How Coronavirus Stole My Trip to Google HQ

On my previous post, I shared my Google Code-in experience, and the thrill of finally being chosen as one of the Grand Prize Winners for GCI 2019. Each Grand Prize Winner are granted an all-expense four-day trip to Google Headquarters in San Francisco, California USA.

Well, that was before coronavirus became a thing.

Worst than Losing

My father is always listening to news about the virus, and how it is rapidly spreading. He always told me that he’s got a feeling that my trip might be cancelled, as some major events are already getting called off (Google I/O, Facebook F8, Apple WWDC, etc.). Meanwhile, my mom and I always look at the positive side and often dismissed that thought. Postponed might be more possible, but cancelled, meh.

And that’s where I was wrong.

Almost a month after I was declared as a Grand Prize Winner, I received an email from Google saying that they have cancelled the GCI trip. You read it right, cancelled. Not even postponed. They said that they will just provide alternative prizes. It didn’t sink at me first, and went through my day as normal as possible ( even though I couldn’t focus on some of the things I was doing ) but at night time, I cried a lot. I have expected something so much, and for it to vanish, is truly upsetting. As for the alternative prizes, what could be much better than the trip?! Nothing can replace the experiences and new acquaintances that I was supposed to have. Another down fact is that Grand Prize Winners can no longer participate to win. So, I no longer have a chance for GCI 2020.

For the next 5 days, I tried to act normal during the day, trying hard not to think about my loss. I hated it when night comes, as that’s when my mind becomes idle and welcomes negative thoughts. I started regretting reading through previous winner’s blogs, as it only reminds me of the experiences I won’t have. I was so, so disappointed.

Not that I didn’t do anything else to try to get my trip back. I got in touch with my fellow GCI 2019 winners through Telegram, and we all decided to write a letter to Google, asking them to postpone the trip to whatever month or year they want, just not cancel it. Well that didn’t work either. I understand that Google is taking precautionary steps to prevent the spread of the disease, and that it’s not their fault, but that doesn’t stop me (and my fellow Grand Prize Winners) from being upset again.

Grand Prize Winners in a nutshell. Image Source: Memedroid

So much for being a Grand Prize Winner.

Acceptance and Lessons Learned

After almost a week of self-pitying for my misfortune, I came to realize that there’s no more point hoping that I will get back my trip. It’s gone. . . and whining won’t help me. Once I accepted this truth, then the moving on process takes place. I became more comfortable joking about the GCI trip, plotting ways to go to Google Headquarters for the next GCI year (though impossible). I focused on my family and upcoming exams (which wasn’t cancelled until the next week). Although I still feel sad, I know that there is nothing else I can do.

Winning the Grand Prize for Google Code-in to go to Google HQ was what I always dreamed of, ever since I heard of this competition. However (and probably because of a great reason), it was not what I had imagined. Although I didn’t get to step on Californian land, everything might turn out worse if I went there and contracted the virus. I might survive, but the contagious nature of the virus is just too much to risk.

The cancellation of my trip also made me realize that I’ve focused too much on my own plans. I didn’t take the virus and what’s happening around me seriously, as I thought it won’t affect me. I focused more on myself, and my trip. Now that it’s gone, my mind is now open to reality. A lot of people are suffering, whether because they lost their jobs, contracted the virus, or are dying. To continue thinking about what I lost is almost like an insult to those people who lost a lot of things because of this virus. In fact, I haven’t lost everything. I still have alternative prizes, and although it will never replace the trip, it’s better than nothing.

One more thing I learned from this experience is that, no matter how much you dream, hope, prayed and work hard for something you really, really wanted, in the end, it’s always God who has the final say in everything. I have prayed, each night to Him and specifically asked Him to grant me this opportunity. He did answer my prayer, just in a way that I never imagined. I may not know the reason why this has to happen, but I trust that He’s got better plans for me, and that the best is yet to come.

See you in another time, perhaps? Image source: Swim Creative

Posted in Competitions, Programming, ramblings

My Google Code-In 2019 Experience and The Joys of Becoming a Grand Prize Winner

Google Code-in ( GCI ) is an annual programming competition that introduces teenagers ages 13-17yrs old to the field of Open Source through coding, research, quality assurance, or design tasks for an organization of their choice. By the end of the competition, each open source organization will choose two students as Grand Prize Winners, who will be granted an all-expense four-day trip to Google Headquarters in San Francisco, California USA.

The 10th Year Anniversary of GCI was a blast! Image source: Google Open Source Blog

My Brief History with GCI

This was my 3rd year joining this competition and is probably one of the most memorable. I first joined GCI back in 2017, and have chosen Catrobat as the organization which I will contribute to. Wanting to win the contest on the first shot was I think a bad idea for me as it became stressful and no longer enjoyable. I then changed my mind set, that although I still want to win this competition, I want to learn something new and enjoy what I’m doing. This time, I chose Sugar Labs as my organization for GCI 2018.

Images Source: Sugar Labs

There are two reasons why I chose to work with Sugar Labs. First, I liked its mission to provide educational opportunities to children through the Sugar Platform. Second, it uses Python (along with JavaScript, HTML & CSS) as it’s language for developing its apps and games ( known as Activities ). Although I’m more familiar in Python Language, my old computer couldn’t handle the environment required for Python contributions so I ended up programming in JavaScript, which I have zero experience during that time. Obviously, I didn’t win, as I only finished 9 tasks. However, I did manage to be at the Top 20 students with the most tasks completed, and that’s something for me.

To prepare myself for the next GCI, I dedicated my summer holidays to contribute to one of Sugar Labs’ product, Sugarizer, which uses JavaScript. I then became more familiar with the programming language used and more comfortable with the environment I’m working with.

Google Code-in 2019: To join, or Not to Join?

GCI 2019 started on December 3, 2019 and lasted until January 26, 2020. Weeks before the start date, I was having second thoughts whether I should sign up again or not, as the competition would clash with school review and exam schedules, and I have a goal of making it on the Dean’s List. But something tells me that I will regret it if I wouldn’t join the GCI 2019, and this thought went on for a couple of days before I finally signed up on the day the competition started. I chose Sugar Labs again as my organization, specifically working with two of its products, Sugarizer ( web implementation of Sugar ) and MusicBlocks ( visual programming language focusing on music composition ). The first few weeks wasn’t so bad as I expected, as I had a study break where I used to do more tasks and finished about 2 tasks per day during this time. It only went tougher during and after the exam week, where I only get to finish 2-4 tasks per week.

The difference with GCI 2019 and the previous years was that I’ve enjoyed it more. Some of my favourite tasks are:

1. Editing Synthesizer Length for Music Blocks

String and wind instruments should be able to sustain longer note length. Before implementing my fix, Music Blocks’ synthesizers could not fully sustain a whole note, thus creating a rather abrupt end to its sound. Although it was specified in the task description to find new synthesizers, I found it much harder, as I have to consider the license of the audio I’ll be using. Instead, I used the same synthesizer from Music Blocks, and edited it’s soundfont for it to loop a little longer.

2. Adding Automatic Re-initialization Functionality in Open Widgets

Music Blocks students expect that when they change their code, the open widget updates base on their code. However, the student must manually re-initialize the widget for it to show the changes made. I’ve implemented an automatic re-initialization of the widgets for a more user-friendly experience.

The open widget updates when code blocks are changed

3. Fixing Bugs and Regressions

Fixing bugs are one of my favorite things to do. It helps me to be more analytical and creative, as bugs are fixed in different kinds of ways. One fix I did was the regression on the search autocomplete functionality on Music Blocks, while there’s another one from Sugarizer, where the fix requires putting a whole chunk of code above another line for it to be run first.

My complete tasks list can be found here.

The competition went on for about 8 weeks. I finished 31 tasks, surpassing my previous year’s task counts. I felt proud of myself for this new achievement.

Yay! New Achievement Unlocked

The Waiting Begins

I read somewhere from previous winner’s blog that Google privately emails the chosen Winners and Finalists before the actual public announcement on the Open Source Blog, which was on February 11. I felt very nervous. My heart jumps whenever I check my email notifications. There are lots of students who did great job in my organization, but I still hope to be chosen as a Grand Prize Winner, or as a Finalist at least. By the time January was coming to an end, I decided to stop thinking about it, and let tomorrow takes its course.

Then, on the afternoon of February 2nd, I was sitting in our dining area, designing a website for a study group. I just came from a youth gathering event, and my phone buzzed with messages from the other youth group members. I decided to take a break from my website and read through my messages, when I received an email notification. The first thing I saw was the word “Winner” in the email. It didn’t register on my mind, so I read the email’s Subject again, this time fully reading the words “Congratulations! You are a Google Code-in 2019 Grand Prize Winner!”. And because it’s not every day we get to receive an email like this from Mr. Google, I have to read the subject three times before the great news sank into me.

I quickly ran to my parent’s bedroom, told them the news, and broke down into tears. I felt so happy at that moment that my happiness turned into tears of joys. All throughout the contest, I remember visualizing every night, that I’ll win this time, visit Google, and meeting my Mentors and fellow GCI 2019 winners. This dream is becoming more real than ever!

There are lots of things to do before the trip. Lots of documents to fill up and submit for the US visa. After scheduling my visa appointment, all I have to do is wait. I’m going to use this time to look through previous winners’ blog posts and read their amazing experience in Google HQ, San Francisco. I can’t wait for my turn to take pictures on those Android statues!

Image source: Android Police

P.S. : By the way, I also did manage to be on the Dean’s List 😀. I feel so blessed.