swcarpentry / DEPRECATED-bc

DEPRECATED: This repository is now frozen - please see individual lesson repositories.
Other
299 stars 382 forks source link

SSH key lesson at novice lesson? #691

Closed wking closed 10 years ago

wking commented 10 years ago

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/feedback#305).

jdblischak commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

On Fri, Sep 5, 2014 at 11:28 AM, W. Trevor King notifications@github.com 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 commented 10 years ago

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 notifications@github.com 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 commented 10 years ago

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 commented 10 years ago

On Mon, Sep 8, 2014 at 11:22 AM, W. Trevor King notifications@github.com 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 commented 10 years ago

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:

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 commented 10 years ago

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 (b4b56de6, 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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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