Outreachy with Wikimedia: 30th May to 6th September, 2017

The internship is coming to an end tomorrow, 6th September 2017. I have mixed feelings. It was a great experience and to know that it is coming to an end make me happy and down at the same time. I wouldn’t be officially an intern at WMF. But the best part of open source is, you can always be a contributor and keep developing, any time of the year.

What was my project?
There is a service named citoid that generates citation data and makes it easy to insert references in the Visual editor. It uses Zotero translators and my work was to document what these translators are, how can we create them and get them deployed.

Find my work
I have created two pages, one is the extension of the other.
Main page with all the information about development
Second page explaining how to create a translator for a blog (and similar sites)

Other microtasks that I did
Before you start documenting, you need to know what is it that you will be working on. My first task was to explore what actually these translators are and what power they hold. Once I got an idea about translators, I really enjoyed developing them. I submitted a few patches to the Zotero upstream during the internship period –
The Economic times
The Open library
The Globe and Mail
BBC Newsbeat
Oxford Reference
TV by the numbers
If you wish to have a translator for any site, let me know in comments, I’ll surely try to write it.

Summary

After preparing a few translators and playing with Scaffold before internship, I started to write documentation from the first day. For the initial draft, the documentation covered the how to write a translator using Scaffold. This included development environment, concepts, working example and code details. First major improvement that was done was to use CSS selectors and remove the concept of Xpaths to define HTML nodes. Around mid-sem I got a new task, to explore how to write a translator at server-side. This was the main motive of the whole project, to find out how we can write code and test it on server, but somewhere around this time, Zotero 5.0 was released. So the documentation was updated to cover any changes that might come in the procedure of development through Scaffold.

To figure out how tests can be carried out on server, was the one task that took the most of the time. I learned about containerization and worked with Docker. A new section came into existence – Developing and testing on server, working example of Mediawiki.

For the last task, I documented how we can write translators for blog-like sites, taking the example  of Wikimedia blog because it the most common use case that people will come across and for someone who wants to skip all the details and quickly learn through an example, it will be a good landing page. This page concentrates only on development on server and not Scaffold.

Outside the internship, I will be refining the documentation further, hopefully with inputs from my mentors and the community at WMF. What’s left to do is to translate all this work in Hindi as I proposed in my application. I will also be looking into other projects at WMF that I can contribute to. It was a great experience. Outreachy Rocks!!!

Looking forward to present my work on 21st September, 2017

Note: Applications for next round of Outreachy are opening soon. Stay informed.

Screenshot from 2017-09-06 04:57:26.png

Advertisements

A letter to a guy I met that day

 

Do you need exact dates, I can give you but I guess it doesn’t matter. We got down from our bus at a place which had flyovers , and did a cab to reach your college. It was nearly 3 AM. I was midst of people with whom I felt really uncomfortable and was trying to calm myself down by saying that it’s fine, it’s part of the experiences that I want to have. We entered through the college gate and I was lost in the college, it was alive even at that time of the night. There were lights and decorations and stuff, things that you see in videos of college fests and I was finally there, coming out of my monotonous life, and out of the shell that wasn’t making me happy anymore. “He’s there”, Garv told the driver, signaling him to slow down the car and pick you up. “Who is he?” I asked Sana. “A friend of Garv”, she told me. “One more person to make you feel a misfit. What is wrong with these people of wonderland? Why do all guys look cleaner and brighter than I would ever be.” That was my first thought about you.

Little did I know, that it was a beginning of two beautiful relationships with two beautiful souls. Urvi and you. We had a great time then, and dear friend, thanks for making all the efforts to make all of your guests feel at home. I don’t really remember what our first talk was like, or when did we start talking but for sure, it was smooth. A group of people who flip like binaries. I was not there to make friends, nope. I was just trying to run from humans and be closer to other aspects of life that I had stopped to understand. The good thing was, I brought a blank state of mind, without expectations, without rules and standards to define joy and you, luckily, filled that blankness with positivity. I will praise you, for being confident about yourself, for your choice to get out of your comfort zone, that too, effortlessly as it seemed, though it might have not been in practice. I will praise you for handling a large group and make people feel together though you were the only one who could have felt the most disconnected for being from some other place, but there were no insecurities and that is commendable.

