Outreachy with Wikimedia: 2nd-8th June, 2017

Welcome back 😀

Week 4/15. Things are going well. I completed documenting the sections that were planned for the first two weeks of the internship period (Introduction and installtion of required softwares) and I am currently writing about concepts like DOM, HTML, JavaScript. I keep updating my mentors about the sections I write and till now they have approved the content. I just created a PR for Oxford Reference translator. I need some inputs from Zotero community on it and I hope it gets merged by the coming week after all the updation that they’ll suggest (because they always have ideas to get things done in a better way).

Our dear chatroom went through some heath issues (technical problems) this week and couldn’t play a part in the communications we made. My mentor suggessted the steps that I could take to bring it back to life. The developers of WMF took a great care of it by making it a “High” priority. A mail this morning greeted me with the good news from my mentor informing me that the chatroom was fit and fine now. Its good to have the non-living member back on the team 😀 😀

Note: Find my work here.

Summers 2017: You must never forget the reasons behind your actions that brought you where you are.


Outreachy with Wikimedia: 18th May-1st June, 2017

Yes, I agree, 18th May to 1st June, a huge time span. Well, I couldn’t make the last blog post so this will be summing up my work from then till today.
I have decided to write a translator for mediawiki.org and present that as the working example for the documentation. I went through the existing translator Wikipedia.js in order to understand how wiki sites need to be translated and what all data is included in the citation for these articles. Though MediaWiki pages won’t be similarly extracted, it provided a fair idea to me because I was confused about where to begin with translating these huge pages. For translation of search results, I went through Wikisource.js. Things are clearer now. Also, I looked into the user guide of VisualEditor (a quick read, as it is pretty easy to use anyway).The official internship period started on 30th May, 2017. Now I can say, I am an intern at Wikimedia, Woohoo!
For the first week, as planned, I have started working on the two sections of the documentation, brief about Citoid, Zotero and their relationship. I went through all the possible content available on Citoid and wrote a gist about it. Of course with a wiki page dedicated to it, it doesn’t make sense to elaborate it. I came across a research done on Citoid’s support and the TWL/Citoid page. Some issues reported there are resolved, some aren’t. It also made clear how important it is to widen the coverage of Zotero translators.
With at least 7 hours given to the project every day, I am looking forward to creating more translators alongside. I have been a little inactive since the last translator got merged. I have a few sites in line. Let’s see how this week ends.
Deadline: 5th June 2017

Summers 2017: This is what it looks like on heated afternoons.

WhatsApp Image 2017-06-01 at 7.41.05 PM(1)


I am skimming through Paulo Coelho: Confessions of a Pilgrim by Juan Arias and I found this:

By Lao-tse

We put thirty spokes together and call it a wheel,

But it is on the space where there is nothing that the

usefulness of the wheel depends.

We turn the clay to make a vessel,

But it is on the space where there is nothing that the

usefulness of the vessel depends.

We pierce doors and windows to make a house,

And it is on these spaces where there is nothing that the

usefulness of the house depends.

Therefore just as we take advantage of what is, we should

recognize the usefulness of what is not.

I recently watched a Ted talk https://www.youtube.com/watch?v=w7rewjFNiys&t=853s

Is this an omen?

Pleasure and Happiness

“Pleasure is a ‘good fight’ that is something very different to happiness. I don’t relate happiness to pleasure. The idea I have of happiness is very boring: a Sunday afternoon when nothing happens.The struggle and combat, enthusiasm for fighting a battle for something you believe in, sometimes you win and sometimes you lose, but it doesn’t matter, what counts is the struggle to bring something about. That for me is the pleasure of life. So let us say pleasure is everything you do with enthusiasm in life, which can include suffering and pain, but that doesn’t annul the deep pleasure of knowing you’re struggling for something you love.”

Outreachy with Wikimedia: 4th-17th May, 2017

This is my first blog after getting selected as an intern for Wikimedia. Well, this is my first written account of any type after this little achievement. I haven’t yet made a diary entry for it, nor emailed my college mentor thanking him for every possible support. So I think this blog entry might go haywire, but I’ll try my best to keep it formal and on track.

What’s Outreachy?
Outreachy, previously called OPW-Outreach Program for Women is a three-month paid internship program for cisgender and transgender women, people of other gender identities that are minorities in open source (including transgender men and genderqueer people). The best part about this program is that it asks you to be 18 years or more of age, nothing else. Just nothing more than that. So you can either come from business or arts, be a single mother or an undergraduate, be in your teens or be a forty plus diva, you are welcomed to apply.

