-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Define the goals and target audience for this lesson #3
Comments
When I first started using the shell in a bioinformatics context, the most common tasks I performed were text manipulation (grep/sed/awk) and process automation with cron (which would fit in job control). I think having some lessons geared around those topics would be useful in a lot of contexts. |
+1 for job control (including checking how jobs and a server are doing, e.g. |
This is sort of outside the scope of basic shell stuff, but I think it would be useful for many academic scientists if they got a brief primer on distributed computing platforms of some kind. I know there are a bunch out there, but they all tend to obey similar principles, no? For example, our lab has a cluster with the Sun Grid Engine on it. However, nobody uses it because they don't know how. I think a small nudge would give people confidence to give it a shot. Just a thought! |
+1 for Lex's suggestions of screen, simple grep, awk and xargs examples. Rather than heavyweight scheduler operations, which are more in line with materials that would be produced by a local sysadmin, I too would prefer to see a bit of GNU parallel. |
On Tue, Mar 17, 2015 at 08:21:03AM -0700, Lex Nederbragt wrote:
To me these sound like good cantidates for a novice sysadmin lesson I use screen myself, but that's mostly due to |
I think that distributed/parallel/high-performance computing should be a
lesson in its own right. I also think we might finally be ready to do it.
|
A separate sys admin lesson is an interesting idea - and I think it's a |
On Tue, Mar 17, 2015 at 09:56:36AM -0700, Greg Wilson wrote:
Instead of grouping lessons into 6-hour-ish chunks, I'm also ok having |
We do not (yet?) have intermediate shell lesson material. Do we need to consider having both 'shell-extras' and 'intermediate-shell', or should there just be one? And how to separate what goes where if we go for both? |
I think there would be a lot of interest in a parallelisation and HPC set of materials. I like the idea of shell-extras as well as intermediate. If you attend a bootcamp and speed through the lessons, there would be a nice repo of extra exercises and materials for you. |
Just one, I think.
|
(Sorry @gvwilson, you replied as I was typing this up!) I would like to see
Alternatively, we could divide entirely by theme: soup up your shell, sysadmin tricks, advance scripting, parallelization etc. I think another important thing to consider is where/when would these be taught, and to what audience. I like the idea of shell-extras being little stand-alone chunks that someone could insert into a novice swc lesson as desired. |
Let it be clear that my primary interest as far as maintaining/contributing goes would be shell-extras, as defined above. |
@ChristinaLK I like the look of those sections. However, would env variables be more suited to intermediate training rather than extras? They crop often in the other intermediate topics. I'd be happy to contribute (and did in the old repo) to any of the shell materials :) |
I agree with @ChristinaLK regarding the breakdown of where shell should go at this point. There's a variety of addons that we sometimes talk about in live lessons that don't have pages yet (permissions come to mind) that would fit well with -extras. |
On Wed, Mar 18, 2015 at 04:54:53AM -0700, Christina Koch wrote:
I'd rather avoid copy-pasting lesson bits between repositories, since
ssh-novice shell-posix than to try and group those independent parts into a smaller number of
But then which chunks are prerequisites for shell-intermediate? Are |
I'm okay with advanced scripting being independent of job/environment/permissions |
I would say that if you're the target audience for an intermediate-shell lesson, you a) already know the stuff in shell-extras or b) should have learned all the shell-extras content as a prereq (even if it's not directly needed in intermediate, per se). I am loath to split finely simply because that seems to create more administrative overhead AND require more searching for content. |
On Wed, Mar 18, 2015 at 07:06:25PM -0700, Christina Koch wrote:
My gut says “if you can decompose $X into meaningful, distinct pieces, |
One useful lesson/hint/suggestion I made for one of our collaborators recently was a brief explanation of Bash 'here documents'. He was able to go from a construct like:
to
|
Before we go filling it in with new content (#1), I think we should think about who would be taking this lesson, what we want them to learn, and how we'll advertize those goals to the intended audience. Maybe this should be shell-intermediate (meaning “what to take after shell-novice”)? Or shell-multi-host for interactions between hosts (scp, ssh), and shell-posix for the finer details of the POSIX shell and other POSIX-sepecified features (env, alias, job-control, permissions, man).
Personally, I prefer the
shell-{area-you-want-to-learn-about}
approach, so learners/instructors can easily find the material they want. And lesson listings can organize the by-area lessons into serial curricula as they see fit.The text was updated successfully, but these errors were encountered: