Google Code-In 2014


Google Code-In 2014 started a few weeks ago. It is basically a competition open to all students in high school or lower, to contribute in open-source projects. There are twelve OSS institutions who got picked my Google this year, most of them were in last year’s GCI too:

  • Apertium
  • BRL-CAD
  • Copyleft Games
  • Drupal
  • FOSSASIA
  • Haiku
  • KDE
  • Mifos Initiative
  • OpenMRS
  • Sahana Foundation
  • Sugar Labs
  • Wikimedia Foundation

I myself started doing Google Code-In last year as a 9th grader. To be honest, when I started GCI last year, I only knew two of the organizations. Yes, two: KDE and Wikimedia. They all seem to be fairly good-sized though, and have a large support network for newcomers.

The competition itself is organized into individual “tasks,” and the number of tasks completed determines the prizes you can get (see next section).

Competition Details

Table time.

# of tasks completed Prize Name
0 Nothing Student
1 A certificate (~$2***) Participant
3 A T-shirt (~$14 ***) Ditto
x* A sweatshirt (~$35 ***) Finalist
y** A trip to Mountain View, CA Grand Prize Winner

*: a moderately large natural number, always greater than 3. Always equal to the number of tasks completed by the fifth most productive student of a project.

**: a very large natural number, almost always greater than x. Always equal to the number of tasks completed by the second most productive student of a project.

***: estimated by Google.

Last Year

Last year, I participated in the event as well, getting a certificate and a T-shirt:

GCI 2013 T-shirt

Guess the number of tasks I did: 3. Just enough to get the shirt and brag about it (I didn’t actually brag about it to be honest).

How the heck can you do only 3 tasks????? You are Timothy!

Because I:

  1. was sick,
  2. had to do homework for the finals (I was in a different high school then), and
  3. had a trip.

This Year

Beginning

This year, I;

  1. don’t have a trip,
  2. have finals during GCI, which is a good thing as I don’t study for finals unless someone forces me to, and there is no such person during the finals, and
  3. am not sick.

So I registered very early, asked my mom to sign the permission slip, and got ready to actually do something this year. Last year, you have to wait until you are verified in order to do any task, but this year, Google improved their technique and says:

* Note: Your forms will be reviewed and verified after you complete your first task. Please do not wait to claim a task until your forms are verified, Program Administrators will not review a student’s forms until the student has completed their first task.

Thing is, I didn’t see this passage. So for about 2 weeks I was waiting for Google to verify my high school credentials. Finally a righteous soul on irc://irc.freenode.net/#gsoc told me that they changed the policies.

Major oops.

Tasks

As my first task, I just picked a random one regarding packaging, and it turned out to be from Haiku, a free operating system reimplementing the BeOS, a pretty, simple and fast OS (compared to Windows 2000/ME, that is). Because of my background in Debian packaging (I used to ran an Ubuntu PPA – until I stopped maintaining it) and my involvement in MXE, the task was pretty simple for me.

I spent an entire afternoon trying to set up the operating system correctly in VirtualBox. So here’s what I did, in a Timothy-style list:

  1. Download latest release of Haiku
  2. Set up a new VM
  3. Boot
  4. Do steps on the package managers’ website to set up a packaging toolchain
  5. mkdir a missing dir
  6. Adding the PATH to my .bashrc
  7. Found out the packager doesn’t work on the alpha release
  8. Download latest nightly build of Haiku
  9. Same as #2
  10. Same as #3
  11. Same as #4
  12. Kernel debugger appears, random error messages appear
  13. Found out they were complaining about my disk being full
  14. Try to adjust the VB disk size
  15. Same as #3
  16. Find Haiku doesn’t recognize the additional space (they weren’t formatted)
  17. Repeat 14-16 for about 3 times
  18. Give up
  19. Found out an article WRITTEN SPECIFICALLY FOR THIS
  20. Hit myself in the head
  21. Do the steps in the article: a. Same as #8 –> #2 b. Add additional disk c. Format & mount additional disk d. Do stuff with cp
  22. Ready-to-use OS (after ~6 hours)

Then I started actually doing the task.

After I finished this first one I saw there are some so-called beginner tasks that are designed to help beginners (me) set up their VMs.

<ol start=107>

  • Same as #20
  • </ol>

    Looking Forward

    Judging plainly from the Unofficial GCI Leaderboard, it is not likely that I would be able to be one of the top two – the grand prize winners. But I will try to keep myself in the first five of the Haiku project though. A sweatshirt is always better than a T-shirt, 对不? ;)