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




Like a phoenix

Like a phoenix, I will reborn from my ashes. My end must not come till my soul is at peace. I must not lower my standards rather grow and rise to reach them.

Nor shall this peace sleep with her; but as when
The bird of wonder dies, the maiden phoenix,
Her ashes new create another heir
As great in admiration as herself;
So shall she leave her blessedness to one,
When heaven shall call her from this cloud of darkness,
Who from the sacred ashes of her honor
Shall star-like rise as great in fame as she was,
And so stand fix’d.


Count your blessings

So much to learn,

“One of the skills of a strong engineer is thinking through who needs to be informed of a change or a new feature, and what medium or media to use for that, and how to phrase it so you concisely and effectively communicate what the other people need to know.”

Go through –









Steve: In high school I was taught to think about “who, what, why, where, when, and how.” When you do a git commit, git kind of automatically supplies the “who” and “when”, so you don’t need to worry about that too much. So then you’re down to explaining what, where, why, and how. The “what” is the most important, and that’s usually the first line of the commit. The “why” and “how” can sometimes be really important as well, and for more significant commits, you want to explain your thought process in the following paragraphs. And then the “where” would be basically what subsystem you’re touching, and this is often a prefix in your first commit line, or sometimes it’s implicit enough that you can omit it.

Sumana Harihareswara: As for Agile: for me, the heart of Agile is the recognition that it’s rare to know, at the beginning of a project, EXACTLY what the end product should achieve. Like http://agilemanifesto.org/ says, valuing “Responding to change over following a plan”

Sumana Harihareswara: Agile in a classroom setting, or in a hiring or outsourcing setting, has a fundamental conflict built into it, because Agile tries to have way more formative assessments and nearly no summative assessments, and “what grade should this person get” and “should we hire these people” and “what project should the outsourced team work on and how will we know if they’ve done a good job” assessments are super summative.

Formative assessment or evaluation is diagnostic, and you should use it iteratively to make better decisions to help people learn and improve their work with better instruction & processes.

Summative assessment is checking outcomes at the conclusion of an exercise or a course, often for accountability, and judging the worth/value of that educational intervention. In a workplace, this often means that this data is used to persuade bosses & community that someone should or should not be hired, or that we’re doing a good job or that someone else is doing a bad job.

Sumana Harihareswara: Perhaps you can see how this difficulty also raises its head when we ask interns to write Outreachy proposals! We are trying to collaboratively set expectations that can be used for summative assessment during selection, at the mid-internship evaluation, and for the final evaluation at the end of the three months. But we also really want to be open to making lots of formative assessments and changing our plans along the way. It’s contradictory. But as part of the way we evaluate applicants (along with conversation and contributions), I think it’s still worthwhile.

Ways of communication in Zulip