First Hacktoberfest Pull Request - Release 0.1

 Introduction

    The idea of working on and contributing to an open source was something that caused me a lot of anxiety, seeing how large and in depth most of the repos I was looking at made me feel like I would be of little help or have very little to offer. As this stress kept building I defaulted to procrastinating and avoiding having to find a repo to contribute to. Finally, I decided that I would just need to jump in and begin to build my confidence if I wanted any hope of becoming a better programmer or succeeding in this class. I thought for my first pull request it would be easier to work in a language I was already working on for my release 0.1 and ended up finding a repo that was centered around curating python scripts. So I thought I would try contributing my own script to this repo. 

My Issue/Addition
    
    I was playing an online game one night ( league of legends) and I had got into a game and noticed that my latency was very erratic and needless to say that ruined my experience in the game as it was hard to play with the lag. I had been thinking about what kind of script to make for my pull request and that experience made me think it would be useful if a script existed where you can quickly check your average ping to a gaming server before you got into a game. So I created this issue in the repo and hoped it would be accepted. 

Creating the Script/Making a Pull Request

    I started out by researching the best way to check for latency from a desktop and found out that there was a command line command that would accomplish just that. Then I did some research on how to call a command line command within a python script and found that for my specific usage the subprocess package would be the best course of action. From there I needed to figure out a way to organize the games I wanted to include and store them in a way that would make them easily accessible within in the script and also allow for games to be added easily. I ended up deciding that storing the game and server information in a separate json file that the script would read would be the best course of action. Finally, I put it all together in a CLI which I was able to do by repurposing some of the code I had written for release 0.1. I created a pull request from the branch I created to work on this addition and awaited approval and review. 

Review Process

    The review process on this repo introduced me to a new automated process I had never used before. It was called linting and the repo recommended a package called flake8 to do this. Flake8 ran analysis on my code and flagged any potential errors or stylistic errors and that allowed me to fix any mistakes I had made. This was something that was great because now I have a tool that can use to allows make sure my code is cleanly styled as well as help to stay mindful of it will I am coding. After I passed all the lint check, an admin of the repo successfully merged my pull request. 

Final Thoughts

This experience definitely helped me to see that making pull requests and contributing to open source projects isnt as scary as I thought but I definitely now would like to move on to contributing to a more major project and engage in a review process that involved more scrutiny and feedback so I can continue to grow as a coder and contributor.  


Comments

Popular posts from this blog

Planning for Release 0.4

Adding Features and Pull Request

Using and Setting up a Testing Framework