From Fedora Project Wiki

Contact Information

  • Your name: Sachin S Kamath
  • FAS Account: skamath
  • Fedora userpage: User:Skamath
  • Email Address: sskamath96 AT gmail DOT com
  • Blog: Sachin Writes
  • Freenode IRC Nick: skamath

Why do you want to work with the Fedora Project?

I chose Fedora becuase I have been using Fedora as my primary distribution for a while and know it's awesome. I always wanted to contribute to anything that makes my life simpler, easier and efficient, and here I am. Furthermore, I'm a FOSS fan, and have known Fedora to be a large and diverse organization, doing extensive projects ranging from artwork to robotics.

I look forward to being involved with an organization which has an exciting culture and community. I aim to stick around and become a long term contributor across diverse areas, and Fedora gives me this exact opportunity.

Do you have any past involvement with the Fedora project or any other open source project as a contributor?

As I mentioned, I try to promote FOSS as much as I can (both actively, and passively). Talking about Fedora, I have conducted numerous sessions as part of my college FOSS club known as the tech{know-logy} Club. I also helped Sarup Banskota, co-author of GlitterGallery to organize Fedora Contribution Camp in my region and presented a talk on Power of Linux. I was also responsible for managing Fedora swag that Sarup had acquired for the event.I have also contributed to GlitterGallery, details of which can be found here


Outside the scope of Fedora, I have made significant contributions to the OWASP OWTF tool and have made it a point to push all my work into Github. My profile can be found here


Did you participate with the past GSoC programs, if so which years, which organizations?

This is my first attempt at GSoC.

Will you continue contributing/ supporting the Fedora project after the GSoC 2016 program, if yes, which team(s), are you interested with?

I have been using Fedora for around 2 years and I love it. Once I get involved with the community, I'll be looking to expand my reach in the community in whatever way possible. Hopefully, through this summer project, I will interact with people working in varied areas, and make useful contacts who'll help me and introduce me to interesting projects by Fedora. As an attempt to stay updated, I follow Fedora's various mailing lists regularly. Apart from commops, I am also looking forward to fedora-security and fedora-ambassadors

And of course, I will maintain anything I develop, and contribute more wherever I can.

Why am I the best fit for this project idea?

I spent my first year in University volunteering at FOSS events organized by my seniors. Now in my second year, I have become a fan, and now a dedicated user of FOSS products for all purposes. This summer, I want to give back. While building on skills I already have, I want to learn more from people from the vibrant Fedora community. I consider GSoC to be a prestigious learning opportunity, where I can make lifetime connections, and after which I can identify myself as part of a team whose products I constantly use. I can give 40 hours a week to the project until mid-July, and 30 hours thereafter. I might have to take a few very short breaks in between, but I have tried my best to reflect them in the timeline.

Some other relevant points:

  • I am familiar with primary Open Source techniques – issue tracking, mailing lists, and revision control.
    • I am an active user of Stack Overflow and try to help people in whatever ways I can. I also use Git for all my personal projects.
  • I have good sysadmin skills and have experience configuring and deploying servers.
    • I configured my VPS from scratch and have configured Apache + Nginx to work together using vHost and Reverse Proxy.
  • I have experience in Object Oriented Programming and Web Technologies. I have worked with C, C++ and Python and basic Ruby on Rails. I have built decent websites, and possess decent design skills. I have also written a few automation scripts to simplify my work.
  • I love to write, and I blog quite often. I believe this will also help me develop interesting and well laid-out documentation for the project.
  • I take this program to be a nice starting point for a long-term connection with the Fedora community.

Project Proposal

An overview

As mentioned in the ideas page, the internship could involve any/all from the following :


  • Web testing and bug reporting / triaging
  • Content development and syndication
  • Writing for the web and print
  • Collaboration with Fedora Council and Leadership on Project Objectives and Initiatives
  • Volunteer Coordination and Organizing
  • Campaign development and implementation
  • Advocacy and Messaging

I am ready to take up any of these challenges as I believe I have some experience in all of them.

Relevant experience

  • I am a CS student in University and have worked on Object Oriented projects (in C++/Python).
  • On the web, have built websites using HTML/CSS and JQuery.
  • Have worked with responsive frameworks. That should help me with the UI.
  • Have used Git for many of my personal projects, and I still continue to learn it. Considering a major part of the project revolves around building a front end for Git, I think that should be helpful. Pagure is very similar to git and I am comfortable using it.
  • I'm a cyber security enthusiast and have reported bugs in various sites including GitHub and ClearTrip and am familiar with all the web based bug-triaging tools like OWTF, Burp, etc.
  • Most of the project is hosted on GitHub. I use and understand it.
  • I have just started using Inkscape out of curiosity, but I do have quite a *lot* of experience with Gimp.
  • I have been a Linux user for almost 2 years now, and have used Fedora since the F19 cycle.
  • I have been accepted into the commops group and am working on a ticket to assert my interest in the community.
  • I have written a few tech articles for the college magazine and for the local newspapers, including Times of India

