Slide 1

Slide 1 text

Lindsey Heagy, UC Berkeley & Project Jupyter

Slide 2

Slide 2 text

you?

Slide 3

Slide 3 text

geophysical inversions open-source software open research & education Jupyter, geoscience + data science +

Slide 4

Slide 4 text

a community of people and an ecosystem of open tools and standards for interactive computing

Slide 5

Slide 5 text

An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures. -- Buckheit and Donoho WaveLab and Reproducible Research, 1995

Slide 6

Slide 6 text

An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures. -- Buckheit and Donoho WaveLab and Reproducible Research, 1995

Slide 7

Slide 7 text

An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures. -- Buckheit and Donoho WaveLab and Reproducible Research, 1995 (and a place to run the code?)

Slide 8

Slide 8 text

live, computational environments, running on the cloud, built from your research repositories

Slide 9

Slide 9 text

origins GitHub + + explicit dependencies + docker kubernetes

Slide 10

Slide 10 text

● creates reproducible containers from repositories (repo2docker) ● generates user sessions that serve these containers (JupyterHub) ● provides an interface to create, share, and use these sessions (BinderHub) ● demonstrates the above as a free public service/tech demo (mybinder.org)

Slide 11

Slide 11 text

(why?) ● in order to collaborate ● to build on the work of others ● for others to build upon your work ● to make revisions to your paper when you hear back from reviewers in 8 months

Slide 12

Slide 12 text

(how?) ● complete set of instructions ● complete development environment ● a place to run the code

Slide 13

Slide 13 text

(how?) ● complete set of instructions ● complete development environment ● a place to run the code

Slide 14

Slide 14 text

open-source languages are the raw material

Slide 15

Slide 15 text

https://stackoverflow.blog/2017/09/06/incredible-growth-python/ https://stackoverflow.blog/2017/10/10/impressive-growth-r/

Slide 16

Slide 16 text

mature ecosystems of tools http://www.focusedsupport.com/blog/getting-setup-with-scientific-python/

Slide 17

Slide 17 text

web-native interfaces for interacting with code

Slide 18

Slide 18 text

capture the steps

Slide 19

Slide 19 text

capture the steps: what is a notebook?

Slide 20

Slide 20 text

maintenance and sharing ● version control ● issue tracking ● licensing ● integrations with ○ testing services ○ documentation hosting ○ ... GitHub GitLab Bitbucket

Slide 21

Slide 21 text

maintenance and sharing https://github.com/binder-examples/r

Slide 22

Slide 22 text

(how?) ● complete set of instructions ● complete development environment ● a place to run the code

Slide 23

Slide 23 text

repo2docker deterministically build a docker image from a repository with documented dependencies

Slide 24

Slide 24 text

define dependencies following community standards of practice

Slide 25

Slide 25 text

repo2docker dependencies repo2docker container file

Slide 26

Slide 26 text

define dependencies https://github.com/binder-examples/r

Slide 27

Slide 27 text

(how?) ● complete set of instructions ● complete development environment ● a place to run the code

Slide 28

Slide 28 text

binder: computational environments on the cloud

Slide 29

Slide 29 text

binder! binder repo2docker JupyterHub (next talk!)

Slide 30

Slide 30 text

mybinder.org

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

Detection problem: ● ~ 1/1000 proton over 4 km. ● Sensitivity ~ 1e-21 ● Milky Way: 1e+21m across!

Slide 34

Slide 34 text

( ) https://www.gw-openscience.org/tutorials/ https://github.com/binder-examples/r

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

try out binder: mybinder.org connect with the community: discourse.jupyter.org