Learning from Anup’s MozFest Experience

Standard

(Image Courtesy: wiki.mozilla.org)

My journey in Mozilla has been quite awesome and interesting till now. I’ve come to learn a lot of things, met like-minded people, shared ideas with them, gave talks which helped a lot in improving upon my skills as an organizer, leader, speaker, programmer and what not! and I hope it was beneficial to the community as well. This week I also got my name in Mozilla about:credits, and that’s just because of continuous support from the local community and guidance of Anup, Ajay and Bhuvnesh.

Anup, our community mentor, got a chance to attend MozFest 2015. Last Saturday, he took an online session on vidyo, where he enlightened us about his learning in MozFest. He told us about various session he attended and his participation in the program.

This post is about my thoughts and learning through Anup’s online session about Leaders, Leadership and participation in the community.

Though I’ve been a Tech SIG Lead in my local community (MozPacers), but I think Leaders are not different from other community members. I believe everyone is a leader, and it is the participation of the community members which acts as a pillar to the community. Not a single person could be a leader and not a single person depicts leadership qualities that take a community too far.

In every community, I believe only participation by different members helps in progressing and accomplishing any task. Anup is very right when he says “Participation is the core of any program”. Everyone is a leader in the community and everyone makes decision which certainly affects every other member of the community. It is the power of these decisions collaboratively, which every community member make, that develop the whole community and lead it to the right direction.

Mentors are always there to guide the community members; but the distributed leadership where every member puts up his/her ideas reflects what truly leadership is. It is just about coming-forward and presenting one’s views. When this distributed leadership through participation is collaborated, and everyone devotes something, learn from others; the whole group benefits and move forward together. This is what reflects the true meaning of participation and leadership.

In my local community too, I’ve learned quite a lot from my fellow Mozillians. We’ve collaborated on various stuff, whether it is Peer-to-Peer learning session, developing on projects for the community or just lending a helping hand in almost any task. It is this binding power (Participation) of team members which I’ve witnessed, has helped in growing up the community where people learn and are equally motivated to lead.

So, just to summarize my learning from Anup’s session:

Leadership is not a single trait that a single person possess, it is the collaborative effort of the whole group, where they participate, learn and grow together.

I joined MozPacers when it was really in it’s initial phase. Met Ajay, Anup and Bhuvnesh who told me that a website is to be needed for MozPacers, and that’s how we made the initial wireframe in the first meet itself and my contributions started. If you want to know about my journey, then please read: My Journey to being a Mozillian.