We have changed a lot, it is almost an year now. Nevertheless, this letter is for the guy I met on that day. I love giving free advice and here is some for that guy who is so eager to make new friends and live the time of his life.

Pages are fluttering desperate to be turned,

Get lost on the road, And sleep on the floor,

Be sure about change, Be ready to break the chains,

Don’t hold your smile and dance a little wild,

There are streets and avenues waiting for your footsteps,

droplets, crystals of sand, shades of green,

Places void and packed and so many things you don’t know yet,

Give chance to life to surprise you, it has waited long to unfold what it holds.

Letters shouldn’t start with a hey and end with a bye

Outreachy with Wikimedia: 21st to 30th August’17

This week I concentrated on finishing all the sections and submit the work for review. The translation-server finally worked, after much help from the developers from Zotero community. I documented on how to build the server through a docker image and test changes on the server. The metadata and test cases are to be added manually unlike on Scaffold, these portions of the documentation hence had more of code snippet and less of explanation.
I am writing another working example of translator for Wikimedia blog. I will show how to use embedded metadata in this case and develop it through translation server.
Within this week I need to prepare a speech and a presentation for my project display that will be happening soon. This is exciting.

Outreachy with Wikimedia: 7th to 20th July, 2017

Week 9/15 + 10/15

I fixed the TV by numbers translator and submitted a PR for it. Following it, I updated the BBC translator for handling old pages. With Zotero 5.0 release, I had to change the document accordingly as the Firefox add-on is no longer supported. I learned what CSS selectors are and will shortly begin to write a translator using them to get clarity on the topic. There are two methods, attr() and text() that have been recently written and will be included into future Zotero versions. So I am trying to figure out where to add them in the docs. Learned about querySelector and querySelectorAll and I am no front-end developer but it seemed such a powerful use of CSS selectors.

The work is fun the new changes in Zotero made me google and learn new stuff. For past two days, I have been going and reading the discussion at https://github.com/zotero/translators/issues/1277 to make sense out of it.I will have to catch up some speed to finish this draft by the end of next week so it can then be reviewed again.

Outreachy with Wikimedia: 30th to 6th July, 2017

Week 8/15

With the mid term approaching, my mentor suggested that the first draft of the doc should be developed such that it can be used to write a translator and then  we can note down things that need improvement. I finished the work on coding a translator and the template. This brings section 5 in  a concrete shape. I look forward to finish the draft this week.

Other than that I am working on a translator TV by the numbers which needs rewriting.

Outreachy with Wikimedia: 16th to 22nd June, 2017

Week 6/15

For the 6th Week, I finished with the 5th section of the documentation covering the common code blocks in a Zotero translator. I have planned to move the code snippets from this section to the next section which will be covering the working example of mediawiki translator because I will have to explain the code and adding it here will be redundant. I made use of Embedded Metadata.js in the Oxford Reference translator. Waiting for response from the developers.

We had our first meeting on 20th June on #wikimedia-devrel and it was fun to learn from where everyone came from and what they are working on. Most of it was new for me as I didn’t have a chance to take a look on those projects in the past while filing the application. I wish I take some time out and see each one of them since the interns explained their projects very well. So it’ll be easy for me to know what they were talking about 😀 . I also got to know about Wikimania that is taking place in August in Canada. Would have loved to attend it but I will be having my placement session.

Srishti gave me feedback on the work done till now and it is very valuable. I think every fortnight I should (patiently because it takes effort to read something that you wrote again and again) go through the doc and write down the stuff that needs any change.

Outreachy with Wikimedia: 9th to 15th June, 2017

Week 5/15.

This week I completed documenting section 4, which covered concepts : DOM, XPath, HTML and JavaScript. One of my mentors suggested that we need to include how a user can generate DOM and include Embedded Metadata.js and then write other fields on top of it. While updating translator for Oxford Reference, Philipp suggessted me the same. So I will be learning how to use existing translators when creating new ones. With this I am looking forward to finish common code blocks documentation by scraping wikimedia parallely and presenting it as example in this section. In later section, I will document about how to bring all these pieces together and build a complete translator in Scaffold.

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.

Emptiness

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.”