Tutorials
Tutorials will be online only and conducted virtually in the weeks prior to the conference.
Globus Compute: Managed Compute Across the Computing Continuum
Kyle Chard and Yadu Babuji
This tutorial will focus on teaching modern approaches for running code on diverse, remote computing resources. As hardware continues to become yet more diverse, it is increasingly necessary to be able to effectively make use of remote computing resources. Remote computing alongside parallel and distributed computing is now the “norm” rather than a specialized use case for only a few power users. RSEs are faced with the challenge of easily, securely, and scalably making use of such resources, in applications, workflows, and in building gateways, portals and new services. This tutorial will highlight the changing computing landscape and illustrate methods to more effectively make use of remote computing resources. It will help attendees think about how to decompose applications into smaller computation units and consider possibilities to execute these components in the location in which it is most suited, for example, near data, where specialized resources are available, where environments exist, where allocations are available, etc.
Rapid Prototyping for a Usable React-based Web Application with STRUDEL
Rajshree Deshmukh, Cody O’Donnell, Lavanya Ramakrishnan
This tutorial will be a hands-on introduction to web application development using STRUDEL, an open source project making it easier for RSEs and domain scientists to build usable user interfaces (UIs). Attendees will learn how to go from a UI need, to identifying a Task Flow template, and bootstrapping a React-based web UI using STRUDEL. Attendees will get guided experience with the STRUDEL toolkit which includes modern web development libraries such as React and Material UI Components.
Usable UIs are a critical need for many research projects. STRUDEL enables developers to rapidly prototype usable scientific UIs through a simple template-driven system. The RSE Conference is an ideal venue to introduce these tools because they are designed specifically for scientific projects and target a broad range of people involved in web application development.
Leveraging Django Views and Permissions at Object-Level: The gist of an envisioned solution for managing agricultural datasets
Diego Menéndez and Danying Shao
Web applications are increasingly adopted in the research community, e.g. for data collection, information dissemination and workflow management. Django is a Python-based open-sourced web framework that encourages rapid development by providing an automatic admin interface, built-in views and forms. This Django tutorial is based on a simplified version of a real-life, science-related project, that limits access to datasets only to the research group that collected them. A data owner would be able to supply all necessary metadata and choose an embargo period in which the data only has limited access. The tutorial will guide RSEs to create a web application from scratch and show how to take advantage of Django’s generic views. In addition to Django’s class-level permissions, we will demonstrate an implementation of permissions at the object level using the django-guardian package. Slides accompanying the code will illustrate the project under development with Use Cases as well as a conceptual class diagram and other artifacts.
Research Data Automation with Globus Flows and Globus Compute
Lee Liming and Steve Turoscy
This tutorial equips Research Software Engineers (RSEs) to automate research data processes using Globus Compute and Globus Flows : two parts of the Globus Platform. Globus Compute enables RSEs to securely execute Python functions on remote computers, including campus, cloud, and national-scale systems. Globus Flows provides secure, managed automation of complex workflows. Together, Globus Compute and Flows enable RSEs to construct data processing pipelines that are reliably managed and executed by Globus.
GitHub Actions for Scientific Data Workflows
Valentina Staneva
In this tutorial we will introduce Github Actions to scientific programmers as a tool for lightweight automation of scientific data workflows. We will demonstrate that GitHub Actions are not just a tool for software testing, but can be used in various ways to improve the reproducibility and impact of scientific analysis. Through a sequence of examples, we will demonstrate some of Github Actions’ applications to scientific workflows, such as scheduled deployment of algorithms to public data streams, updating visualizations based on new data, processing large datasets, model versioning, etc. The goal is that participants will leave with their own ideas of how to integrate Github Actions in their own work.
Overview of GIS Open Source Software Ecosystem and Theory
Dennis Milechin
Researchers are finding spatial-analysis as a valuable tool to answer new research questions that were not considered before. This is made possible because many of the open source spatial analysis tools (GIS Software) are getting easier to use and often provide tools to visualize the data in exciting interactive mapping environments. As a Research Software Engineer, providing support and troubleshooting errors associated with these GIS tools is not always easy. When using a search engine to find a solution, one will encounter GIS terminology in documentation and community forums. This terminology will refer to some fundamental aspects of GIS theory or components of GIS libraries/software that is common knowledge among the GIS community. This tutorial aims to provide a stepping stone to acquiring this fundamental GIS knowledge.