Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topic-Zero: Prep #8

Open
ijlyttle opened this issue Mar 13, 2019 · 8 comments
Open

Topic-Zero: Prep #8

ijlyttle opened this issue Mar 13, 2019 · 8 comments

Comments

@ijlyttle
Copy link
Contributor

ijlyttle commented Mar 13, 2019

Just a placeholder for now, but this will be where I try to set out what we would like participants to have accomplished in advance of arrival at Des Moines.

This will be focused on git and GitHub setup, perhaps also to strongly encourage folks to be using the preview version (1.2) of the RStudio IDE.

I plan to make a couple of screencast videos (macOS + Windows), then to offer to arrange for help beforehand if folks run into problems.

@ijlyttle
Copy link
Contributor Author

ijlyttle commented Mar 14, 2019

Like most things for day-zero, will be basing this off of Jenny's materials, in this case: https://happygitwithr.com

When we get together for the Unconf, we will work together on a number of projects suggested by the group. The place where our code will come together is GitHub; the goal of this set of videos is to help you get your computer setup to work with git and GitHub, so you'll be ready to collaborate as soon as you arrive.

If you get well-and-truly stuck somewhere, please let one of the organizers know; we'll do our best to help you get it sorted out. As well, we will be there to help when you get to the Unconf.

  1. Make sure you have RStudio IDE v1.2 (preview)
    • motivation is to have uniform access to the terminal tab
  2. Make sure you have a GitHub account
    • if you have a GitHub account, make sure you can sign in
  3. Make sure you have git installed (variants for macOS, Windows)
    • verify using git --version from the terminal tab
  4. install.packages("devtools"), remotes::install_github("r-lib/usethis")
    • dev version of usethis has all the goodies
  5. usethis::use_git_config() (set user.name and user.email)
  6. usethis::git_vaccinate()
  7. Get a GitHub PAT:
    • usethis::browse_github_pat() to get to GH page to create PAT
    • usethis::edit_r_environ() to install PAT
  8. usethis::git_sitrep()

Optional: set up .Rprofile to use devtools, usethis, reprex, as you see fit:

usethis::use_devtools() and friends can be useful.

if (interactive()) {
  # packages
  suppressMessages(require("devtools"))
  suppressMessages(require("usethis"))
  suppressMessages(require("reprex"))
}

Bonus: set up options(usethis.description) in your .Rprofile

.First <- function() {

  # adapt these entries to your situation
  options(
    repos = c(
      CRAN = "https://cloud.r-project.org/"
    ),
    devtools.name = "Ian Lyttle",
    usethis.description = list(
      `Authors@R` = 'person("Ian", "Lyttle", email = "ian.lyttle@se.com", role = c("aut", "cre"),
                            comment = c(ORCID = "<your-orcid-here>"))'
    )
  )

}

@jennybc
Copy link

jennybc commented Mar 14, 2019

Participants should know -- and verify that they know! -- their GitHub username and password.

A substantial fraction of the people I helped with git snafus at tidyverse dev day struggled to put their hands on this info. So as soon as we needed to provide to some new piece of s/w, vs. relying on browser cache, etc., we were stuck.

@sctyner
Copy link
Collaborator

sctyner commented Mar 14, 2019

@ijlyttle Keep in mind many participants don't have a Github account right now. (See the avatars on the site) I know this is mostly your brain dump for now, so maybe you were already planning on this. Another note: when the final "prep" info gets sent out, it would be nice if there were some explanation of why we're telling them to do all these things, not just tell them to do all these things. If they feel like they don't understand the purpose of Github, I am afraid they will lose motivation & excitement. I don't want anyone feel like they don't belong because they are new to Github.

@ijlyttle
Copy link
Contributor Author

ijlyttle commented Mar 15, 2019

Thanks @jennybc and @sctyner!

Jenny - I would not have thought that, I'll be sure to keep that in mind!

Sam - you're right, this is brain-dump for now, but I hope to turn it into a demo screencast by the end of the weekend. I'll keep in mind that some folks will need to sign-up for GitHub. I will be mindful to talk about motivation and how our goal is to get everyone "on the boat". As you know, I can use all the help I can get to make sure I hit the right notes :)

My plan is to make a demo screencast this weekend on Mac, then demo it for whomever might be interested to give feedback. My goal is to (eventually?) get it "right" then cut in a few things from a Windows machine (which I trust will relate only to the git installation).

@ijlyttle
Copy link
Contributor Author

ijlyttle commented Mar 16, 2019

Proposing a revision to the plan: it may help things, not least (perhaps least) my sanity, if we break up the prep into four stages, one each week with a brief (🙏) screencast:

Week of Mar. 17:

  • Ensure version RStudio IDE v1.2, that you have a GitHub account and that you know the credentials.
  • Homework: post a response to a "meet-and-greet" issue

Week of Mar. 24:

Week of Mar. 30:

  • For Windows users, Rtools. I'm embarrased to ask if we need to do anything analogous on macOS.
  • Install devtools, usethis (dev version)
  • usethis::git_config(), usethis::git_vaccinate()

Week of Apr. 7:

  • Github PAT
  • quick intro to .Rprofile (helps you be lazy) .Renviron (helps you be safe)
  • usethis::git_sitrep()

Hypothesis: If there is someone who ends up "stuck", they could, in theory, use RStudio Cloud, then they would need only install a PAT in their RStudio Cloud .Renviron.

@jennybc
Copy link

jennybc commented Mar 16, 2019

For Windows users, Rtools. I'm embarrased to ask if we need to do anything analogous on macOS.

It's mostly covered by installing the Xcode command line tools, which is the recommended way to install git on macOS (previous week), so there's a "two birds with one stone" thing going on here. Contrary to the official advice, lots of people successfully build R packages with this dev environment vs. installing CRAN's custom toolchain. This is not enough if you need to compile packages with fortran, but that doesn't come up very often (for me, only when doing revdep checks).

@ijlyttle
Copy link
Contributor Author

ijlyttle commented Mar 16, 2019

Thanks @jennybc! Very comforting that Xcode handles (just about) everything - I am happy to propose to exclude fortran from our supported environment 😀

@jennybc
Copy link

jennybc commented Mar 16, 2019

Make sure you recommend Xcode command line tools and not Xcode itself, which is enormous and overkill.

https://whattheyforgot.org/set-up-an-r-dev-environment.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants