- date: 2017-07-20
I recently participated in a webinar (July 2017) hosted by Science Gateways Community Institute (which exists to facilitate community sharing of experiences, technologies, and practices at little or no cost!) These are my notes and reactions.
Dave Rosoff introduced me to SageMathCloud in 2014 for solving systems of differential equations, which was my first exposure to IPython notebooks. As I didn’t know TeX then, I struggled tremendously to format my output. I didn’t pry deep into python’s libraries; I mostly stayed in the sage docs.
I was tasked to analyze resonance given different forcing functions for 2nd order linear DEs. At finish, I had a mish-mashed assemblage of sage commands and non-compiling markdown. I couldn’t even plot a collection of functions without manually typing in new the parameters (as opposed to now, where I’d just plot a list of functions indexed by parameter values).
plot([exp(-3*x)*(x^2 + C) for C in [-1..2]], (-0.5, 0.5))
Carol Willing presented a whirlwind tour of Jupyter’s development out of IPython:
For information about IPython prior to 2011, see Perez’s historical ruminations
In 2013, the IPython project started engaging users of Music21 with interactive musicology notebooks.
In 2014, to break down barriers to entry, the IPython project rebranded itself as Project Jupyter (where IPython continued to provide the kernel),
- Andrea Zonca’s blog was instrumental in promoting the project. (He continues to write about high performance computing and to offer Python tips.)
In 2016, the original author of IPython, Fernando Perez, and contributor to the notebook interface, Brian Granger, won substantial funding for development: “to serve users and foster collaboration”.
- Perez cites Richard Hamming’s 1962 observation that “the purpose of computing is insight, not numbers” as historic impetus for IPython notebook and motivation for the current form of the Jupyter notebook (video).
Following, Carol mentioned that Project Jupyter is determined to reach wider audience (not just mathematicians and computer scientists). This bears similarity to SageMathCloud’s rebranding. To increase cross-disciplinary collaboration, Carol emphasized the notebook interface’s strengths in data exploration, visualization, and analysis.
What’s new with Jupyter?
One could look at trending notebooks.
I can compile and share my notebooks with Binder.
- to build github repos into live notebooks with the python kernel
- won’t work for notebooks running on a sagemath kernel
There’s JupyterHub for online collaboration.
In design: Jupyter Lab, and IDE.
diffing and merging Jupyter notebooks with nbdime
assigning and grading notebooks with nbgrader
I am interested in Demba Ba’s Labs in the Wild approach. Demba emphasizes that data manipulation is part of literacy.
[In a notebook] we expect to see data collection, experimental protocol, analysis, use of sophisticated algorithms, etc.
He’s taught a few vertically integrated signal processing courses with wearable i physiological monitors and Jupyter notebooks.
Example project: using wrist accelerator to predict the success of a freethrow.
- Q: Can we set up an algorithm to provide feedback during the freethrow?