Posts

Showing posts from November, 2020

New Beginnings

     For my 0.4 release I will work on a Python repository called Tweepy. Tweepy is A repository about a Twitter for python. At the beginning of the semester I thought it would be a great challenge to learn a new language that language I chose was python. This release is a chance for me to test my abilities and knowledge about this language.        Reflecting on my previous contributions to open source has helped me become a better python developer.        I chose this project, Tweepy, for two reasons, in my other professional course TEC 70 to our professor taught us the importance of social media. Accentuated the importance of having an online presence. I thought why not kill two birds with one stone. This project will not only create a python but that will create tweets for me but also help me test my python abilities.      I will start by creating a simple Tweepy bot. It seems like a very simple thing to do since it is the most common use of the repository. Next I will see the c

Lab 8

Image
     This week our task was to add tests to our Command Line Interface repository we have been working on this semester. The first thing I did was to read my README.md. This was the first thing I did because it has been a while since I have worked on this repository. Reading this document helps me remember where I left off and remind me off. In addition, I try my best to make small updates to the README file every time I read it. This helps keep the documentation up to date while refreshening my memory on how to use my program.        The framework that I chose to set up for my testing was Unittest. I chose unit test because, while I was researching, I read that developers use unit test since it is easy to read, write, and reliable. The tutorials and steps given on the document were very straightforward and allowed me to start writing my test with little effort. Although, this was my first time writing tests, by reading the documentation I was able to create two tests that checked

Release V0.3 Part 2

Internal Project Contribution In the past and currently, I have worked on several issues within the Telescope community. At first I was worried about understanding other peoples code. However, after looking at a few issues and spending some time on Telescopes repository, I noticed that I could contribute to some of the issues that our community was facing. In total, I worked on three different issues all ranging from different skill levels, the easiest being the documentation update. You can check out the changes that were implemented here . In order to update the documentation, I had to read up on all the different types of logging. I excluded the unnecessary information from Telescopes documentation to accentuate the important details about how to implement the logger. The documentation update got merged fairly quickly, this gave me a sense of relief since I was worried that I would not be able to get a commit in before the due date. Completing the required pull requests for Rel

Release V0.3

External Project Contribution Background Knowledge On October 19th 2020, during my Release v0.2, I worked on a web scraper. Web scraping is extracting data from websites, such as Google. While I was browsing on Github, I found this  issue . I have used web data extraction before when I was harvesting urls for a website. The repository owner for that weeks project, was looking to purchase some weights for at home workouts during quarantine. The repository owner wanted a notification sent to his personal email when the scraper found weights in his price range. You can check out the implementation of SendGrid  here .  This week, I thought it would be cool to try and implement a web scraper myself!  I found this  issue  while browsing on Github called realpython/python-scripts . I always thought these repositories were about getting a commit into a repository for Hackoctober Fest, also known as cheating. It turns out these repositories are actually pretty cool! The owner of the reposit

Lab 7

Creating the Branch Creating a branch has become a task I do often. So often in fact I have made an alias for it. I created a script called .git_alias that I run every time I open my terminal. I did this by creating creating another script in my .profile file. This file is run every time my terminal is opened. My alias is  alias go="git checkout". This allows me to type "go -b branch_name".   This was very concise and very simple to remember. This saves me the trouble of typing git checkout every time I need to go checkout a branch. Create a CONTRIBUTING.md File      Creating a contribution file was a very big step for me. I didn't realize that some people might want to contribute to my projects. I re-wrote my entire CLI program last week and reflected on how many people contributed on my bash scripts CLI. This helped me realize the importance of documenting my code in order for others to contribute with me while maintaining code standards. Although, my contri

Lab 6

Image
Part 1 & 2 The Set Up      For me, setting up Telescope was a tricky task, in order to run the backend server I had to learn how Reddis and Elasticsearch  worked. I have never used Redis or Elasticsearch. However, after some reading I realized the power behind Elasticsearch, a search engine. After that I learned what Reddis was and got an idea of how they communicated with each other. In addition I had to learn how docker works. Docker sets up a container for your computer's environment. I noticed everything I needed was in the documentation. All hurdles could be solved by sitting down and reading the documentation.     The environment-setup.md helped guide me through the journey of setting up my environment. I will admit that it made the setting up process easier, however, the documentation did not explain how the backend was set up thoroughly. The environment was set up but I had no idea how it was all working. It felt like I was trying to figure out a jigsaw puzzle.

Sherlock

Image
     Today, I learned to read documentation while I was working on a repository called Sherlock . Sherlock is a program that helps you hunt down individuals social media accounts by username across social networks. The program looks at the json file located in the " Sherlock/resource/data.json" file and checks all websites listed with the username given.       I initially thought this project would be an easy pull request, I thought that I would add an object in the json file and the program would work! Unfortunately, I ran into some problems, as the program would not realize I had made some changed to my json file. So like Sherlock would, I started to investigate. I started by locating where the json file was being used.      I printed the args object and noticed that the local attribute had the key value pair of false. This lead me to read the help section. The documentation said that the argument --local will force the program to use the local json instead of the one on