It was my second attempt in Outreachy. I applied in round 13 with Zulip. Though I didn’t make it that time but the experience was very fruitful. It taught me how to study huge projects’ code in a way that you find sections that matter to you in order to solve some specific bug. I learned how to communicate with mentors and peers. Research, try to answer our own questions and if you still feel stuck, ask for help.
I was looking at the participating organization list of round 14 and thought why not Wikimedia? Our college hosted WikiToLearn conference’2017 in January and I think somewhere it played a role why I decided to go through the project list of Wikimedia.
I’ll be documenting the process of creating a Zotero translator. I believe during the documentation, I’ll come across many aspects of Citoid and these translators that I haven’t discovered yet. The existing documentation is pretty old and there are some topics that I want to include in my version.

Work done till 17th May’17

  1. Joined Zulip server for the participants
  2. Introduced myself on the mailing list wikitech-l@lists
  3. Created a Phabricator task for submitting the weekly reports
  4. Redesigned my blog, which keeps happening
  5. Updated my Mediawiki user page, this will also happen often in near future

Setting Citoid for testing

I wanted to set up Citoid because I want to solve issues but it is difficult to find a solution if you don’t know the problem clearly. So I decided to setup Citoid. Documentation is at https://www.mediawiki.org/wiki/Citoid

  1. In production, node v6 is being used. So install that.
  2. Follow section 3.1, that is, install from scratch.
  3. When the server is up, enter the url you want to test.
  4. To stop the server use ctrl+c and NOT ctrl+z.
  5. In case you suspend the server with ctrl+z, use killall -9 node

All for now. Let’s hope I am able to improve some code.

Important Resources

I am collecting all the important resources here that will come handy during Outreachy project (fingers-crossed)

How to write test cases and where to find the file needed to be pushed on the upstream when any changes are made – As Sebastian Karcher explained,”As for Scaffold, the header is written automatically. You should just save the translator from Scaffold and then open it from its location on the hard disk, i.e. in the translators folder in the Zotero data directory.

The translator tests are created automatically when you click on “New Web” in the “Testing” pane in translator while looking at a relevant page. You’ll then want to click “Save” again in Testing once you have all tests and make sure to save your translator (using the “save” icon at the top of Scaffold).”

Points to keep in mind while preparing a documentation that is effective – Sumana taught me this in one of the English learning sessions, ”

Whenever we’re writing something, to inform or persuade someone, if we’re trying to figure out whether something works or why it doesn’t work, it’s helpful to consider:
1. Audience
2. Medium
3. Message

For each section that I’ll write about the Zotero translators, I can take help of

“Claim, link, evidence.”

Claim – What I want to explain?

Link – What is the need and importance of this particular section in the context of the whole documentation?

Evidence – Any resources for the same (links of translators that make use of this section.)

HWZT – Zotero guide, outdated but still has much to teach – http://niche-canada.org/member-projects/zotero-guide/chapter1.html

Common code block for translators -The whole Wiki of zuphilip is interesting, really useful. https://github.com/zuphilip/translators/wiki/Common-code-blocks-for-translators

Place where I’ll create the documentation – Existing page, I’ll edit this one. https://www.mediawiki.org/wiki/Citoid/Creating_Zotero_translators

Place to look for tasks, Zotero & External board https://phabricator.wikimedia.org/tag/citoid/

Research write-up for translators in other languages https://phabricator.wikimedia.org/T160273

Extension: Translate for Hindi page of documentation https://www.mediawiki.org/wiki/Help:Extension:Translate

English Wikipedia talk pagehttps://discord.gg/Ut2S4b5

About commit messages – https://www.mediawiki.org/wiki/Gerrit/Commit_message_guidelines#Body

List of fields in all type : https://aurimasv.github.io/z2csl/typeMap.xml


The line- battles playing in the background, on loop.

Step 0: Fixture is used to provide data- fixture is a collection of data that Django knows how to import into a database.message condition that webhook supports–>text function for it–>fixture for each test

A Fixture is used to provide data- fixture is a collection of data that Django knows how to import into a database.message condition that webhook supports–>text function for it–>fixture for each test

message condition that webhook supports–>text function for it–>fixture for each test

