Posts

Showing posts from October, 2020

Release 0.2 Hacktoberfest – Recap

 I have sent 4 pull requests for Release0.2/Hacktoberfest this month, three of them are merged and one is waiting for view. To recap, I contributed to the following open-source project. the First PR to  onefetch At the beginning of hacktoberfest, I started with an easy issue for my first pull request -- first issue . This issue just reduces the size of an  ASCII logo  of  onefetch  repository. It is a pretty easy task but I still spend a few hours on it. It's because I don't know how to run a Rust project property on my machine. I learned some basic commands of Rust by doing this pull request . the Second PR to  issue-collab The preview PR I sent is reducing the size of an  ASCII logo  of  onefetch  repository which has nothing related to programming. Therefore, I decided to find an issue that at least do something programming for my second PR. I finally work on  issue-collab  which is a React web-app that does similar functionality as Github search with better-looking UI. in 

My fouth PR request for Hacktoberfest

  Picking the Issue I have spent a lot of time finding an issue that I am capable to work on this time. I feel that I am so bad at self-learning. I looked at quite a few issues and tried to work on it but I just can't understand them even I googled and tested a lot. Finally, I gave up on adding a new feather for my fourth pull request. Instead, I decided to contribute to the project mattermost  which larger than my previous projects.  The issue-16167  basically just convert all the file under a component from Javascript to Typescripts. The member of the project also provides the checklist for the migration. < ] Rename the files to their associated TypeScript extensions (ie.  js  to  ts ,  jsx  to  tsx )   Update any components using those to the correct imports [ > Fix any errors generated by the TypeScript compiler. You can run  make check-types  to display any errors Working on the issue Firstly, I changed some all 4 files extension from js to ts, jsx to tsx. After I done t

My third pull request for Hacktoberfest

Image
Picking the Issue Since I never deal with bugs for my first and second pull request, I decided to find a bug issue to work for my third pull request. The funny thing is that I just noticed that one of the contributors of my second PR's project  issue-collab  listed a bug about " Page not reloading after clicking next on pagination ". The owner of the repo wants someone to share a video/gif about the issue because he not really clear what the bug exactly is. I tried and uploaded the gif of the bug.  Then the owner reproduced it as following: Click Find Issues Scroll to bottom of page and click Next page Click Find Issues again (observe it doesn't work) Click Find Issues a second time (observe it loads the first page) I asked him assigned the issue to me and he did it immediately. Practice the git commands I checked the requirement of release 0.2, and I am able to work on at least 3 different repos for my PR. That means I can work on this repo twice plus 2 more differe

OSD 600 Lab5

In this week's lab, we are going to refactor our code of release 0.1. Since we have learned some git history commands this week, we are going to practice the commands git rebase, git commit --amend to rewrite the history of the previews commits after the refactoring. Refactoring my release 0.1 The first change I rewrote the code about sending asynchronous requests. I was using sync-request dependency for sending the asynchronous request. It makes the request super slow since they were waiting for the preview request to finish. I removed the sync-request dependency and installed the request dependency, then I created my checkUrls() function that returns an array of promise(Promiss.all).  const   checkUrls  = ( urls ,  json ,  status )  =>  {      return   Promise . all (          urls . map (( url )  =>   sendRequest ( url ,  json ,  status ))     ); }; The second change  I changed my readFile() function can readFile asynchronously. I just simply make the function return a pro

Second PR for Hacktoberfest

Image
Picking the Issue The  first issue  I was working on is that reduce the size of an  ASCII logo  of  onefetch  repository. Even I download Rust for testing my logo, it still not much related to programming. Therefore, this time I decided to find an issue that at least do something programming stuff. I spent a while for finding the second issue, and I find this interesting repo  issue-collab . This is a React web-app that does similar functionality as Github search with better-looking UI.  There was an issue-57  posted from one of their contributors, and he thinks it would be a good idea to show the number of comments in issues. The owner of the repo agreed that and opened this to anyone. He also kindly give some advice on how to add the numbers of comments. Working on the Issue After I set up everything (fork, clone, branch), I followed the advice checking is the function  getIssues()  in  App.tsx   returns this data already. I console.log() the result returned by getIssues() function,

OSD 600 LAB4

Image
About Lab4 In this lab, I am going to add ignore URL Patterns to one of my classmate's URL command-line tool project. For example,  if you write ' https://www.google.com " in the text file (ignore-urls.txt), then run the command "$ tool-name --ignore ignore-urls.txt index.html".  Your tool will check all URLs in index.html, but ignore the URLs in ignore-url.txt which is " https://www.google.com " in this case. I am also asked to practice using  git remote  and sharing commits with  git push ,  git pull , git fetch and git merge.   Getting start Since our professor prefers us to work on the repo we haven't worked on before, I picked  Hyunji Lee's repo  URL-FI  which is also written in javascript from  the 0.1 Submissions list .  I filled up the Issue-12  for the new ignore feather. After I cloned the repo and tried to test some commands, I found that the tool isn't working properly.  I console.log something out and find the program stops at f

My first PR for Hacktoberfest

Image
Finding the first issue to work with As a beginner in the open-source project development, it is really hard to find something that I comfortable working with. I found out that there are so many competitors on a lot of issues, and it struggled me a while. I finally noticed that I can sort the issues by newest, then there would be much fewer competitors.  The  first issue I was working on is that reduce the size of an  ASCII logo  of  onefetch  repository. Since the logo exceeds  the max size imposed by their  Guideline , the project owner wants to reduce the size of the logo with  a width < MAX_WIDTH = 40 and height < MAX_HEIGHT = 25.   Since I am not a creative person, I asked the owner that is he accepts a  size down of the original logo or he wants a completely new logo. And he assigns the issue to me since he just wants a size down of the original logo. Working on my first issue   after I got assigned,  I just realized the project is written in Rust which I never try about.

OSD Lab3 Git Merge

Image
In this lab, I need to implement two additional feathers into my release 0.1 project --  urlStatusChecker . I am asked to do each of the feathers in its own branch and then merge them into my master branch in order to learn and get familiar with the git merge processes. I choose to add two of the following  features into my   urlStatusChecker : Add a  -j ,  --json , and/or  \j  flag, which causes the program to output JSON. The JSON output should look like  [ { url: 'https://www.google.com': status '200' }, { url: 'https://bad-link.com': status: '404' } ] Support  --all ,  --good , and  --bad  flags. The  --all  flag is the default, and if none of these are present, it will display good and bad URLs. The  --good  flag causes only good URLs to get displayed; the  --bad  flag causes only bad URLs to get displayed To begin with, I issued the two feathers that I wanted to add in my repository(  Issue-5 ,  Issue6 ).  Then I created two new local branches usin

OSD Lab2 -- Pull request

 In this lab, I need to add a new feather to one of my classmate's release 0.1 by listing issue, and create a pull request, as well as communicate to the project owner. Firstly, I looked at a few repositories that are written in javascript and I decided to add a new feather to Stella Jung's project because Her project doesn't have the code to allow passing multiple paths to the command-line tool. I feel this is an easy and important feather for a command-line tool, so I listed an issue for enhancement in her repository.  Link to the repository In order to begin my first pull request, I listed an issue-6 in the repository. I asked the author for the new feather to allow passing multiple paths and told her that I am interested to work on this new feather.  A few hours later, the author replied to me that she is love to see the new feather.            After I get the author's consent, I forked her repository, clone using the ssh key to my local computer, and created a new