Monday, September 23, 2019

Github First Actual Experience

     Wow-what an experience getting full hands-on first Github project. Last lecture class in DSP909, I learned some git commands which I had a lot of fun playing around with, messing stuff up and finally getting to the destination which I originally set out to reach. I will talk about that later on. On the first release out of the four for the course, we had to 1. fix a bug on one of our classmates lab_2 programs which we wrote and pushed to GitHub last week and 2. add a new feature to another classmates lab_2 program and get it pushed to Github.

     I was excited to do this but 1 thing I didn't keep in mind that my professor told me to never to do in this course at the beginning of the course year was to keep the release work for last minute because they take time to complete. When I started working on it I had problems finding other classmates bugs because lab_2 was very simple, creating a notepad. After a while, my friends suggested trying to open the notepad in different browsers and see if that helped me find a bug. At the end that was a bust. So I decided to take a more general approach to this and see if I could enhance someone's notepad to make it look better and function more efficiently. At last, I found a notepad like that. One of the biggest problems with the notepad I found was I didn't know where the text area was because there was no placeholder to tell the user where to type their notes or a border during their text field.
When I first opened the notepad I kid not, I clicked on the screen like 4 times before I found the text box so I put in an issue with the creator of the notepad and asked to fix the problem. After that, I went ahead and added a border and apparently the code had a preassigned text to the text box at the start of opening the notepad but it wasn't showing up so I fixed that problem by taking it out and placing a placeholder in the div of the text field and placed in a pull request. After last weeks struggles with javascript I remembered a lot more of how to work with javascript this time around. So I was really grateful for that.

    The second part of this release was a lot easier than the first part. Adding a new feater to a simple notepad program I found easy because originally there weren't that many features added so you can add anything as long as what I added did not break the whole, notepad program. So I decided to add a save button for the paranoid that didn't trust in the autosave functionality and clear button for the people who want to start over. Along with that, I added a clear short cut, ctrl+c since the notepad had a save shortcut, ctrl+s. It's only fair that there should be a clear shortcut if there is a save shortcut right? So I started with putting an issue in with the creator and the creator was thrilled with it and replied instantly. So I added the feature and submitted and a pull request so he can merge it with the master branch and he did. This was a lot less time consuming than finding a bug fix.

     On a sided note from the release I tried out the following git commands on the terminal:
               - git inti
               - git status
               - git show
               - git diff
               - git rm
               - git checkout
These commands gave me a lot of difficulties trying to figure out what was going on. At one point I was trying to override a .git file from another git staging and it was not fun. Also, I was thinking of cloning the same repository from git again because this was giving me a lot of problems but I remembered that I can undo almost anything on git and I browsed for while on google. After I was able to reverse my staging to the local working directory and everything was fine or so I think it is fine.

No comments:

Post a Comment