Step 1:

Creating a directory with a python initializing file

Decorators:  You write @login_required before a view, and it magically becomes accessible only to authenticated users. So basically decorator is a function that will decorate the original function we send to it.

What is mypy exactly doing?

Step 2:

The has_request_variable is in zerver/lib/request.py and the api_key_only_webhook_view is in the file zerver/decorator.py

Exploring how to send a message to a real server (like Zulip’s developer server)  through command line, an API zulip-send is there. Currently, I ran into errors trying to make it work and being a Sunday, didn’t get any replies from the mentors.

Day 2:

Step 4: Create test

Okay so almost went through it quickly and skipped the documentation part.

Wanted to get of gist of integrations and I think I got that, things will be clear after implementing this on my own.




Actions speak louder than words

Even if I could write a million words in your love, and not be strong enough to stay with you, the world might see me as a true lover through the words but you dear, don’t fall for me.

Actions speak louder than words. It will always be what I do for you, to what extent I can go to keep you in my life that must make you believe in my love and not my words. Human feelings are never more important than a human life. Never let me feed on your soulful life to suffice the hunger of my forlorn feelings. I am not right for you. It doesn’t have to be give and take, why not, just share. If any one us is giving one’s pieces to fix the other, we aren’t right together. Stay close to someone who brings her/his pieces and together with yours, build one figure.


You, my baby, become a plant that knows how to grow, in sunshine and in rains. Don’t become a climber. The moment you feel like you aren’t enough for yourself, go wander and don’t return till you find self-love because only then you will be worth it all.

“Love never keeps a man from pursuing his destiny.”-Paulo Coelho



You let go of me, so I will let go. Let go of the feelings. I realized I wasn’t holding onto you. I was only and always holding onto the belief that souls are forever. This only thought had kept us together for all this time. I was holding onto the faith that the end has to be happy despite all the problems that may come, till it is not happy, it isn’t the end.
Looks like I couldn’t stay strong. Everything finally broke me down and all the words that were thrown at me telling me I am foolish, took a toll and made me believe that I have always been too naïve to think that fairy tales exist in real life. Maybe they do, but not for all.
I don’t play those leads. Those stories aren’t written for me. We create fiction, things we fail to achieve. We picture the perfect image that we fail to preserve.
Like a pendulum, my mind swung
to and fro…
But I pray that God has written one of these fairytales for you dear. I wish you get the perfect girl you are looking for. With skin white as milk and sleek black silky hair falling down her shoulders kissing her back, not curls I possessed and a height matching yours, unlike the wisp I was. 32-28-32, the perfect thing you dreamt of that won’t once let your mind wander back to the slinky frame of mine, with a heart of gold and all the morals that a family could ask for in a daughter-in-law. I wish she be brainy and stay with you through thick and thin, always believing in the positivity of it all. A keeper and the perfect blend of new and old. That too she be confident of herself that I couldn’t ever be. A smile that is enough to tell that everything will be all right and the whole beautiful universe with its glittering stars be visible in her deep eyes. Her love be stronger than hatred.
I wish you get it all and then someday you be able to answer, what is love. And never underestimate the power of it. I hope you believe in the existence of magic.

For me, I want, just someone as broken as me who believes in imperfections, or maybe not. I think I want nothing more, or maybe not.

My Bucket list

  • To go to Parisindex – This will remain on top of this, I think like forever. I need to be under the Eiffel Tower at night.
  • One Disneyland – This is a childhood wish. Need to visit one Disneyland for sure, and now, it has changed to visit a Disneyland with my brother once in this lifetime for sure.
  • Own a Sherri Hill dress- This is new, got crazy about it somewhere in 2016 but a wish is a wish and should be fulfilled.
  •  Sherri_Hill_2015_Sadie_Robertson_.jpg


  • To own a piano – Thanks to my all music teachers and my school Director for bringing me close to music. I have promised myself, out of everything, this is something that I have to gift myself. Although it was originally to perform on a stage, but now I will be happy just to own this magic.
  • maxresdefault


  • To go to a rainforest – Some crazy childhood dreams. Though if I get to go there any day, I wouldn’t think twice before saying a yes. Same goes for some historical expedition.
  • maxresdefault.jpg
  • Visit Mawsynram – Rain my love, when I read about this place in some geography book, I knew I will have to go there.
  • Many more to come :D, suggest if you have something in mind