Homework 1

Due: Sunday, February 5 at 11:59 pm

Before we start working on our own open source projects or contribute to others', we need to get comfortable with git, GitHub, and the standard pull-request based development workflow that most open source projects utilize (or at least those based on GitHub, GitLab, and similar git-based SaaS platforms). To do this, we are going to work on our personal account repositories and the proposals repository. For the former, we are going to setup our landing page and personal portfolio websites using GitHub’s builtin tools and GitHub Pages.

Part 1

The most important part of open source software development is the community of people that dedicate time and resources to working on it. Many of us maintain active presences across social media sites, messaging sites, personal sites, etc, but one of the most important places we look to get to know more about someone and the types of projects they work on is on their GitHub page. To this end, GitHub provides two useful tools:

For this assignment, we will be setting up (or modifying, if you have already set these up) both. Let’s take a look at the key elements using the README of my friend Steve

Steve’s homepage has a number of useful elements:

Additionally, Steve has setup a few helpful things on his profile. On the left hand side, we can see his current company and his website (in this case, a link to his LinkedIn profile). We see a non-placeholder profile picture. At the bottom we can find that he has pinned some of his favorite or most popular repositories.

For this first homework assignment, using the profiles and README sections of GitHub’s documentation, setup a personal README with the following information:

If you already have a personal README that satisfies the above requirements, you may skip this part.

Note If you are privacy-sensitive, feel free to make a separate profile for this class, use a different name, or otherwise obscure your identity while satisfying the requirements of this assignment

Part 2

Make a pull request to your proposal markdown file linking to your profile README. Include the full link under your existing profile link, e.g. for my account it would look like:

GitHub: [link](https://github.com/timkpaine)

GitHub README: [link](https://github.com/timkpaine/timkpaine/blob/main/README.md)

Part 3

We will begin collecting and centralizing information about our projects and the projects to which we want to contribute under the proposals repository. For this part, make a pull request to the repository with three modifications

As an example, I have done such a pull request myself here. Ensure your pull request starts with HW1 or has the HW1 label.

Note Make sure this pull request is separate from your HW0 pull request, using a different branch if necessary

Do not worry about these pull requests being merged, or about other people making pull requests for the same projects. Shortly, the teaching staff will be inducing conflicts in your pull requests and requiring you to rebase your changes, in order to ensure we’re comfortable with the “most difficult” common git issue we will face.