Skip to main content

Interfaces and Repositories

Texts to have read:

Work to have achieved:

Plan for the Day

  1. GitHub, part 2 (~20-30 min)
    • Why version control?
    • Introduction to GitHub using basic text files
    • a demo of diffs
    • Multiple views of the same files: web, Finder/Explorer, GH Desktop, text editor
  2. Your turn! Practice forking an assignment repository and editing its files (~20-30 min)
  3. Shareback and discuss (~10-15 min)
  4. HW Preview (2-3 min)

Welcome back! I really enjoyed reading all the introductory posts and letters; thank you for those. If you haven’t had a chance to get to know your classmates’ opening posts, I encourage you to check them out!

And if you haven’t posted one, please do! As noted in the contract, you get one free missed homework per unit, but you don’t want to spend them before you really need them.

1. GitHub, part 2

In those intro posts, we saw that GitHub can host a discussion forum, so in that sense it’s a community website: it makes media social.

But its core functionality is meant to solve a different media problem: tracking changes to files over time.

webcomic shows a series of panels renaming final.doc to final_rev2, final_rev_6.comments, and so on to absurdity
from PhD Comics by Jorge Cham (2012).

Retaining and renaming ever more files isn’t just messy to keep track of: it also eats up your storage space, especially if you’re working with multimedia. What git allows you to do instead is to track the differences between versions of files while keeping the same filename.

Let's check out the GitHub.com web interface, and see how it works: https://github.com/benmiller314/text-demo

Initial questions to ask of any app:

  • How is the space laid out?
  • What’s given the most prominent visual focus? Secondary focus?
  • What features/tools do you have quick access to?

2. Your turn

Time to take these abstractions and put them into practice.

We’ll be working in groups. I’ve used your Tech Comfort Survey responses from Lesson 1 to build teams where at least one person has prior GitHub experience, so I hope you’ll be able to help each other where needed!

  • Asher, Jackson, Lauren, Suchi
  • Diego, Janna, Jordan, Kellen
  • Mike, Ana, Betul, Mark
  • Josie, Alexandra A, Ariana, Michael
  • Ben A, Alex L, Elio, Skylar, Taylor
Head to

https://github.com/benmiller314/cdm-gh-practice, where you'll find more instructions for what to do next – starting with forking the repo. (Thanks, group GitHub anchors!)

Please start by skimming through the instructions in the README file, so you know where this is headed. (It'll spare you confusion later, based on past semesters!)

I'll give you the overview while we're still together:

  1. Make a copy of the repository for your group
  2. Write a short story, one line per person, committing every time you add a line
  3. File a pull request to merge it back to my repo

Read through the details, then follow the steps. We’ll work in groups for about 10-15 minutes, then report back. NB: For this task, you can use either the GitHub web interface or use GitHub Desktop to “pull” files to edit on your own computer and then “push” them back.

Call me if you need me! Otherwise, I’ll be floating from group to group. And note the EXT activity in the repository itself if you finish early.

3. Report back and discuss

What was exciting? What was challenging? Anyone get to the EXT?

HW for next time:

  • Please read / play through Tyler Su’s “Playing Lev Manovich”, which defines and illustrates five principles of new media. Be ready to talk about what you noticed, and what you wondered.
  • Listen to the following recordings:
  • Write a short blog post to the appropriate thread on the issue queue:
    • What do you notice, i.e. what stands out while reading or listening?
    • What does that suggest, or what does it make you wonder?

EXT: VS Code interface

Using those same questions from above:

  • How is the space laid out?
  • What’s given the most prominent visual focus? Secondary focus?
  • What features/tools do you have quick access to?