Week07

Git Basics and Deciding on a Project

This week, we had one class and one group meeting due to the new decision of moving classes online because of the intensity of the virus. I still learned much from the class on Monday and the group discussion on Wednesday.

Getting more Familiar with Git

I have never used github prior to this class, so I am very thankful to Monday’s class — how Joanna decides to spend some time going over the basics of using github locally. The fundamental concepts Joanna mentioned in class are very helpful, since she focused on two concepts that many are not clear what the difference is exactly: merging and rebasing. they serve a similar kind of purpose, updating any changes of the master branch to the sub, and making sure there exist no conflict before pushing the actual thing.

Getting to the details

The concept of commit is also tricky, because as people might just interpret it as a behavior, it is actually taking a snapshot of everything that is existing, instead of just recording what has changed. The concept of branches, comparatively, are more straightforward to comprehend. As many different developers are contributing to the project, they take what is available and create their own branches to work on. Otherwise, they would just be changing the master branch all at once and that can be a mess

Reflections

Though I was not familiar with git before, I think this class was able to provide me with the core concepts of how contributing to an open source project, or any project, is supposed to be. I think I will take what I learned from class today and practice it in real life. I am very glad I had chance to learn these before actually entering the industry.

Group Meeting

Our group has met on Wednesday to decide what project we want to work. At the beginning of the meeting, we briefly shared our strength in programming languages. It turns out that Eric and I have a similar background — some experience with java, C and C++. On the other hand, Emmett is a python programmer, which is different and very cool. We are open to different project ideas, and we looked at a couple of different projects and decided to work on Gatsby.

Gatsby

We decided on Gatsby, though none of us consider ourselves as javascript programmer, we wanted to give it a try. We looked at the repository, and Gatsby seems to be a pretty active project. The development environment was easy to build, as we hardly need to install anything. Emmett found out that Gatsby is using a tool called gitpod, which is an online development environment. The user interface looks like a terminal to me, and the commands, I assume, would just be similar with using Git on a local machine)

Issues

We also looked at some current issues on the repository. Most of them are heavily labeled, which made them very user friendly. They are separated into different categories: low effort, medium effort and high effort. We peaked at some medium effort ones, and they all seemed very doable. So I think we are in a good start.

Written before or on March 16, 2020