Posts

Release 0.3 PR1

Image
 For release 3 we have to make 2 PR's. The first one must be for the Telesope project  and the second one must be for an external project. These PR's must "build up" from the PR's we did for release 0.2. This blog post will highlight working on the PR for an external project. David suggests to "consider working on a repository/project you've already worked on in the past and have set up on your local machine". I took that advice when I started searching. Back in October, I worked on this repository , a collection of different kinds of algorithms written in different programming languages. In October I made a PR to add the Cocktail sort algorithm in C++. At the time this was good since I did not do much work with algorithms before. However, there was a new issue for the project that was perfect for release 0.3. This issue wanted people to add unit tests for an algorithm currently present in the repository. I have never written a unit test before and ...

OSD600 Lab 6

Image
This week we started to get familiar with Telescope  a tool made by students of OSD 600 to track blogs written for Senecas Open Source class. The first task of this week's lab was to set up telescope and get it to run on our local machine. I first read the envirenmet-setup.md file and decided I will use the docker and docker-compose method. After I forked and cloned the repository I downloaded docker decktop (this comes with docker and docker-compose) then followed the steps to run it. I did run into some minor issues when trying to run it, but was able to figure it out!  After I got that working I started the second part of lab 6. For this part, we had to modify our link checker to search for links in the last 10 telescope posts. To be honest, at first, I had no idea how to do this. But then I took a minute to think about it and start writing some code (It's easier for me to visualize). Eventually, I figured it out! I used fetch() to grab the JSON data from http://localhost...

OSD600 Release 0.2 PR4

Image
This is the last PR for Hacktoberfest! I can't believe how different I feel in comparison to the beginning of the month. When David first posted the requirements for release 0.2 I thought to myself "how on earth am I going to do this." Now I look back and laugh. I started the month by doing something very simple I already knew how to do. I wrote a hello world in PL/SQL  This was a big deal for me because, at that point in the semester, I was still pretty new to Open Souce and did not know too much about contributing. After PR 1, I became more comfortable with git and decided to do something more challenging. I learned the Cocktail sort algorithm in C++ and added it to an algorithms repository ( PR#2 ). At this point in the month, things were looking good however, I felt I could still "go bigger" and do something more challenging. For PR#3  I added a name to the name suggestion index. This was a huge milestone for me because with the first 2 PR's I had an ide...

OSD600 Release 0.2 PR 3

Image
 We are in the third week of Hacktoberfest and it is getting exciting! This week I decided to work on this issue . They needed someone to add Chateau d'Ax to the name suggestion index. When I first saw this I very nervous as I had no idea how to do it. But it is PR 3, we are halfway done the course, it's time to start taking some risks! So I decided to stop worrying and just "jump in". This approach really paid off! After I let the maintainers know I wan to work on this issue I forked  the repo, made a new branch , and cloned to my local machine. I reread the issue, took some time to think about, and started looking at the files that needed to be modified. I noticed I needed to modify a file in the data/brands/shop folder (furniture.json). Adding the data wasn't so bad, the hardest part about this issue was finding the information to add. Most of the information was given in the issue: When adding the country codes there were some I could not find in the wiki the ...

OSD600 Lab 5

Image
 This week we learned about rebasing in Git! Rebasing is basically taking multiple commits and "grouping" or "moving" them into one commit. Before I started the lab I did the walkthrough on the OSD600 GitHub Wiki. At first, I struggled with it (kept getting errors when running git rebase master -i). Then I decided to start over again and I noticed the first time I forgot to commit some files on the refactor branch. I am happy I did this first because it made the lab go very smoothly.  Before I started the lab I took a look at my code and wrote down the improvements I was planning to make. I decided to do these 3 things: change my regular expression variable from a let to a const, remove an array I never used, and update some functions to use the ES6 arrow syntax. It's been a while since I used arrow functions so I used this resource to guide me Every time I added and tested a feature I did a git commit. One improvement that caused an error was when I updated som...

OSD600 Release 0.2 PR 2

Image
I started searching for my second pull request on the Hacktoberfest website . As I was looking I found this repository . This was a collection of algorithms written in various programming languages. I have not done much work with algorithms and for this PR and I was hoping to do something with C++ so this seemed like a perfect issue. I worked on this issue , which was to add any algorithm in any language not currently present. At first, my plan was to do bubble sort since I learned that at Seneca and had a good understanding of how it worked. But, someone already did that. At first, I started freaking out because I didn't know any other algorithms. So then I took a deep breath and started doing some research. Eventually, I came across an algorithm called CocktailSort. This seemed like it was a good algorithm to try since I didn't know how it worked, I never studied an algorithm like that, it was more challenging then bubble sort, and was not present in the C++/Sorting directory...

OSD600 Lab 4

Image
In this week's lab, we learned how to work with remotes in git. I am really happy we did this lab because before we learned this I was wondering how do you test someone's work before accepting their PR? First, we had to add a --ignore feature to each other's programs. This was the hardest part of the lab. I was able to add the feature to my partners and she was able to do the same to mine, but we both ran into some issues. So we collaborated with each other via ms teams and Github to fix our code. We were having a really hard time fixing mine so we had to ask out professor David. David was able to fix this but instead of giving me the solution he gave me a diff file and made me figure it out myself. I know this may not seem like a big deal but before this, I weren't so good at reading diffs so I am happy he did this as it forced me to learn. Reading and modifying the diff was harder than I expected, but after reading some articles David sent me and keep trying I eventua...