Final Deliverables

  • Since the goals are not very well defined in Commops, I will fulfill all tasks assigned to me with at-most dedication and will stick to the deadlines set during meetings. I have attended around 4 CommOps meetings and am aware of the procedure now. I will also make it a point to blog my weekly progress and inform the mentors of the same.

Timeline

Bondind Period

  • Figure out how fedmsg works.
  • Figure out how datagrepper works.
  • Familiarize with all the tools in Toolbox.
  • Work locally with fedmsg python packages.
  • Work with decause and set additional goals.
    • Work with bee2502 and figure out the metrics part of CommOps.

Community Bonding Resources : Etherpad Link

Bonding Period Goals

  • Fedora Infra Bootstrapping
  • Bootstrapping Badges Series
  • Get into Badges-admin group?
    • Current Progress : Have to get in touch with the design team
  • Automated GSoC Weekly Reports
    • Current Progress : Figuring out JSON-Human Readable convertion.
  • Query Datagrepper based on a list of FAS names
    • Current Progress : Figure out the problem with fedmsg meta
  • Generate Raw List of Fedmsgs
    • Current progress : JSON Output is ready.
  • Generate Graph of Fedmsgs, by category
    • Current Progress : Learn the imaging libraries
  • Generate Graph of all FAS users in Summer Coding Program (RHT Interns, GSoC, and Outreachy.)


1st Quarter

1st Quarter:

   *  Onboarding Series - Badge Identification  
   *  Automated GSoC Weekly Reports 
        gsoc-stats -> https://pagure.io/gsoc-stats
   *  Badges .yaml definitions 
       Pushed for later.
   *  Automate Events Report Analysis 
   *  Bee's Script (to be uploaded) as a start 
   *  Parse a csv, give rudimentary stats about users/fedmsgs: 
           Using stats-tool : https://docs.google.com/spreadsheets/d/11vOxzGmZKagfHYlkW4dXY4EovRcUXVxOJ5OsEId0DBE/edit#gid=0 ( PyCon 2016 stats )
   * Automate Events Report Visualization
       Not possible at the moment.
   * Pygals - http://www.pygal.org/en/latest/
   * Example: http://thisweekinfedora.org/

2nd Quarter

   * Add features to stats-tool
       https://sachinwrites.xyz/tag/gsoc
   * Report generation
       https://github.com/sachinkamath/fedstats-data/
   * Ends at MidTerm Evals June 20-27  
        Passed \o/


3rd Quarter

   * Scale GSoC metrics script for teams and events.
       https://sachinwrites.xyz/tag/gsoc
       https://pagure.io/gsoc-stats/branch/develop
   * Improving the efficiency of the script.
       Done. Local JSON caching and organized output pulls.
   * Scraping an entire group
        Using the python-fedora API, it was made possible. Selenium and bs4 didn't work due to CSRF issues.
       

4th Quarter

   * Onboarding
         Ongoing Process.
         https://fedorahosted.org/fedora-badges/ticket/464
         https://fedorahosted.org/fedora-badges/ticket/466
         https://fedorahosted.org/fedora-badges/ticket/434
         https://fedorahosted.org/fedora-badges/ticket/441
         https://fedorahosted.org/fedora-badges/ticket/442
    * Flock Statistics
         Generated statistics for beee2502's talk. 
         https://docs.google.com/presentation/d/1ANub0RZtqnLaBDzpiQRUkZdnf7n75Pn9H16gb0wZg68/
     * Code Scrubbing
          Pycodestyle fixes, remove renundant code


Full GSoC Log : https://etherpad.gnome.org/p/commops-gsoc-skamath


Other information

Potential Risks and Mitigation Strategy

Weather/Internet Connectivity

  • For most of the coding period, I will be stationed in Kerala, India. Summers are extremely hot, and it might begin to rain towards July. But the weather is generally not extreme such that it disrupts internet connectivity. In the event of Internet failures due to my service provider, I have already located cafes near my house from where I can choose to work.

Laptop Crash

  • I will work from my Dell Inspiron laptop in the summer. In case something goes wrong, I have a spare computer at home. I will push changes to my Git every 3 days, to avoid accidental data loss.

Miscellaneous Information

  • I have been in touch with the CommOps Team for a month, and have arrived at this proposal after a good number of discussions with the community. That said, this will be a fully community driven project, so anything on this proposal isn't necessarily final. Any extra features that may be required will be added :)
  • My time zone is UTC +5.30. I generally prefer working in the evening and nights (UTC 13:00 to 22:00), when it is comparatively quieter and cooler.

Mentor(s)