Skip to content
This repository has been archived by the owner on Jan 3, 2018. It is now read-only.

SSH key lesson at novice lesson? #691

Closed
wking opened this issue Sep 3, 2014 · 15 comments
Closed

SSH key lesson at novice lesson? #691

wking opened this issue Sep 3, 2014 · 15 comments

Comments

@wking
Copy link
Contributor

wking commented Sep 3, 2014

I argued against this lesson landing, but since we have it, I think it makes sense to cover it before covering collaborative development (with it's associated HTTPS clones and pushes). I don't see a point to covering it last. On the other hand, it would mean you'd need some tweaking if you wanted to drop this section.

p.s. I'd link to line numbers, but that's not possible (holman/ama#305).

@wking wking added Git labels Sep 3, 2014
@jdblischak
Copy link
Contributor

I thought the current wisdom was that we should use HTTPS instead of SSH because it is easier to get setup. I think having the SSH lesson last makes sense because it is supplementary. The main goal of the lesson is to teach the students to version control their code with Git. If an instructor has time at the end to also get everyone setup with SSH keys, that's great. Putting it before the lesson on collaboration would increase the likelihood that that important lesson will not be taught due to time constraints.

@wking
Copy link
Contributor Author

wking commented Sep 5, 2014

On Fri, Sep 05, 2014 at 07:48:51AM -0700, John Blischak wrote:

I thought the current wisdom was that we should use HTTPS instead of
SSH because it is easier to get setup.

Yes, and I agree with that.

I think having the SSH lesson last makes sense because it is supplementary.

If it's supplementary, perhaps it belongs in novice/extras/ instead of
the mainline novice/git?

@jdblischak
Copy link
Contributor

If it's supplementary, perhaps it belongs in novice/extras/ instead of the mainline novice/git?

But it is still quite specific to the novice Git lessons. I think of novice/extras as a place for lessons that clearly do not fit directly with any of the current sections, e.g. a capstone example that combines Shell, Python, and Git. I plan to maintain supplementary R material somewhere in novice/r.

What about just separating it in the index.html? In other words, after the link to the reference sheet, have a list of closely related supplementary lessons.

(I tried replying to this by email, but it didn't seem to work. My apologies in advance if this shows up twice)

@wking
Copy link
Contributor Author

wking commented Sep 5, 2014

On Fri, Sep 05, 2014 at 02:07:16PM -0700, John Blischak wrote:

What about just separating it in the index.html?

Works for me, although I'm still not sure it's worth covering after
you're already done with the password-based HTTPS calls. There are
lots of tweaks that will save users time after the workshop is over,
so why call out SSH in particular? And I don't think it adds anything
that folks can't already read on their own here.

(and email posting doesn't seem to be working for me at the moment either).

@wking
Copy link
Contributor Author

wking commented Sep 6, 2014

On Fri, Sep 05, 2014 at 02:07:16PM -0700, John Blischak wrote:

(I tried replying to this by email, but it didn't seem to work…)

Testing email responses…

@wking
Copy link
Contributor Author

wking commented Sep 6, 2014

On Fri, Sep 05, 2014 at 02:07:16PM -0700, John Blischak wrote:

What about just separating it in the index.html?

Works for me, although I'm still not sure it's worth covering after
you're already done with the password-based HTTPS calls. There are
lots of tweaks that will save users time after the workshop is over,
so why call out SSH in particular? And I don't think it adds anything
that folks can't already read on their own here 1.

@jdblischak
Copy link
Contributor

On Fri, Sep 5, 2014 at 11:28 AM, W. Trevor King [email protected]
wrote:

If it's supplementary, perhaps it belongs in novice/extras/ instead of
the mainline novice/git?

But it is still quite specific to the novice Git lessons. I think of
novice/extras as a place for lessons that clearly do not fit directly with
any of the current sections, e.g. a capstone example that combines Shell,
Python, and Git. I plan to maintain supplementary R material somewhere in
novice/r.

What about just separating it in the index.html? In other words, after the
link to the reference sheet, have a list of closely related supplementary
lessons.

@jdblischak
Copy link
Contributor

It seems that the email replies were just delayed, so I am giving it a
second chance.

On Sat, Sep 6, 2014 at 11:26 AM, W. Trevor King [email protected]
wrote:

On Fri, Sep 05, 2014 at 02:07:16PM -0700, John Blischak wrote:

What about just separating it in the index.html?

Works for me, although I'm still not sure it's worth covering after
you're already done with the password-based HTTPS calls. There are
lots of tweaks that will save users time after the workshop is over,
so why call out SSH in particular? And I don't think it adds anything
that folks can't already read on their own here 1.

And I don't disagree with you. I only spoke up on this post because 1) I
don't want to use SSH in bootcamps and 2) I am curious how other subjects
are dealing with supplementary lesson material that doesn't fit exactly
within the main bootcamp lessons. I'm not sure what the correct answer is,
but I definitely don't think just adding each new lesson to the list in
index.html is the way to go forward (since they are not really linearly
related, as you originally pointed out).

@wking
Copy link
Contributor Author

wking commented Sep 8, 2014

On Mon, Sep 08, 2014 at 09:13:01AM -0700, John Blischak wrote:

I only spoke up on this post because 1) I don't want to use SSH in
bootcamps and 2) I am curious how other subjects are dealing with
supplementary lesson material that doesn't fit exactly within the
main bootcamp lessons.

My preferred approach here is to just have the disagreeing parties
(e.g. the pro- and anti-SSH camps) maintain their own versions of the
lessons. With each lesson in it's own Git branch, it would be easy to
continue collaborating on the content they do agree on (most of it).
Then folks building a workshop repo could just pull in their favorite
flavor. For an example of this in stubbed-out action, see 1.

@jdblischak
Copy link
Contributor

On Mon, Sep 8, 2014 at 11:22 AM, W. Trevor King [email protected]
wrote:

My preferred approach here is to just have the disagreeing parties
(e.g. the pro- and anti-SSH camps) maintain their own versions of the
lessons. With each lesson in it's own Git branch, it would be easy to
continue collaborating on the content they do agree on (most of it).
Then folks building a workshop repo could just pull in their favorite
flavor. For an example of this in stubbed-out action, see 1.

Sure, but it is my understanding that this lesson is not meant to change
the entire bootcamp from HTTPS to SSH. It is just something to point to
learners after the bootcamp. I agree that it is no different than pointing
them to the GitHub documentation.

@wking
Copy link
Contributor Author

wking commented Sep 8, 2014

On Mon, Sep 08, 2014 at 09:27:44AM -0700, John Blischak wrote:

Sure, but it is my understanding that this lesson is not meant to change
the entire bootcamp from HTTPS to SSH.

And my initial argument here was that I don't see a point to that. If
you're going to introduce SSH, you should do it first and convert from
HTTPS to SSH. Avoiding some password-requiring HTTPS can save you
some of the time you loose introducing SSH. Otherwise I just see it
as lost time, for no immediate gain. Summarizing what I see as viable
approaches:

  • Don't mention SSH, and just use HTTPS (this is what we used to do).
  • Don't teach SSH, but point out that it's possible and refer people
    to docs (GitHub's or ours, and if we keep our own, I see it as
    supplementary 1)
  • Do mention SSH, and don't bother with HTTPS (this is my initial
    suggestion here).

I think any of the ways out above are reasonable (and I list them in
my order of personal preference), but I don't think the current “Teach
SSH at the end of the Git lesson, but never use it” makes much
sense.

@wking
Copy link
Contributor Author

wking commented Sep 8, 2014

On Sat, Sep 06, 2014 at 09:28:49AM -0700, John Blischak wrote:

But it is still quite specific to the novice Git lessons. I think of
novice/extras as a place for lessons that clearly do not fit
directly with any of the current sections, …

Heh, and I just saw that there is already a SSH lesson in
novice/extras 1, which we've inherited from the Greg's Bash
(b4b56de, Seeding intermediate material on the bash shell,
2014-01-27). Personally, I think a generic SSH lesson that assumes
knowledge of our intro-Git lesson makes sense. After that we should
just have a “further reading” section pointing folks to GitHub's docs
and Atlassian's docs [2,3]. I really don't see the point in
maintaining two SSH lessons in bc outside of the standard track :p.

@rgaiacs rgaiacs changed the title novice/git: Shift SSH key lesson before collaborative lesson SSH key lesson at novice lesson? Sep 10, 2014
@rgaiacs
Copy link

rgaiacs commented Sep 10, 2014

At the end of http://software-carpentry.org/v5/novice/extras/06-ssh.html we have

We discuss SSH keys in our intermediate lessons.

Maybe moving part of novice/git/05-sshkeys.md inside novice/extras/06-ssh.md and add links at novice/extras/06-ssh.html to GitHub/Atlassian/... docs?

@wking
Copy link
Contributor Author

wking commented Sep 10, 2014

On Tue, Sep 09, 2014 at 06:27:25PM -0700, r-gaia-cs wrote:

Maybe moving part of novice/git/05-sshkeys.md inside
novice/extras/06-ssh.md and add links at
novice/extras/06-ssh.html to GitHub/Atlassian/... docs?

That sounds good to me.

rgaiacs pushed a commit to rgaiacs/bc that referenced this issue Sep 10, 2014
Close swcarpentry#691.

After some discussion about have and where to put the lesson that
cover SSH Key I and @wking agree to move it to
`novice/extras/06-sshkeys.md` and just add a note + links to help
students set up their own SSH Key for the Git host they will be using.
@rgaiacs
Copy link

rgaiacs commented Sep 10, 2014

@jdblischak and @wking When you have time could you take a look at #707?

rgaiacs pushed a commit to rgaiacs/bc that referenced this issue Sep 11, 2014
Close swcarpentry#691.

After some discussion about have and where to put the lesson that
cover SSH Key I and @wking agree to move it to
`novice/extras/06-sshkeys.md` and just add a note + links to help
students set up their own SSH Key for the Git host they will be using.

This commit includes @jdblischak wording about HTTPS vs. SSH.

This commit also avoid non-portable instructions to copy and paste
the public key.
rgaiacs pushed a commit to rgaiacs/bc that referenced this issue Sep 12, 2014
Close swcarpentry#691.

After some discussion about have and where to put the lesson that
cover SSH Key I and @wking agree to move it to
`novice/extras/06-sshkeys.md` and just add a note + links to help
students set up their own SSH Key for the Git host they will be using.

This commit includes @jdblischak and @wking wording about HTTPS vs. SSH.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants