Hacktoberfest Issue 3

For my third issue on Hacktoberfest I found interesting project to contribute on.

hackissue3

This project is written in React, JS and other technologies familiar to me. Although React is still new to me, understanding this program was not hard. I had cloned the project, opened it up and followed the instructions in the README file.

One of my all time favorite TV shows is House so I decided to add a scene from this show to the program. My contribution to this project was to add find a scene and gather information on it as well as include the URL to the object. I saved this code and rand this program locally again with no issues.

 

hackissue3a

I submitted my pull request and it was merged. The take away I had from this open source experience was more about an interest rather than trying something difficult. I contributed to increasing in what will be an application that will allow people readily search scenes  as a reference to support arguments.

Hacktoberfest Issue 2

As I mentioned on my previous post, I  started to work on the Rust project. I started to set it up locally and ran into issues which I googled for ways to solve them. When I was able to locate a specific reason for my error,  I posted on the issue of the problems I was facing and the owner of the project along with another git hub member suggested ways to solve the issue.

hackissue2

I was still struggling to make the code run locally  after using  the advice given to me so I decided to to do some more research. I had spend about a day and a half  going though Stack Overflow and other forums before I gave up and put the issue aside to focus on other assignments.

Fast forward a few weeks later, I decided to take a gander at this issue again. I looked at it and realized I was no longer interested in this topic. I started browsing Hacktoberfest issues and found one that peeked my interest very quickly. The week before I had spent my entire week doing a Data Structures and Algorithms assignment and studying for a midterm in that course. It consisted of linked lists, stacks and queues, and so forth. This new issue that I had found was to reverse a String using stacks! I thought that this was an awesome way to implement something I just spend a week studying and learning.

I was the first to comment on this issue and began working in it right away. It took me a couple of hours to finish and commit. As I was making a pull request, I realized someone had finished the task 5 minutes before I committed and the owner  of this project merged the other persons work ahead of mine. I think that was a pretty shitty thing to do, but nevertheless I created a pull request for my work. I am not sure it will get merged, but I am still happy to have finished this task.

 

For me this issue was a personal accomplishment as I was struggling with this exact topic a week ago. I had a hard time grasping the topic and went through many tutorials and examples to understand how to code stacks. So when I saw this issue I took it as an opportunity to implement my class work into an open source project. The reverse function I wrote is shown below.

reverse

 

 

I wonder what week 3 will have in store for me!

Hacktoberfest Issue 1

Open source development is a fairly new concept to me. I only learned about it when searching for professional development courses for my program.  I have been interested in getting more involved in the community and so it seemed like a interesting topic and I decided to take this course.

When my professor, brought up the Hacktoberfest I was ecstatic to start working on issues. I was so excited I decided to take this opportunity to assert myself into a new language and participate on an intermediate task (at least intermediate for me) . I did some research on the language (Rust) and quickly realized I had no idea what I was doing working on this issue . I decided to take a step back and find something easier to do. I found another issue tailor made for Hacktoberfest and it was simply to write a Hello World program in any language. I looked down the list and realized Rust was not there.  I then requested to work on this issue and and made a pull request.

hackisue1PNG

 

It is not the most exciting issue to work on, but it taught me how to write in a new language. I learned to write a statement you use println!. I also learned that to compile a rust program you can use rustc which generates a binary file.

I will continue to pursue my original first issue as my second pull request.

 

Assignment 1 – TestCase Writing & Git

I learned a lot from writing this test case for Filer. Initially it took me a while to go through the existing test cases and code to think of a case that was missing and not already tested. I was able to look through different files and sparked the idea that in the appendFile.spec.js there was a test to append a symbolic  link, but not to check if a symbolic link existed.

Firstly, I cloned the filer onto my own PC.  After searching through test cases I found an issue to write a case for. This is when I created issue number 489, found at this link .  I had no idea where to begin in writing this test case so I looked at examples and tried to piece together my own test case. I created a pull request ( found here ) and committed my code without testing. Through the help of my peers.  I was able to locate my errors and fix my test case.After many trial and errors I was able to pass it and commit my test case again!

Next time, I would definitely sift through my code for visible errors ( such as unused variables) which is what happens when you try and copy bits of other test cases. I realized not every test case has to include the same information. I had fun writing this test case, but it was much more difficult than I thought it would be. I am used to having guided instructions for assignments, but this was very open. I liked the freedom to do what I wanted, but it was frustrating trying to figure out where start. I would definitely like to try and tackle another test case in the future!

 

fs.link and fs.linkSync

First of all, what does link even mean?  Linking in this case, is creating a new path to a existing file. If the path already exists than it will not be overwritten.

The difference between these two functions in the Filestream module has to do with the synchronicity of the functions and the number of parameters each function allows. To begin, fs.link is asynchronous which accepts 3 parameters. The first parameter is the existing path to a file, the second parameter is a new path to the same file and the third parameter is a callback function.

A very simple example of this is

var fs = require(‘fs’);

fs.link(‘/sathia/helloWorld’, ‘/sathia/byeWorld’, function(err) {

if(err){

return console.log(err);

}

});

fs.linkSync on the other hand is synchronous and accepts 2 parameters which include the existing path to the file and the new path of the file.

A very simple example of this is similiar to above without the callback function.

var fs = require(‘fs’);

fs.link(‘/sathia/helloWorld’, ‘/sathia/byeWorld’){

console.log(“Path has successfully been changed”);

}