Modern Plain Text Social Science
Week 08
October 2025
These services are good for a lot of things, and some of them are like backups in some ways, but they are also not really backups.
E.g., Backblaze.
If ensuring that you have access to months or years of your work in the event your laptop gets stolen, is left behind in an airport, “just stops working”, is accidentally dropped in the bath, or is found submerged in a foot of water after a hurricane1 is not worth nine bucks a month to you, perhaps reconsider the value of your time, your personal risk tolerance, and your career choices.
“To remember everything is a form of madness.”
A causal diagram as a directed acyclic graph
You are going to see a lot of diagrams like this in papers, talks, and seminars you’re required to take.
Causal history of an imaginary paper where the arrow means ‘led to’
Causal history of an imaginary paper where the arrow means ‘depends on’
History of mostly linear changes to an imaginary project
A portion of the git log for the gssr package



git, it exists as a “hidden” folder that has a record of all the changes. It’s stored inside the project. To create it, we initialise the repo.
.git folder is “hidden” because its name begins with a dot.
git add <filename>.git folder.
-m is for our benefit. It should be terse and informative about what’s new, fixed, or changed in the commit..git folder, a compressed version of the file is created..git folder that sits at the root of our project. Conceptually we think of it as its own separate thing that git is managing for us..git folder that sits at the root of our project. Conceptually we think of it as its own separate thing that git is managing for us..git folder inside the project. Again, think of it as a separate entity, the local repository.git add <filename> and git commit -m "Message"git add -u to stage any changes to every already-tracked file.git add -uThere’s no such thing as the Cloud
It’s just someone else’s computer
push changes to GitHub or wherever our remote repository is located.git pullWhat if you want to work with someone else’s project?
Toy Covid Project on GitHub

gh command line tool, which is for using git specifically with GitHubgit clone puts the repo in your current folder.
❯ cd Documents/data/
❯ git clone https://github.com/kjhealy/covid-project.git
Cloning into 'covid-project'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 23 (delta 8), reused 22 (delta 7), pack-reused 0 (from 0)
Receiving objects: 100% (23/23), 577.21 KiB | 5.77 MiB/s, done.
Resolving deltas: 100% (8/8), done.
❯ cd covid-project/
❯ ls
README.md covid.Rproj covidcases.qmd dataNow you have access to the full history and any branches, etc.
Use git diff to compare your working folder with the most recent commit (the default), or to compare changes between two commits.
Here’s the state of this course’s project as I write this:
idlewild ~/D/c/mptc git:main ❯ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: slides/05-slides.qmd
modified: slides/06-slides.qmd
Untracked files:
(use "git add <file>..." to include in what will be committed)
assets/04-git/04-github-clone.png
assets/04-git/04-github-covidproject.png
data/dfstrat.csv
no changes added to commit (use "git add" and/or "git commit -a")❯ git log
commit 6df6d6b10b127e87115dceac06c869150b67e800 (HEAD -> main, origin/main)
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:49:33 2023 -0400
Began writeup
commit ef0772106fe4d6f10ee62afd3c951ff14b16efb1
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:38:55 2023 -0400
Data and Rproj files
commit f43f6f10ba5cd1a57430c032c8c14f056b154e9b
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:34:08 2023 -0400
Added covidcasesSHA hash.HEADmain branchcovidcases.qmd# Back at the shell here
> git status
On branch figtest
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: covidcases.qmd
no changes added to commit (use "git add" and/or "git commit -a")> git log --abbrev-commit
commit 912aed7 (HEAD -> figtest)
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 20:25:42 2023 -0400
Checking ggplot code
commit 6df6d6b (origin/main, main)
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:49:33 2023 -0400
Began writeup
commit ef07721
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:38:55 2023 -0400
Data and Rproj files
commit f43f6f1
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:34:08 2023 -0400
Added covidcasesmain> git log --abbrev-comit
commit 06677f4 (HEAD -> main, origin/main)
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 20:45:10 2023 -0400
Load the US data
commit 4a77b2f (origin/figtest, figtest)
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 20:33:57 2023 -0400
Fixed the plot
commit 912aed7
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 20:25:42 2023 -0400
Checking ggplot code
commit 6df6d6b
Author: Kieran Healy <kjhealy@gmail.com>
Date: Mon Sep 18 17:49:33 2023 -0400
Began writeupadd, commit, and push the results.