What makes me an effective contributor?

  • Helped in revamping MozPacers, Mozilla Delhi Community.
  • Got vouched and also got my name listed in Mozilla about:credits
  • Spoke at Mozilla Dev Sprints on Git, git-flow etc.
  • Got to Jaipur Stumbling Trip to contribute to Mozilla Stumbler
  • Won Mozilla Stumbler v1.0 Delhi NCR with more than 50,000 reports submitted till that time.
  • Still contributing to Stumbler. Also reported issues on official repo.
  • Selected as Contributor of the Month (July 2015)
  • Presently Technical SIG Lead of mozpacers
  • Represented MozPacers at AngelHack where we developed FirefoxOS app NGO Man to help NGOs in efficiently managing their resources.
  • Contributed to MozPacers website (http://www.mozpacers.org) , slackbot and mass e-mail sender & other few projects.
  • Enlightened people about Contribution pathways and brought my friends in the community to contribute in Mozilla’s mission.
  • As SIG Lead, I mentor new comers in the community and learn myself.
  • Got many of my friends including Nikhil, Vikram, Manraj, Akansh and others in getting started with contributions and being involved with MozPacers, and now they are now core-contributors of the community. Nikhil is now Tech SIG Lead.
  • Believes is FOSS’s “Giving back to the community”.
  • Managing github organization of MozPacers; reviewing code and guidelines.
  • Created online infrastructure and set-up for MozPacers community. Setting up domain, official e-mails, website, bots etc.
  • Managing various communication channels of MozPacers viz Slack, trello etc.
  • Received another vouch from Ajay.

How MozPacers is an effective community?

  • Contributed more than 19 lac (19,00,000) reports in Mozilla Stumbler.
  • Have shown up as the Most Active community in Northern India
  • Have volunteers from Punjab, Himachal Pradesh, Delhi, Haryana, Faridabad and other cities/states in Northern India.
  • Proven Track record of events like Mozilla MozCoffee taking place at least once every month. Along with other events like Dev Sprints, hackathons etc.
  • People are given chance to speak about their contributions and teach other people.
  • Diversity both in terms of geography and gender.
  • Strengthening the WoMoz.
  • On-going projects like Community Manager to help the other communities.
  • Lending a helping hand and collaborating with other communities.
  • A proper process to help newbies in getting-involved and providing 1 on 1 mentoring sessions to them.
  • More people joining in every month.
  • MozCofee have more than 30+ people and in some events we get 50-60+ people as well.
  • We have strength of 30+ Core-Contributors of the community.
  • A proper organization structure involved to help in better tracking of contributors and giving them shoulder tap when needed.

Now Anup would also take another session on his learning in specific programs he attended at MozFest. He would tell about the IceBerg Model and other things which I’m really looking forward to learn about.

Advertisements

FSA Community Engagement Meet-up

Standard

Ah, well, coudn’t write about this, as I had my exams and project submissions. But yeah, here it is. #FSADreamTeam. This would be a quick post.

On November 14 and 15, we had people for FSA Community Engagement here in Delhi.

We had Santosh, Kritika and Tanay here in Delhi. Well, I had my exams and wasn’t sure, if I should go, but then I went for both days.

DAY 0

I reached the venue well before time and inquired Santosh about where we’re meeting. I got to the place. We started our discussion about FSA program.

We discussed about what all is expected through FSA Program and how we can improve it. Also we started doing SWOT (Strength, Weakness, Opportunity, Threats) Analysis of FSA Program. Un-fortunately, due to exams, not enough people joined on Saturday. But as soon as we started tweeting, people from MozPacers community started collaborating online despite of exams.

After discussing on Strength and Weakness Analysis, we had our Lunch, and then we left.

DAY 1

On this day, we had many members joined in for discussion. Ajay, Anup, Bhuvnesh, Tanshul, Kunal, Pushpita also joined. From the previous day, we carried on SWOT Analysis. We had a discussion on FSA Program, opportunities which are expected and also how we can improve on it. Also we had discussion on collaborating with other communities and strengthen the Mozilla’s mission.

I+D8MjF6

After lunch, we presented our idea of Community Manager App, which MozPacers are planning to make in order to efficiently manage all the community statistics. We would first have a pilot run in our local community and then make it configurable for every community. That would help in efficiently managing contributions and recognizing contributions in every local community.

Everyone then said good-bye and we left the venue. I was happy to meet new people and learn from them.

All our discussions are mentioned here: https://public.etherpad-mozilla.org/p/delhi

Mozilla Dev Sprint v3.0

Standard

Writing after a long time. Have been occupied by a lot of things and that’s why the official site of Mozilla Delhi, mozpacers.org, (Yes, we got that domain a while ago) was never being ready for release.

The event section integration and stuff was causing a lot of problem. Nikhil was facing a lot of issues on front-end and there was not good communication online so that we both can together collaborate physically and complete it. That’s why, we requested for a mini Dev Sprint, and here it was.

Mozilla Dev Sprint v3.0 held at Cvent, Gurgaon on 18th Oct 2015. We both reached at 10:30 AM sharp, and met Bhuvnesh. We then got to the conference room which was where we were supposed to code.

So, we started. As expected, touching our own code after few months left us buzzard, and one hour was spent figuring out what needed to be done exactly. After that, Nikhil started to adjust for the overall styling for Events section and I was modifying the API as requested by Nikhil to accommodate for the details of a single event to be displayed.

Till 12:30 PM, I was able to figure out the changes to be made in the API. Then we both were decided about how exactly the page should look like for a single event. We came up with this wireframe and started working.

Wireframe for displaying single events on Mozpacers.org

Wireframe for displaying single events on Mozpacers.org

We decided to fill our database with actual values. So, Bhuvnesh started collecting all the details and making JSON for it. I was reviewing the PR’s already made on the repo and Nikhil was working on the front-end.

Soon, I realized Nikhil’s fork was around 50 commits behind the main repo and now we were ready for merge conflicts.

Around 6:30 PM everything was functional and we were resolving merge conflicts.

We decided to make this functional site an alpha v0.1 release. Though most of the things are breaking, but at least the site is functional. 🙂 We left Cvent at 7:30 PM.

Next day, we had a meeting with core-contributors about general instructions on PR and commits on github repo and if everyone comes forward we hope to complete the beta release by next Sunday.

Mozilla Stumbling in Jaipur

Standard

I got to Jaipur Stumbling trip which was majorly sponsored by Mozilla. Here is a full detail about our journey. Our main motive was to collect at least 10k reports for the upcoming Mozilla Stumbler Project.

DAY 0

Starting of my journey became complex as some last minute changes caused trouble for me to reach Kashmere Gate, from where we had to leave together for Jaipur. After some jiggling I was able to book Uber and left my house at 3:50 AM. Reached Kashmere Gate at 4:18 AM.

Found the Traveller, met people and we left around 4:35 from there. On the way picked up Vikram and then headed towards Gurgaon where Bhuvnesh and others were waiting. Well, and then suddenly our tire got punctured. Well normal people get dis-heartened, but MozPacers just utilized that time clicking selfies. One of them is here:

img-20150720-wa0051

After the tire was changed, we moved on and reached Gurgaon at 6:30 AM, picked up Bhuvnesh and others and moved on our journey. We played some music on the go, decided on some movie to watch, but then every other person could be seen sleeping and no one was watching movie.

After waking up, we continued to play cards and a Game where everyone had to speak only in Hindi, no English words. We stopped at around 9:00 AM in a nearby Dhaba, and grabbed some tea/coffe and snacks. We moved on and reached hotel Mansingh at 12:30 PM. Got one hour to freshen up. Then, we decided not to have lunch and go directly to visit forts since visitors were allowed only till 5 PM and we didn’t have enough time.

We got to Jantar Mantar and got to see many instruments that helped tracking even the celestial objects. Also got to know that Jaipur was the first city that was built with a proper plan. We also got to Nahargarh Fort and enjoyed the awesome view. We also wen to Amer Fort.

At around 6:00 PM all of us were hungry, and stopped by a nearby shop for some snacks. We also got to look Jal Mahal and Hawa Mahal from outside. We got back to hotel and people got to their rooms to rest.

Tanshul and I decided to go for swimming. So, we got ready and went for swimming. Well, I forgot some strokes, seemed like I had some fear of water returned, but soon enough I was able to overcome that. Tried different strokes like freestyle, froggy etc. and practiced some basic stuff. Then we returned to our rooms.

I just got to bed, and then suddenly someone entered the room. It was Nikhil, telling that we have a meeting at the conference room and I’ve to hurry. I got to the place, and we had some discussion on the website project and also about involving new contributors. Since we had many new people with us, we told them what was going on in the community and status of various things we are planning. We then had dinner and decided to carry on the discussion about the website project in the room.

At 11:30 PM, we gathered in a common room, on a single bed and had that discussion. After that, Anoop & Ajay started telling stories of Ghost. Not to forget that this left some people in so much fear that they slept with keeping lights of their room on. 😛

DAY 1

Around 12:30 AM I got bored and left to sleep since it was more than full day I got to sleep. Later, Vikram came and then around 1 AM I got to sleep.

Around 4:30 AM I got up, and took a bath. At around 5:30 AM I was ready, got off the room and roamed in the lobby area for some time. No one was there 😦 At around 7:00 AM I got inside room, Vikram was sleeping so I though to roam outside only, I got outside but this time forgot to take the keys 😛

I returned at around 7:30 AM and then rang the bell, Vikram got up to open the door and then got ready. We got out for breakfast and then decided to meet at 10:00 AM.

We then shooted community videos on Stumbling experience. Clicked some pictures in and around hotel and then left to visit City Palace.

Well, we got a guide (We called him MozGuide) there who helped us explored the place and we got to see various places where different movies like Jodha Akbar was shot.Here is a picture of MozPacers with MozGuide.

MozPacers with MozGuide

MozPacers with MozGuide

 

We left Jaipur at around 2:30 PM. The journey continued and suddenly something happened.

I was on the last seat as usual and looked back and realized that Diesel was leaking. We immediately stopped and got that the grip of tyre weared off. Now this caused us a major problem. We went back and forth to various shops on highway in search of a tyre, and then ultimately at around 6:30 PM we got to some good shop. After that we got to the traveller and continued to Delhi.

We reached Gurgaon at around 11:30 PM. Meanwhile we were playing different games like Truth & Dare. Me and Vikram got off near AIIMS and then returned to our homes. I reached around 1:00 AM

In between the journey we named everything pre-pending it with Moz like MozWater, MozChor, MozGuide, MozJail, MozFort et all. 🙂

Oh, well, did I forget to mention that I just got declared as the winner of Mozilla Stumbler v1.0 Delhi NCR? 🙂

Here is a picture while we were in Jaipur:

19801293059_bffbbb3faf_z

Journey To Being a Mozillian

Standard

Few months back, despite of all odds, I attended an event by Mozilla which was WebMaker event, where I along with my friend Vikram (I literally had to force him to attend, since the event was far away and we were tired on that day),  visited to know more about WebMaker Project and in a hope to start contributing by asking people around. There I met Anup Kumar Mishra and Ajay Kumar, (both being Mozilla Reps) where they were telling about WebMaker project.

At the time, I was struggling to get started to contribute to Mozilla and they told me to drop a mail, and they would help me. I did that immediately, and also got help from them.

I came to know that they’re trying to re-build Mozilla Delhi community and want some active contributors.

I was interested and keep attending their MozCofee meet one after the another. Though didn’t get enough time to document each event earlier due to my exams and then my prior commitments. By the way here is our recent picture 🙂

MozPacers (Mozilla Delhi)

MozPacers (Mozilla Delhi)

But I’ll try to summarize all that in this post itself.

Mozilla Delhi started to categorize contributors in two categories, so as to ease the maintenance of work, as in:

  • Technical Contributors, who are interested in patching bugs and in general contributing some Open Source Code
  • Non-Technical Contributors, who promote Mozilla and it’s various products. They’ll manage all the events, arrangements and other managerial tasks.

    Though these are not hard-followed in the sense, everyone is free to work in both categories, no bounds are there and that is awesome, isn’t it? (Keep reading, if you want to join as contributor.)

    Next, in order to establish and let people know about Mozilla Delhi, we decided to build a website representing Mozilla Delhi. For that, we gathered some more contributors as we needed front-end people, back-end people, UI/UX designers etc. I reached my developers friends and told about awesome opportunity to contribute. Thus I invited Nikhil Handa (as he’s good in UI/UX), Manraj Singh (back-end and some front-end), Akansh Gulati (front-end) and some other people. Meanwhile, I was also being actively being pinged on facebook by people to know more about Mozilla Delhi and start contributions. I was trying my best to guide them further.

    Meanwhile, we were planning things on slack (mozpacers.slack.com) and decided to have Dev Sprint v1.0 to decide upon the Website, finalize the wire-frame, distribute responsibilities, choosing tech stack for the creation of website, et all.

    Dev Sprint v1.0 was planned to be at Zopper (the same company I’m doing internship at). Thanks to Co-Founder Surjendu Kuila for sponsoring Mozilla Delhi’s DevSprint v1.0.

    So, we gathered at Zopper and started discussion on the initial wire-frame and using whiteboard, we tried to gathered more requirements and listen to what everyone has to say. Different points were put forward by the community members regarding design, functionality and other non-functional requirements.

    When majority of people agreed upon the design and details, we made a separate list of those tasks. Those who had some concerns about the design and functionality were explained the approach. After brainstorming and lot of discussions we mutually agreed upon a design.

    We decided to go with SPA (Single Page Application) as per the initial wire-frame, and decided upon technologies to be used for the creation of the website.

    All people were not comfortable with any one technology (as expected), but then everyone was happy to get an opportunity to learn and implement things. With this motive, we finalized the following tech stack:

    Front-End: HTML, CSS, JS, JQuery, BootStrap + (some other front-end framework, if needed.)
    Back-End: REST API using Flask (micro web framework for Python), MongoDB for the database.

    We also finalized using git to be our version control system in this project and made repo on github.
    Earlier, we were using a separate account on github, but then I recently got around the concept of Github Organizations, and I suggested that on our slack channel. People liked it, and we shifted from that account to an Organizational account, where we added contributors. You can visit us on Github (www.Github.com/MozPacers)

    We also decided to use git-flow as it would help us in near future for better maintenance and everyone was suggested to make features and work on them. Community members mutually agreed on the official coding guidelines and structuring of code as per the language they’re coding in. (For example, for Python PEP8 standards).

    People started picking out different front-end sections and implementing them. Most of the front-end is now finished.

    Meanwhile I picked up the back-end and implemented it. Though there is much more to be done as in integrations with the front-end and security constraints, I think we’ve learnt a lot along the way.

    Hopefully in DevSprint v2.0 we’ll finish the website project and make it live.

Are you in Delhi and want to contribute? Then join us at Dev Sprint v2.0. For more details, please follow the official Mozilla Delhi channel on twitter.

Just my inputs on how JMI Internship fair could be better!

Standard

Hey guys,

First of all, thank you for providing everyone “opportunity” for internships.
Next, I realize, that all the volunteers were really hard working. But unfortunately, all the hard-work was actually not upto the mark just because they were actually doing redundant things and increasing their work.

Here are some of the points I will mention here which would help you in conducting and managing events better in future that would be helpful for all of us.

First, your updates on the event page were in small updates, the information were updated bit by bit, which was actually troublesome since last minute updates are too bad to arrange for stuff.

Next, you allotted slots to people, while it was good approach, you made that in chronological order which means, which has a lower registration number (registered earlier) was allotted 3rd slot.

Next, when you collected all the details through Google Forms and had all that data in CSV then why you chose to make a physical form and made everyone fill that, that means registering again. ( I mean going for manual work) when you had everything in a system.

Next, going where the interview were held, there were really hardworking volunteers, but I’m surprised there was actually no one to tell which volunteer was actually managing what start-up interview. So people need to search for the person, which created a mess.

Next, once one volunteer has that form, I and certainly all were actually blocked, since they cannot actually go to other interview, and wait till his first interview is over.

This actually made the task rather really cumbersome and difficult.

On the other hand, start-ups closed the vacancies, just taking the candidates which comes first.

Well, it was really bad, you cannot assume that those who comes first to you are the best ones.

Anyways other candidates have to now change their options which was not good and then you were changing that in your CSVs.

Considering all these points, I hope you can actually improve upon it.

My input:
Once you had the data in CSV, then you should’ve just schedule interviews based on the reference number for particular start-up. All are doing B.Tech and a small python script may be was enough to that, isn’t it?

Of course, interviews could clash but then some adjustment could be done by volunteers and it could be corrected after waiting for some time till when the current interview gets over 😉

Next, start-ups should not be in a hurry, obviously they need the best ones, and they shouldn’t close their vacancies.

I hope you keep on doing the good work and improve in future. Kudos to your efforts 😀 It was really great that JMI organized this 😉 but a little more management and devotion of time by start-ups would have made this an indeed awesome thing.

 

PS: I posted it on my blog as the option for posting it on the event page was removed.

Sieve of Eratosthenes – An efficient way to solve problems about Prime numbers

Standard

Long ago, I think 2-3 years ago, I came to know about Project Euler Problems, I made an account, solved 1 or 2 problems, and then never tried them.

Now, I decided to give them a try again. I was solving Project Euler 10 Problem which states that:

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

Now, I wrote this Python code for the same. I know it’s not optimized. Not at all. Why, you’ll come to know shortly.

http://paste.fedoraproject.org/191242/

I tried to run this first for 10 to get an answer 17, I was happy. So, I changed it to 2 million and ran the code. It ran for some time, but no output, so I decided to keep printing the number on which it is executing at each step. I ran it again. After around 2 hours, I noticed it reached around 0.2 million.

I knew that is terrible and it would not solve this way. So, I researched about the problem and came to know about Sieve of Eratosthenes through this question on StackOverflow:

http://stackoverflow.com/questions/9233408/project-euler-10-why-the-first-python-code-runs-much-faster-than-the-second-on

I jumped over to Wikipedia page and understood what this algorithm was actually all about, and I knew, my algo was taking time because it would evaluate a number to be prime or not for each and every number from 1 to 2 million which is processor intensive and redundant.

What does Sieve of Eratosthenes does?

First it creates a list of numbers on which we want to carry some prime number operation for which we want to know if they are prime or not. It takes a number for example 2, calculate if it’s prime, and then remove all the elements which are multiple of 2.

Then it jumps to next number, say 3, which is prime, and then removes all it’s multiples.

 

While I was trying to do the calculation of whether a number is prime or not for each and every number till 2 million, this algo would calculate the prime number property for very low amount of numbers. Hence, efficient.

I have solved 15 problems on Project Euler till now 🙂