From Fedora Project Wiki

< GSOC 2017

Revision as of 12:20, 29 March 2017 by Utkarsh009 (talk | contribs) (Created page with "<table width=35% style="float:right;margin-left:auto"> <tr> <th align=center colspan=2 style="background-color:#ffff00"> Utkarsh Anand </th> </tr> <tr> <td colspan=2> [[FILE:U...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Utkarsh Anand

Utkarsh.jpg

Personal Information

Time Zone:

IST (UTC+5:30)

Gmail ID:

uanand009@gmail.com

LinkedIN:

https://www.linkedin.com/in/utkarsh-anand-02a953115/

Github:

https://www.github.com/utkarsh009/

Badges! (17)

Crypto Panda Origin Involvement Paranoid Panda White Rabbit Crypto Badger Let Me Introduce Myself Curious Penguin (Ask Fedora I) Tadpole In Search of the Bull (Tester I) Associate Editor Junior Badger (Badger I) Junior Editor Nuancier F26 Embryo Tadpole with Legs Egg

About me

  • Do you have any past involvement with the Fedora Project or another open-source project as a contributor? What kind of contributions have you made (code and non-code)? Please share any public contributions you have made (urls, etc.)

  • Here are two of the projects that I have worked on (one of them is related to Fedora Project:
    • I have just finished working on creating a slack bot/app and hosting all of its code on Amazon web services. This includes authorizing the app via OAuth 2.0 and fiddling with the events API and the Web API. For authorizing, I made request (via “add to Slack” button) to pass through Amazon API Gateway in order to map the code query parameter into json format and pass it as the event argument to the AWS Lambda function. Later, the access token is persisted to DynamoDB. The bot converts one currency to another. The file events.py is used to handle the events sent by Slack and invoke actions.py. actions.py later sends a request to fixer.io to get the data and then performs conversion and sends the result back to the channel. I have used python runtime for it, and the code has been uploaded on my github profile under the repository: SlackBot_utkapp. All this is achieved using the AWS Serverless architecture.
    • I also managed to create a script for switching to Intel IGP on laptops with hybrid graphics. Although, the script is pretty simple, there was a lot of work involved. I had to deal with numerous system crashes and reinstall the OS altogether. I managed to recover the system a few times by chrooting into it from a live cd (of some other linux distribution), but the cases related to uninstalling packages using dnf often resulted in broken dependencies. Once the system was recovered, I had to reinstall the packages and then uninstall them properly. For more details, visit my blog



  • What are you studying?

  • I study B.S. Physics at Indian Institute of Technology, Kanpur.

  • What motivates you to do your best? How do you stay focused? Briefly describe how you organize your work.

  • "To excel at what I do" motivates me to do my best. I don't have to do anything to maintain my focus. If there is something that I enjoy doing, it automatically attracts me. As for organising work, "Need" is what governs it and the best part is, "The lesser the time, the greater the speed".

Why Us? - Consider these questions

  • Why do you want to work with the Fedora Project?

  • I started my Linux journey all the way back in october 2009 with ubuntu 9.10. Back then I was looking for an alternative to windows because I was fed up by the fact that I had lost all my data due to virus and malware infection. At that time, I only knew about one linux distribution, “RED HAT ENTERPRISE LINUX”. When I googled about it, I found out that fedora was what I need to download for desktop. Upon googling a bit more, I found out that the most user friendly Linux distribution at that time was Ubuntu. So, I decided to download the ubuntu netbook-remix version for my 11” netbook (which I got as a prize in an olympiad). Of course I encountered many problems, in particular because wifi was not working. I googled and found out that I needed the proprietary bcmwl driver for it. Slowly and slowly I started enjoying fixing things on linux. Finally, I decided to have a dual boot configuration with 2 linux systems and remove windows xp completely from my device. It was then that I started using Fedora alongside Ubuntu. I started my fedora journey from fedora 13 “Goddard”. And then, there was no looking back. Since then, I am using Fedora and ubuntu as my primary OS'es. I tried various other distributions like OpenSuse, PCLinuxOS, Mint etc. but none of them managed to replace these two. Currently, I am running Fedora 25 alongside windows 10. I chose Fedora 25 because my new laptop has 6th generation Intel “Skylake” processor (i5 6300HQ) with nvidia GTX950M (that supports optimus technology), so I wanted to have kernel 4.4.x for skylake to be stable. I want to use GSoC as an opportunity, to contribute to Fedora through code.

  • Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with?

  • Yes,I would like to continue contributing to Fedora Project after GSoC. I'm interested in all the projects related to project-atomic and other operating system related tasks.



Why This Project?

  • Which specific project interests you? If you are proposing your own project, do it here. If you are proposing the project, explain why it benefits the community.

  • I am interested in two projects:
    • dnf-plugin-pip (This was an idea on the ideas page but has been taken off, so I propose it as my own idea)
      The aim of this project is to provide users with a tool (in the form of a dnf plugin) to enable them to install as many python modules/packages as possible, via rpm. This would eliminate the need to install packages via pip, which currently, doesn’t integrate properly with fedora, often leading to unwanted errors. For, example the errors may arise from dependency issues for certain packages. But, since PyPI is such a large repository of python packages, most of the programmers rely heavily on it. Packages in fedora are not always named the same as their name in PyPI, so this plugin would require the user to input the name of the package/module on PyPI and it would automatically search for the corresponding rpm package and install it. This would save a lot of time that users generally waste searching for the right package. So, this project is of prime importance and would make life much simpler for my fellow programmers.
    • 389 Directory Server: developing administrative tools(Since this is not my own idea, an explanation is provided in one of the sections below)


  • Have you contacted the mentor(s) listed for the project?

  • Yes, I've talked to both Miro Hrončok and William Brown. Although, Miro took the proposal off the site, William was happy to review my proposal.

  • What relevant experience do you have for this project?

  • Here are two of the projects that I have worked on (one of them is related to Fedora Project:
    • I have just finished working on creating a slack bot/app and hosting all of its code on Amazon web services. This includes authorizing the app via OAuth 2.0 and fiddling with the events API and the Web API. For authorizing, I made request (via “add to Slack” button) to pass through Amazon API Gateway in order to map the code query parameter into json format and pass it as the event argument to the AWS Lambda function. Later, the access token is persisted to DynamoDB. The bot converts one currency to another. The file events.py is used to handle the events sent by Slack and invoke actions.py. actions.py later sends a request to fixer.io to get the data and then performs conversion and sends the result back to the channel. I have used python runtime for it, and the code has been uploaded on my github profile under the repository: SlackBot_utkapp. All this is achieved using the AWS Serverless architecture.
    • I also managed to create a script for switching to Intel IGP on laptops with hybrid graphics. Although, the script is pretty simple, there was a lot of work involved. I had to deal with numerous system crashes and reinstall the OS altogether. I managed to recover the system a few times by chrooting into it from a live cd (of some other linux distribution), but the cases related to uninstalling packages using dnf often resulted in broken dependencies. Once the system was recovered, I had to reinstall the packages and then uninstall them properly. For more details, visit my blog



  • What do you want to gain from this project?

  • The main reason I'm applying for these projects is that I want to start contributing to Fedora Community through code. This will give me an opportunity to understand the working of fedora community.

  • Describe this project in your own words. What does it mean to you? What do you think the final deliverable is?

  • The legacy perl tools currently in use are designed following the philosophy of “one task per script” which can be piped as and when required. However, this approach can lead to a lot of confusion and is generally difficult to maintain. By extending dsconf we can provide a unified interface to the users and developers alike. As python support objects and provide an easy way to write functions, it makes it much easier to interpret and maintain the code. For the users, running commands is simpler.
    The Final Deliverable: A new version of dsconf wherein the functionality of dsconf will have extended to support enabling/disabling/configuration of modules in Directory Server.



  • Why should we choose you over other applicants?

  • I believe there are many reasons for selecting me over others:
    • I have an experience of almost 8 years working with several linux distributions.
    • I am comfortable tweaking around with system files and stuff like that.
    • I started programming in C++ and C even before I started using Linux. [Initially I started with LOGO (Language Of Graphics Oriented) and BASIC and then moved on to C++]
    • Currently I’m familiar with many programming languages like python, Go, javascript etc. to name a few.
    • I’m familiar with the idea of “schema” (I had to write one for my API Gateway) and Regex pattern matching (I saw these being used in some of the perl scripts), which other candidates might not be familiar with.
    • I am a fast learner and I can grasp things pretty fast. “Speed” is what really distinguishes me from others.
    • I like solving puzzles and I'm very curious.
    • I can code all day long. That’s something I really enjoy and love to do. :)


  • Propose a rough schedule for this project. Ideally you will have regular deliverables throughout the entire period.

  • TBD



  • What are you specific plans from May to September (eg: Exams in university, internships, vacations..etc). We need to know if there are periods of time where you are likely to be unavailable. We are better at accommodating these periods if we know of them in advance.

  • NOTHING OTHER THAN CODING FOR GSoC :)