Title here: a Notebook-based talk

With a great subtitle!

[ipython.org](http://ipython.org)

Fernando Pérez

[fperez.org](http://fperez.org), [@fperez_org](http://twitter.com/fperez_org)

U.C. Berkeley

How to use this to write slideshows...

Installation check

First, this presumes you've already read and executed once the accompanying install-support notebook, which should install the necessary tools for you, and you restarted your notebook server. If everything went well, right now your toolbar should look like this, with a new button highlighted here in red:

img

That new button is the toggle to enter live slideshow mode, which you can use to switch between the normal editing mode (with the whole notebook as one long scrolling document) and the presentation mode.

Loading the CSS

All the CSS is kept in a file called style.css, and it's loaded, along with a few handy utilities, by the talktools.py script. Simply run it once to load everything, or if you make any tweaks to the CSS:

In [30]:
# I keep this as a cell in my title slide so I can rerun 
# it easily if I make changes, but it's low enough it won't
# be visible in presentation mode.
%run talktools
In [27]:
website('nbviewer.ipython.org', 'Notebook Viewer - nbviewer')
Out[27]:

IPython.parallel

  • Cluster: one controller (master), N dynamic engines (slaves). $N \lesssim 300$.
  • Accessed by users via dynamic proxy: parallel.Client.
  • A Client creates as many views as desired by user:
    • DirectView: SPMD.
    • LoadBalancedView: automatic task distribution.
    • Blocking and async APIs.
    • Direct put and get (and scatter/gather).
    • Views can span arbitrary subgroups of the cluster.
    • Multiple views coexist simultaneously.
  • One-sided communication model.
  • Happy coexistence with MPI.
  • All comms with ØMQ, in C++, no GIL, zero-copy when possible.

Lessons in building a community

A delicate balancing act

  • Individual leadership and sense of ownership vs turf wars.
  • Clear project vision vs. broad engagement of a community with many ideas.

Disagreement: highly reactive fuel

  • Can power creativity or spectacularly blow up.
  • Patience, trust, generosity and respect.
  • Make calls and live with the mistakes without recrimination.

The rules apply to everyone, starting with me

  • Even if they slow me down!