Posts

Showing posts from 2018

Open Source Contribution - Release 0.4 Part 3

Image
Linting Errors in Pandas Building onto the previous blog where I explored style and linting errors in the pySearch project and the tools used to find these errors, last week I was dealing with similar issues in Pandas. On top of the Flake8 and PEP8 Speaks that the Pandas project uses, they also integrated their own script file that checks for their custom made errors. Since I already explored Flake8 and PEP8 Speaks in-depth, I decided to focus on custom errors within Pandas and to find ways to solve the errors which are difficult to find the origin for. GL07 Error The error that I focused on fixing last week was: GL07 - Sections are in the wrong order. As I stated before, Pandas is a massive project and in order to help developers remember the purpose and use of all the functions, as well as for new contributors to understand the functionalities of the functions within the project, Pandas does a very great job of documenting their code through docstrings within each fu...

Open Source Contribution - Release 0.4 Part 2

Image
Integrating Style Guide Enforcement PEP8 Speaks is one of the many tools to help enforce style in a GitHub project. It is easily integratabtle with any public GitHub project by following the installation instructions from the following link: https://github.com/integration/pep8-speaks Once it is integrated, it can be configured to check for style and linting errors in the changes of Pull Requests. A pep8speaks bot will respond in a comment of the PR if there were any issues.  Similarly to PEP8 Speaks, Flake8 is a good tool to use when checking for style and linting errors locally. In order to install Flake8, you will need to type in the following command: "python -m pip install flake8". After installation you can run the "flake8" command to either check the whole project or specific files. To check your whole project, go into the root folder of your project and type the following command: "flake8 .". To check specific files: "flake8 ex...

Open Source Contribution - Release 0.4 Part 1

Image
Further Contributions to Pandas and pySearch Throughout Release 0.4 I will continue to focus on contributing to Pandas and further expand the pySearch project. This release will be very similar to 0.3, however I will tackle different issues within these projects. One of the new things that I've never worked with and will be exploring, is CI (Continuous Integration). Contributing to Pandas Last week I started exploring linting errors within Pandas in further detail. When exploring these errors, I realized that Panda's contributors were causing some of these errors through attempts to better format their documentation, so it is easier to read. For example, one of the errors that came up dealt with "unnecessary indentation", although Panda's program that checks for these types of errors in docstrings identified the indentation as an error, the contributors put this indentation on purpose so the information is easier to read. Therefore, not all linting erro...

Open Source Contribution - Release 0.3 Summary

Image
Contributing to pySearch and Pandas The project pySearch is written in Python and is essentially a cross platform command-line utility tool to search through and display results from popular search engines like Amazon, Google, StackOverflow, and etc. The idea is to input "search commands" in command line and get results from the previously listed websites. Pandas is a famous open-source library for Python that provides high-performance and easy-to-use data structures and data analysis tools. It is often used in the machine learning field. Pandas project has over 1,300 contributors and 18,000 commits, which makes it one of the biggest open-source projects related to the machine learning field. The Idea Behind Release 0.3 Throughout Release 0.1, I got involved with contributing unit testing on a project that is written in Node.js. This was rather an easy way to get involved with open-source because my professor was a moderator for this project, so I was able ...

Open Source Contribution - Release 0.3 Part 2

Image
Working on pySearch The project pySearch is written in Python and is essentially a cross platform command-line utility tool to search through and display results from Amazon, Google, StackOverflow, and etc. The idea is to search type in search commands in command line and get results from the previously listed websites. Selected Issues The first issue that I selected to work on for this project tackled the problem in the project that would allow for non-existent links and domains to be opened. In order to solve this problem, I needed to call a ping function to the websites before opening them. For example, if a user decided to search for "racoon" on "google.yo", the program would open "http://www.google.yo/search?q=racoon", which does not exist. In order to enhance the program, it should first look through popular domains to see if the selected query works with other domains. For example, "http://www.google.ca/search?q=raco...

Open Source Contribution - Release 0.3 Part 1

Image
Working on Open-Source with Classmates For this release of open-source contributions I will be working with a few of my classmates from Seneca college to develop our own open-source project on Github. One of the classmates, Alex Kong , already started working on a project called pySearch. He shared this project with our class and a few students, including me, decided to expand and contribute to this project. Link to the project: https://github.com/jrkong/pySearch This project is written in Python and is essentially a cross platform command-line utility tool to search through and display results from Amazon, Google, StackOverflow, and etc. The idea is to search type in search commands in command line and get results from the previously listed websites. Why did I choose this project? When me and my classmates were coming up with ideas for projects, I came up with an idea for an improved "diff" tool. This tool would compare two texts and display more advan...

