[ Submitter's Name ] Derrick Kearney
[ Submitter's Affiliated Organisation ] HUBzero, Purdue University
[ Submitter's Twitter ] @hubzeroplatform
[ Space ] science
[ Format ] hands-on
Description
Scientific simulation tools created in the academy have a reputation for being organically developed and poorly maintained. While factors like matriculation, training, and experience contribute to the state and usability of the software, pieces of the process can be improved by infrastructure that helps enforce good software development practices and encourages the open exchange of ideas. In this learning lab, we will briefly survey available ways of publishing simulation tools on the internet and provide developers with hands on experience building and publishing simulation tools with graphical user interfaces using the HUBzero Platform. Participants will become familiar with how to build powerful simulation tools that can take advantage of shared computing resources that are often out of the reach of normal desktop users, make their applications accessible to people around the world through the web browser, and use the platform to build a community around their science.
Agenda
This 2-3hr session will consist of a mixture of short lectures and hands on exercises that focus on the quick, web browser based, deployment of software written for both the X windows system and Jupyter Notebooks.
Session Outline
Typical development process for academic simulation tools
Types of simulation tools seen in the wild
a. Command line
b. X based - Rappture, KDE, GTK, WxWidgets, Tk,
c. JavaScript based - Jupyter, R Shiny
HUBzero resources for building simulation tools
a. Workspace Introduction hands on
b. Rappture Introduction hands on
c. Source code repository hands on
Building an X windows based simulation
a. Build a Rappture tool hands on
b. Publish an X based simulation tool hands on
Building a Javascript based simulation
a. Build a Jupyter Notebook hands on
b. Publish a Jupyter Notebook on the HUB hands on
Incorporating supercomputing resources.
Conclusion
Participants
This talk is open to people of all abilities. The exercises will include step by step instructions to guide participants. Familiarity with the bash shell scripting language and at least one programming language supported by Jupyter will be helpful. The exercises can be solved alone or in a group. If a large number of participants show up or there is a significant portion of the population with little coding experience, we will encourage participants to work in groups to complete the exercises.
Note: this session is 1 of 3 submitted by the same group. We think that a series of meetups across multiple days will help connect with participants better, create a kind of micro-community and achieve more tangible results by the end of the weekend.
Outcome
After attending this session, users will have accomplished the following:
Built and published an X-Windows based simulation tool
Built and published a Jupyter Notebook
Submitted a job to be run on a supercomputer cluster from their published application.
Understand how infrastructure like source code repositories, ticket systems, and a structured tool publishing process can improve the quality of scientific software being built and encourage the open sourcing of such software.
co-facilitating this one. Part of Open Project Lead program. There is a fireside chat to follow-up (#820), which is a discussion of the landscape of deployment platforms for simulations tools and data.
[ ID ] f849794f-d873-4cb8-b242-95c66fff4ad4
[ Submitter's Name ] Derrick Kearney [ Submitter's Affiliated Organisation ] HUBzero, Purdue University [ Submitter's Twitter ] @hubzeroplatform
[ Space ] science
[ Format ] hands-on
Description
Scientific simulation tools created in the academy have a reputation for being organically developed and poorly maintained. While factors like matriculation, training, and experience contribute to the state and usability of the software, pieces of the process can be improved by infrastructure that helps enforce good software development practices and encourages the open exchange of ideas. In this learning lab, we will briefly survey available ways of publishing simulation tools on the internet and provide developers with hands on experience building and publishing simulation tools with graphical user interfaces using the HUBzero Platform. Participants will become familiar with how to build powerful simulation tools that can take advantage of shared computing resources that are often out of the reach of normal desktop users, make their applications accessible to people around the world through the web browser, and use the platform to build a community around their science.
Agenda
This 2-3hr session will consist of a mixture of short lectures and hands on exercises that focus on the quick, web browser based, deployment of software written for both the X windows system and Jupyter Notebooks.
Session Outline
Participants
This talk is open to people of all abilities. The exercises will include step by step instructions to guide participants. Familiarity with the bash shell scripting language and at least one programming language supported by Jupyter will be helpful. The exercises can be solved alone or in a group. If a large number of participants show up or there is a significant portion of the population with little coding experience, we will encourage participants to work in groups to complete the exercises.
Note: this session is 1 of 3 submitted by the same group. We think that a series of meetups across multiple days will help connect with participants better, create a kind of micro-community and achieve more tangible results by the end of the weekend.
Outcome
After attending this session, users will have accomplished the following: