Adding interactivity to Jupyter Notebooks and web apps is a way to bring life to class materials and research reports.
Interactivity invites users to explore parameters and change the outcome of a code making the user participant of the discovery rather than a passive receptor of fixed knowledge.
The tools presented in this workshop offer this interactivity. We have selected four applications, these applications have matured and can be used to create materials for classes, real-time dashboards, data explorers, model demos, and sophisticated workflow apps.
The first two packages create interactive widgets, either for web applications as well as Jupyter Notebooks.
Shiny for Python give you the tools to create web applications directly from Python. Jupyter Widgets is a package to add interactive widgets to Jupyter Notebooks.
The other two tools are for interactive visualization. PyVista allows you to interact with spatial-data visualizations. Pymunk is a 2D physics library that can be used to simulate 2D rigid body physics.
These four packages are just a small selection of a wider set of packages that can help you introduce interactivity to the classroom and help you with data exploration and visualization.
Who:
The course is aimed at graduate students and other researchers.
You don't need to have any previous knowledge of the tools
that will be presented at the workshop.
Requirements:
Participants must bring a laptop with a
Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on.
They should have a few specific software packages installed (listed below).
Accessibility:
We are committed to making this workshop
accessible to everybody. For workshops at a physical location, the workshop organizers have checked that:
The room is wheelchair / scooter accessible.
Accessible restrooms are available.
Materials will be provided in advance of the workshop and
large-print handouts are available if needed by notifying the
organizers in advance. If we can help making learning easier for
you (e.g. sign-language interpreters, lactation facilities) please
get in touch (using contact details below) and we will
attempt to provide them.
Roles:
To learn more about the roles at the workshop (who will be doing what),
refer to our Workshop FAQ.
Code of Conduct
Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.
Surveys
Please be sure to complete these surveys before and after the workshop.
There are two ways of today accessing WVU's HPC Clusters: A secure remote shell (SSH) and via a Web Browser using the web application Open On-Demand.
The most common way of accessing a High-Performance Computing (HPC) cluster is via a secure remote shell.
A remote shell allows you to execute commands on another machine same as you do sitting in front of it. A remote shell is convenient because it also allows other people to do the same, so you get access to a resource being utilized by several users at the same time.
All that you need on your computer is a terminal emulator and an SSH client.
A terminal emulator is a program that mimics the behavior of old dumb terminals from a few decades ago. An SSH client is a program on your computer that allows you to connect to the SSH server from another computer. In the old times (the 80s), people used to create a remote shell using Telnet. SSH provides a secure channel over an unsecured network such as the Internet. SSH offers similar capabilities to Telnet but adds encryption, so all data sent and received between your computer and the remote host is encrypted in such a way that only your computer and the remote computer can see the data. If you want to know more about Secure Shell see it at Wikipedia. Currently (2023) WVU has two clusters for HPC, Thorny Flat for general HPC applications, and Dolly Sods, a specialized HPC cluster for GPU intense processing. You can access them using SSH.
Regardless of which Operating System you use, there is always a way of having the terminal emulator and SSH client that you need to connect to an HPC cluster.
Both Linux and macOS include an SSH client by default. In this case, all that you have to do is open a terminal. On macOS the terminal is located in the Utilities folder inside your Applications folder. On Linux, the terminal is so central that most Linux distributions create an icon directly from the desktop.
On Windows machines, you need to install an external application. One option in Windows is a free application called PuTTY. PuTTY offers a simple SSH client that is enough for this lesson. Another option is MobaXTerm which offers a full-featured SSH client plus the ability to open X11 windows from the remote machine.
Using PuTTY
Using MobaXterm
More recently there are also options to get access to a terminal and SSH clients using Microsoft products. One option is to install Visual Studio Code.
Instructions to add an SSH client to VSC can be found here and here. Visual Studio Code will give you not only access to remote access to a file manager.
Another alternative is using the Windows Subsystem for Linux (WSL). WSL will allow you to run a full Linux OS inside Windows with all the commands that you will encounter on a typical Linux machine. With the latest version of WSL 2 and the development version of Windows 10, you can even run GUI applications from inside Windows alongside other Windows applications. You can see the files from your Windows machine. Running and completing Linux OS inside Windows will give you access not only to SSH client and terminal but also to the commands that you will learn during this lesson as you will do from a Native Linux machine. Instructions about installing and configuring WSL can be found here
On MacOS the terminal is located in your "Applications" under "Utilities".
An SSH client is also integrated by default with the OS.
Follow the steps below to connect to the gateway ``ssh.wvu.edu`` and to the HPC cluster.
On any Linux distribution, a Terminal is a central part of the Operating System even for desktop usage.
An SSH is also part of a default installation.
There is usually no need to install anything.
Follow the steps below to connect to the gateway ``ssh.wvu.edu`` and to the HPC cluster.
Open On-Demand is a way to access a HPC cluster from a Web Browser. You can connect to Thorny Flat using the URL https://ondemand-tf.hpc.wvu.edu
:
Connecting to Thorny Flat
Connecting to the HPC Cluster Thorny Flat is a two-step process.
First, use your SSH client to connect to ssh.wvu.edu like this::
ssh <username>@ssh.wvu.edu
Enter your DUO authentication and execute this command on the Gateway node.
ssh tf.hpc.wvu.edu
Once you enter the system, you can start typing commands. You can open several connections simultaneously. Each connection is independent of the other and you have to authenticate on each new terminal.