If you don’t know what is Google Code-in, you probably want to read my first post about it.
The beginning of Google Code-In 2017
Firstly, if you don’t know what’s Google Code-In — it’s an online contest for 13–17 year old pre-university students…
Today is 16th of January, 2018. On my Code-in dashboard there is a line saying that there’ s one day left from the competition’s end. Tomorrow is a deadline for submitting students’ work. The day after tomorrow is a deadline for mentors to review it. On the 24th organizations must have had chosen finalists and Grand Prize Winners of Google Code-in 2017. And finally, on 31st of January, winners will be announced officialy.
You’d think that this is the end, don’t you?
My answer is no. Actually, I was really hard working for the last fifty days. It was a headache for my school marks, for my biological clock, sometimes for me itself. Going to sleep at 4AM and waking up at 6.40AM to school so that after school I can sleep again for 2 to 5 hours was on my daily basis. Yes, I didn’t have to sweat myself so much in that time. But I wanted to. Worth noting is the fact that this was my third Code-in edition I took part of. Previous ones were on 2014 and 2015. I wanted to give my maximum on that contest.
Okay, but that was about the contest itself. I want to say more. Wikimedia. What is Wikimedia? I’d say it’s a very, very friendly organization with people doing things with love. I met many volunteers on its IRC channels who were putting their free time in development and CRs for Wikimedia completely for free. I somehow know how do they feel with that and why they do that. Wikimedia’s “products”, that is MediaWiki and Wikipedia app for example are something that hardly noone wouldn’t recognize (at least in my environment). Imagine how much people use those services daily, maybe event hourly! Millions of users? I’d guess something like that. And now imagine that your work, something that you would usually be doing anyway is dedicated for that software, for that services. That your work served for those people. Those hundreds of thousands people. And it served them well. It helped them resolve a problem. It helped them get to knowledge they needed. You imagine that feeling? Because I know and feel that. In 2013 I did 4 tasks. If I recall correctly, only one had any influence that could be anyhow spotted. That task was about changing one cog icon in some tooltip to similar, SVG one. You wouldn’t imagine how proud I was of that one, little change. I was like
Look! Do you see that cog?! I made it!
back then. And now, with that many fixed issues, that many new features, that many improvements I brought to this organization… write ending of that sentence yourself.
I’d really like, I really hope and I’ll try, to take an active part of contributing to this awesome organization. I’ll be honest, I won’t have that much time. For that fifty days I was putting almost 100% of me into work on it. But I’ll try to fix some issue, give some feedback or be a part of a bigger change sometimes.
And that was my experience of contributing to Wikimedia on past time. If it somehow motivated you for taking part in any open source, go ahead! Contact with owners, maintainers, other contributors, ask how can you help, look at that OSS issue board, be it GitHub, Trello, Phabricator or whatever, claim it or comment that you’d like to work on that and get to it! Actively communicate with other people related to this software.
Woah, this text above came deeply from my heart, heart of young developer who found himself a way of expressing his programming skill in something that can help people.
But getting to other point of that article I want to summary my work as in Google Code-in contest itself.
I completed 43 tasks in forty nine days. Vast majority of them was from Code category. There were also some Documentation and User interface tasks too.
Here’s the complete list of all tasks I’ve done:
- Kiwix mobile app on Android: Warn users when opening external content —https://github.com/kiwix/kiwix-android/pull/294
- Get onto Internet Relay Chat (IRC)
- Kiwix mobile app on Android: Improve night mode back to the top button — https://github.com/kiwix/kiwix-android/pull/295
- Kiwix mobile app on Android: Disallow multiple side bar menu activation — https://github.com/kiwix/kiwix-android/pull/296
- Wikipedia Android app: Long press on find in page up / down arrows should advance to first / last match — https://gerrit.wikimedia.org/r/#/c/394365/
- [[MediaWiki:Botpasswords-deleted-body/en]] misses GENDER support — https://gerrit.wikimedia.org/r/#/c/394761/
- OAuth messages that point to error descriptions in mediawiki.org need to be simplified — https://gerrit.wikimedia.org/r/#/c/394860/
Also, I did a followup commit to this change in the later time to add lacking error messages.
- Add margin between buttons on Special:Undelete — https://gerrit.wikimedia.org/r/#/c/395037/
- wfWaitForSlaves is deprecated, replace usages #3 — https://phabricator.wikimedia.org/T181673#3811093
- Popups extension should not use deprecated method jQuery.fn.hover() — https://gerrit.wikimedia.org/r/#/c/395651/
- Make five strings in the MassAction extension translatable — https://gerrit.wikimedia.org/r/#/c/395817/
- Re-enable some codesniffer sniffs disabled in MediaWiki’s MobileFrontend extension — https://gerrit.wikimedia.org/r/#/c/396296/
- Remove references to deleted $this->debug in installer — https://gerrit.wikimedia.org/r/#/c/396547
- Fix insufficient difference between background colors for un/read notifications in the Echo flyout — https://gerrit.wikimedia.org/r/#/c/396554/
- Remove numbers from Table of Contents layout in print mode, as they display incorrectly — https://gerrit.wikimedia.org/r/#/c/396932/
- Write a help page that explains how use Wikimedia visual editor to create complex links — https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide/Links
- Fix autoloading of database dumps related maintenance scripts in MediaWiki core — https://gerrit.wikimedia.org/r/#/c/398074/
- Add options for filtering deleted pages to Wikimedia’s “Pages Created” tool — https://github.com/x-tools/xtools/pull/143
- 7x Add MinusX support to one MediaWiki skin and one MediaWiki extension
- Add logging of warnings that are returned after attempted uploads in the addwiki/mediawiki-api library — https://github.com/addwiki/mediawiki-api-base/pull/41
- Make securitycheckplugin detect double escaping (advanced task) — https://gerrit.wikimedia.org/r/#/c/399776/
- [Unit testing] Unit test “addPublisher” in Newsletter’s `includes/NewsletterDb.php` file — https://gerrit.wikimedia.org/r/#/c/400075/
- Fix “jQuery.fn.hover() is deprecated” in Content Translation — https://gerrit.wikimedia.org/r/#/c/400175/
- Add anchors to headings in CXStats — https://gerrit.wikimedia.org/r/#/c/400260/
- [Unit testing] Unit test “updateName” in Newlsetter’s `includes/NewsletterDb.php` file — https://gerrit.wikimedia.org/r/#/c/400420/
- Individual newsletter pages should have a visual hierarchy — https://gerrit.wikimedia.org/r/#/c/400451/
- Create a pop-up for musical scores showing more features — https://gerrit.wikimedia.org/r/400834 + https://gerrit.wikimedia.org/r/401093
- Transcribe three sheet music images into score tags on Wikipedia (I) — https://en.wikipedia.org/wiki/St_Paul%27s_Suite
- Define wgRestrictionEdit (as an empty array) on Education Program pages — https://gerrit.wikimedia.org/r/#/c/401411/
And here’s my comment on GCI website:
It might look that it was easy because it took me 3 hours from claiming the task to submitting patch, but no! For that three hours I was 100% focused on the code and the issue, as you can see on Phabricator (T133289) I was practising a Rubber-ducking and finally found the issue. I think that’s the best solution for the problem. It wasn’t an easy one, but I liked it!
- “Discussion” tab on wiki pages should have indication of non-existent target page (other than only color) — https://gerrit.wikimedia.org/r/#/c/401733/
- Remove the language icon shown on Wikidata.org and MediaWiki.org on mobile web (as it doesn’t do anything)
Small log from IRC:
20:18 <jdlrobson> Albert221: tested myself and looks good!
20:18 <jdlrobson> (checked enwiki as well to check it still shows there)
20:19 <thcipriani> cool, going live everywhere :)
- Replace the layout-only span.mw-editButtons-pipe-separator in favor of CSS — https://gerrit.wikimedia.org/r/#/c/403066/
- Make missing areas of Query.Wikidata.org translatable — https://gerrit.wikimedia.org/r/#/c/402391/
- Add date range options to Wikimedia’s “Page History” tool — https://github.com/x-tools/xtools/pull/149
- Kiwix mobile app on Android: Move the bookmark button to the bottom bar when it is enabled — https://github.com/kiwix/kiwix-android/pull/338
- Kiwix mobile app on Android: Move at least 30 constants to separate package — https://github.com/kiwix/kiwix-android/pull/339
- Blog about your GCI experience (findings and learnings) with Wikimedia — this post
I marked bigger tasks with bold.
I want to thank all people from Wikimedia who were influenced in Google Code-in. They were doing it all for free, in their free time and they deserve really big applause for that!
I also want to thank andre__, Zppix, d3r1ck, mhutti1, Kelson, musikanimal, FlorianSW, Jonas_WMDE, Legoktm, Ebe123, Reedy, bawolff, Volker_E, tonythomas, jdlrobson in no particular order for their help, bigger or smaller either in mentoring me through doing tasks either in my problems, issues and things that had struggled me when writing code. You really rock! You do what you love and you do it very good! What I can do is to learn from you! You all are great and the best in your particular field of interest and I’m really envy of some of those things. I hope I’ll get my skills closer to your levels sometime.
I also want to thank some fellow students, that is divadsn, refeed and Phantom42 for some good jokes and having good time on IRC.
And for the fourth time I also want to thank my parents and my girlfriend for supporting me, cheering me up and not minding my zombie-like lifestyle for the time of the contest.
And lastly I want to thank principal of my school for telling other teachers that I’m taking part in the contest so that they won’t expect so big preparations to school for me.
Some last words to you, my reader. If you want to learn something new, have a beautiful experience in your life or just have some good time in things related to writing code and creating software, November 28th — that is the date you should save in your calendar. You definitely should take part in the Google Code-in contest and perceive all I wrote here all by yourself! Good luck.