Slide 1

Slide 1 text

Jupyter (IPython): How a notebook is changing science Python and open source as crucial pieces in the transition to better science and engineering Juan Luis Cano Rodríguez — @poliastro_py Windhoek — 2019-02-20

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Who am I? ● Aerospace engineer* ● Self-taught Python programmer ● Pythonic life: – Pybonacci blog about scientific Python in Spanish (a bit abandoned ) ) – Chair of the Python Spain Association and organizer of PyCon Spain – Python developer at Satellogic – Professor of Python for Big Data at IE and BTS business schools – Freelance projects for innovative Aerospace projects (Boeing R&T, Deep Blue Globe) – Personal project: interplanetary trajectory analysis with Python (don’t miss my talk tomorrow)

Slide 5

Slide 5 text

Let's get to the point

Slide 6

Slide 6 text

Russell's teapot

Slide 7

Slide 7 text

Russell's teapot “If I were to suggest that between the Earth and Mars there is a china teapot revolving about the Sun in an elliptical orbit, nobody would be able to disprove my assertion provided I were careful to add that the teapot is too small to be revealed even by our most powerful telescopes.

Slide 8

Slide 8 text

Expectations...

Slide 9

Slide 9 text

...and Reality™

Slide 10

Slide 10 text

Is there a better way?

Slide 11

Slide 11 text

IPython notebook

Slide 12

Slide 12 text

What is this IPython notebook? ● Interactive Python interpreter in the browser ● Open format combining executable code, text and multimedia ● Inspired in Mathematica ● Based on the Python programming language

Slide 13

Slide 13 text

The counter- analysis in a notebook

Slide 14

Slide 14 text

Teaching tool ● Book: Bayesian Methods for Hackers ● Lorena Barba courses: ● AeroPython* ● 12 steps to Navier Stokes ● Practical Numerical Methods with Python ● Harvard CS109 Data Science *Not to be confused with our AeroPython ;)

Slide 15

Slide 15 text

...the rise to fame

Slide 16

Slide 16 text

Some myths → There's no support → Won't be free forever → Free software has bugs

Slide 17

Slide 17 text

Some myths → There's no support Enthought, Continuum Analytics → Won't be free forever → Free software has bugs

Slide 18

Slide 18 text

Some myths → There's no support Enthought, Continuum Analytics → Won't be free forever Free software belongs to the community → Free software has bugs

Slide 19

Slide 19 text

Some myths → There's no support Enthought, Continuum Analytics → Won't be free forever Free software belongs to the community → Free software has bugs Naturally.

Slide 20

Slide 20 text

Can we trust CAS?

Slide 21

Slide 21 text

Moral: Free software has bugs

Slide 22

Slide 22 text

The times they are a-changin'?

Slide 23

Slide 23 text

Some recent events May 7th, 2015: ● GitHub + Jupyter notebooks = <3 https://github.com/blog/1995-github-jupyter-notebooks-3 ● Embracing Jupyter Notebooks at O'Reilly https://beta.oreilly.com/ideas/jupyter-at-oreilly June 8th, 2015: ● Apple open sources Swift http://arstechnica.com/apple/2015/06/apple-open-sources-swift/ (Not to mention Microsoft new philosophy!) ...that scalated quickly!

Slide 24

Slide 24 text

World domination?

Slide 25

Slide 25 text

Ju·py·ter / d u p t r/ ˈdʒu pɪ ʒu pɪ tə ɪ tər/ ər/ noun 1. the future incarnation of IPython. Julia + Python + R

Slide 26

Slide 26 text

Project Jupyter ● Separation of the language-agnostic components – Jupyter: protocol, format, multi-user server – IPython: interactive Python console, Jupyter kernel ● Jupyter kernels = Languages which can be used from the notebook (33 and counting) ● Surprises are coming...

Slide 27

Slide 27 text

¡IMatlab!

Slide 28

Slide 28 text

Don't believe it? Demo time! https://mybinder.org/v2/gh/ipython/ipython-in-depth/master?filepath=binder/Index.ipynb

Slide 29

Slide 29 text

Final remarks ● Jupyter / IPython is a useful tool not only for coding, but for sharing and exploring ● We don't have to throw away previous work in different languages: now we can integrate them ● Open source in general and Jupyter in particular is gaining relevance inside the open science movement, and we must go further

Slide 30

Slide 30 text

No more teapots :) Thank you!

Slide 31

Slide 31 text

Questions? [email protected]