MozillaFoundation / mozfest-program-2016

Mozilla Festival proposals for 2016
https://mozillafestival.org
67 stars 13 forks source link

Build and Share a Scientific Simulation Tool #415

Open mozfest-bot opened 8 years ago

mozfest-bot commented 8 years ago

[ 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

  1. Typical development process for academic simulation tools
  2. 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
  3. HUBzero resources for building simulation tools a. Workspace Introduction hands on b. Rappture Introduction hands on c. Source code repository hands on
  4. Building an X windows based simulation a. Build a Rappture tool hands on b. Publish an X based simulation tool hands on
  5. Building a Javascript based simulation a. Build a Jupyter Notebook hands on b. Publish a Jupyter Notebook on the HUB hands on
  6. Incorporating supercomputing resources.
  7. 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:

  1. Built and published an X-Windows based simulation tool
  2. Built and published a Jupyter Notebook
  3. Submitted a job to be run on a supercomputer cluster from their published application.
  4. 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.
snowwitje commented 8 years ago

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.