Introduction

Welcome to the first workshop of our 2021 Summer School. This workshop is composed of a two hour monring sessions and four hour afternoon session

  • May 25: 10:00-12:00 and 13:00-17:00

and these sessions are broken down into a series of short live demos followed by exercises. Feel free to follow along on the demos. The exercises will be done individually in smaller breakout groups with staff member to answer any questions.

Each part builds on the previous parts, so it is best to attend the entire thing from start to end. While we are starting assuming no prior knowledge of the command line, we will go quite far, so do not be off put if things seem pretty basic at the start.

Our training website https://training.sharcnet.ca has links to a readable version of today’s presentation in web, pdf, and epub format. You do not have to worry about taking notes or falling behind.

Etiquette, Zoom, and Slack

Before getting started, we would like to introduce you to the online platform Zoom and discuss the online etiquette that we expect throughout the workshop.

First I would like to ask everyone to mute their microphone. You can do this by click the microphone icon. The microphone icon is in the far left of the menu that pops up on the bottom of the zoom window when you move your mouse on it. You know your microphone is muted when you see a red slash through the microphone icon.

Zoom Menu

It is good etiquette to leave your microphone off unless you are speaking as otherwise everyone will hear the background noise from your space, and we will be forced to mute you, which is something you cannot undo. If you want, you can also turn off your video by clicking the video camera icon to the immediate right of the microphone icon.

On the subject of ediquette, we want to maximize learning in these sessions by creating a welcoming and supportive environment for everyone regardless of background, identity, or knowledge level . Please be mindful to not engage in any behavior that is going to diminish the experience for any of the participants or the instructors.

One of the options in the bottom menu bar of the zoom window when you move your mouse over it is the people icon labeled Participants. Clicking this gives you a list of all the meeting participants. If you move the mouse over yourself, you will see you that a rename button appears. Please rename yourself if your current name does not reflect who you are.

At the top of the participants list are staff members. There is myself, Tyson. I have Instructor after my name as I am teaching today’s session. Joining me are several of my colleagues, all of whom have Assistant after their names. There is James, who will be teaching tomorrow’s session, Jinhui, Jose, and Tyler, who have volunteered to help, and Paul and Sergey who are taking care of the backed. Feel free to reach out to any of the assistants at any point during the presentation with your questions or issues. All of us are HPC Analysts with SHARCNET, and together we represent a fairly formidable coverage of scientific disciplines.

Zoom Chat and Participants Windows

There are yes, no, go slower, and go faster buttons at the bottom of the participants window. An online workshop like this one lack the face-to-face feedback that we usually rely on to pace ourselves, we need you to use these buttons during the course to give us feedback. In fact, lets try it now. Click the yes button if you are on the participants lists and are following along.

While Zoom has a chat feature (shown above, and available by clicking the chat bubble icon labeled Chat on the bottom menu bar), this year we have decided to use slack instead. It is more fully featured and extends beyond the limits of this presentation. To join the sharcnetsummerschool slack workspace, you need to click the Link to join SHARCNET Summer School 2021 Slack link under the Slack subsection of the 2021SS Common Area on the our training website https://training.sharcnet.ca. Subsequently you can just go directly to https://sharcnetsummerschool.slack.com.

Course Slack Website

After joining the sharcnetsummerschool slack workplace, click on the course_intro channel on the left-hand side. You can post your questions and comments in here. We will respond back. Feel free to also answer and comment on others questions keeping our etiquette principles in mind. When responding back to others, use the reply in thread option that pops up when you hover your mouse over their comment, as show above. This prevents a lot of back and forth from overcluttering the channel and making things hard for other to follow.

Exercises

The final item I would like to introduce you to is breakout rooms. Throughout the workshop, we are going to have exercises. For these exercises we are going to split the class into small groups with a staff member in each group. Lets do that now so everyone gets a chance to see what this is like.

  1. In a few moments, your computer should prompt you to join a breakout room. Please join the breakout room (click the button on the window that pops up) and introduce yourself to the other members of your breakout room (what is your discipline and what are you hoping to get from the workshop)

I will close the breakout rooms and bringing everyone back to main room in a couple of minutes.

Motivation

In this workshop we are going to take you over the basics of using Canada’s HPC resources to get your work done.

That is, we are going to teach you the old school way of running your programs and processing your data with your keyboard and commands and not your mouse and buttons. In the process, we hope that you will discover that they keyboard and commands, far from being archaic, are actually very will suited for automation and keep track of what you have done to repeat it or communicate it to others in the future.

As a small example, say we had collected 100 .data files in the Example folder and wanted to prefix them with today’s date. This would be a long tedious point and click session using a GUI

GUI Rename Pain

Using the command line though, it would only be four simple lines and complete in less than a second

today=$(date +%Y-%M%-d)
for file in *.data; do
  mv $file $today-$file
done

It would also be trivial to save these lines in a file for future reference, share with a colleague, or incorporate them into a bigger set of commands to do more complex operations on the files. This last point is key. The command line composes. You can combine small bits into big bits, and big bits into bigger bits. This is extremely powerful. GUIs do not compose.