Open Source Contribution - Release 0.2 Summary

Image
My Contributions During Hacktoberfest 2018 I got involved with open-source development this September in order to gain valuable experience working with projects that are relevant to me as a software developer and explore the open-source community as a whole. I was fortunate because a month after I started, I learned about Hacktoberfest, which targets new contributors like me and helps them get involved with projects on Github.  Throughout the month of October, my goal was to finish five pull requests that targeted different aspects of open-source. I've achieved my goal with a total of six pull requests (although I consider the 4th and 5th pull request as one because they essentially do the same thing on different directories). In addition to completing these pull requests, I made sure to write blogs about my progress. Summary of Contributions AlgoWiki AlgoWiki is a medium sized project, which focuses on collecting resources surrounding the field of artifici...

Open Source Contribution - Release 0.2.5

Image
Contributing to Pandas (Part 2) Pandas is a famous open-source library for Python that provides high-performance and easy-to-use data structures and data analysis tools. It is often used in the machine learning field. Pandas project has over 1,300 contributors and 18,000 commits, which makes it one of the biggest open-source projects related to the machine learning field. Hacktoberfest 2018 This year I am participating in Hacktoberfest. Throughout the month of October, I will need to make 5 pull requests with contributions to one or more projects on Github. This is my fifth contribution to Hacktoberfest and I came across the Pandas project on Github in my previous contribution.  Throughout this Hacktoberfest I'm trying to find different ways to contribute to the open-source community. I've already explored non-code contributions and how they can be useful. I also explored contributing to a start up project. Now, in order to gain experience with working on a large ...

Open Source Contribution - Release 0.2.4

Image
Contributing to Pandas Pandas is a famous open-source library for Python that provides high-performance and easy-to-use data structures and data analysis tools. It is often used in the machine learning field. Pandas project has over 1,300 contributors and 18,000 commits, which makes it one of the biggest open-source projects related to the machine learning field. Hacktoberfest 2018 This year I am participating in Hacktoberfest. Throughout the month of October, I will need to make 5 pull requests with contributions to one or more projects on Github. This is my fourth contribution to Hacktoberfest and I came across the Pandas project on Github for this contribution.  Throughout this Hacktoberfest I'm trying to find different ways to contribute to the open-source community. I've already explored non-code contributions and how they can be useful. I also explored contributing to start up project. Now, in order to gain experience with working on a large open-source proj...

Open Source Contribution - Release 0.2.3

Image
Contributing to C_plus_plus_Algos (Part 2) C_plus_plus_Algos is a recently created project on Github (targeting Hacktoberfest) that attempts to accumulate code examples for different algorithms and problems in C++. So far the project has done a great job of accumulating different types of sorts in C++ (linear, merge, radix, bubble... sorts).  However, after contributing the Knapsack problem and its solution in C++ to this project in my previous contribution, I noticed that the structure of the project is very scattered and lacks organization. This is when I thought that it will be beneficial for the project to refactor the repository and create an organized directory structure, have a uniform naming convention for files, and provide instructions for new contributors. Hacktoberfest 2018 This year I am participating in Hacktoberfest. Throughout the month of October, I will need to make 5 pull requests with contributions to one or more projects on Github. This is my third...

Open Source Contribution - Release 0.2.2

Image
Contributing to C_plus_plus_Algos C_plus_plus_Algos is a recently created project on Github (targeting Hacktoberfest) that attempts to accumulate code examples for different algorithms and problems in C++. So far the project has done a great job of accumulating different types of sorts in C++ (linear, merge, radix, bubble... sorts). However, since this is a new project, it is lacking many other algorithms and famous problems in C++. In order to help a new project develop further, I decided to contribute a well known Knapsack problem and a way to solve this problem in C++.  Hacktoberfest 2018 This year I am participating in Hacktoberfest. Throughout the month of October, I will need to make 5 pull requests with contributions to one or more projects on Github. This is my second contribution to Hacktoberfest and I came across C_plus_plus_Algos project on Github for this contribution. I thought that it would be a good experience for me to get involved in one of the earlies...