[IPython-dev] IPython Notebooks, dissertations, and scholarly publication

Gabriel Becker gmbecker at ucdavis.edu
Thu Oct 17 18:03:01 EDT 2013


Disclaimer: I'm not on the IPython core team and I don't claim to represent
the views of the team or any particular member therein. I am, however,
doing my thesis on systems for creating, processing, and displaying
documents which capture and convey the research process for data analytic
research, so I've thought about this topic a bit.

The concept of executable journal articles and repeatability (I use this
term instead of "reproducibility" for a very specific reason which I will
get to later length permitting) in "in silico" research is an exciting one
which has been getting a good amount of attention lately [1] [2]

IPython has quite a bit of potential in this arena but IMO more as a
submission format and downloadable form for papers rather than the default
viewing mechanism for them. One reason that I say this is that while the
availability of the exact code used to run the analysis described in a
paper is *extremely* important, in many contexts its actually pretty
detrimental for every single line of code to appear in an article as it is
being read (this does not include some situations where the intended
purpose is to teach coding or which require full display of the code for
other reasons).

nbconvert gives us a way around this by allowing us to generate a concise
static view containing only the text and code we actually want to show (ie
an article pdf/HTML page), but we lose the interactivity. Furthermore, if
we want to distribute the ipynb and allow people to run it then generate
the static article view themselves (we do), we need to distribute the
nbconvert filter as well, which loses us the "everything contained in a
single file" benefit.

The paradigm wherein documents are used to *generate* articles rather than
*being* the articles themselves is actually an extremely powerful one. It
allows us to, potentially, move beyond the ability to regenerate
*results*(repeatability) towards being able to reproduce
*research* (reproducibility). To quote  AJ Rossini from an embarassingly
long time ago [3]

The resulting document should provide a clear description of the paths
taken during the analyses to produce the working dataset, descriptive,
exploratory, and con firmatory analyses. This should describe results and
lessons learned, both substantiative and for statistical practice, as well
as *a means to reproduce all steps, even those not used in a
concise**reconstruction, which were taken in the analysis

(emphasis mine).

That, however, is a discussion for another time (and has to a large extent
already happened on this list with respect to IPython specifically).

Getting back to the more immediate subject, I think its great that you're
thinking of having your thesis be a notebook. I think there are a large
number of benefits to doing so even if you end up needing to use nbconvert
to generate a concise "readable" version for publication or submission to
your committee.


[1] http://www.executablepapers.com/


[3] http://www.r-project.org/conferences/DSC-2001/Proceedings/Rossini.pdf

On Thu, Oct 17, 2013 at 1:55 PM, mcburton <mcburton at gmail.com> wrote:

> Hello,
> I am on a panel discussion tomorrow morning talking about "digital
> dissertations" (broadly construed) and I was going to bring up the IPython
> Notebook as not only a platform for interactive computing, but the Notebook
> specifically as an emerging genre of scholarship in and of itself.
> We have already seen published Notebooks being used for teaching
> programming[1], as supplementary materials for a book[2], and even as a
> platform for the book itself[3]. I  toying with ways to similarly integrate
> the notebook into my dissertation (most likely as supplementary material on
> Github due to institutional formatting constraints). But it would be
> interesting to ruminate about the possibility of submitting a Notebook (or
> set of Notebooks) to my committee.
> I was wondering if there is anyone on this list who has similarly
> explored, if only in your imagination, the IPython Notebook as a platform
> for dissertations or, to be even more provocative, as a platform for
> scholarly publishing more generally[4]?
> I've been spreading the IPython Notebook gospel in various conversations
> about new modes scholarly communication/publishing and people get very
> excited. I'd love to hear what folks on ipython-dev think.
> --
> mcb
> [1]
> http://peak5390.wordpress.com/2013/09/22/how-ipython-notebook-and-github-have-changed-the-way-i-teach-python/
> [2] https://github.com/ptwobrussell/Mining-the-Social-Web-2nd-Edition
> [3]
> http://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/
> [4]
> https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks#-reproducible-academic-publications
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

Gabriel Becker
Graduate Student
Statistics Department
University of California, Davis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20131017/2795b740/attachment.html>

More information about the IPython-dev mailing list