Thinking with Computation

“The purpose of computation is insight, not numbers.”  Hamming, 1962.

Fernando Perez, one of the creators of the Jupyter Notebook, began his talk at the Brown Institute Thursday with this quote from Richard Hamming’s book on algorithms. Fernando, or at least Jupyter, will be familiar to students in the Journalism School who have taken any of our computational classes, whether in the Lede Program or the Dual Degree with Computer Science.

Fernando said he took inspiration from Hamming, and that the design of Jupyter “is not for software engineering, but for thinking about a problem with computation.” In my own classes, Jupyter is a kind of reporter’s notebook for the computational journalist, stretching the definition of an investigation to the virtual realm of data, code and algorithms — with Jupyter, students explore both reporting with as well as on computation.

While Fernando did cover the technical decisions that have led to Jupyter’s success — from a formal protocol to perform computations interactively, to the notebook’s representation as a JSON object — much of his talk was really about the philosophy and ethics of responsible software development. He stressed, for example, the importance of the communities of practice that have formed to support Jupyter, and made a strong argument for building things openly and collaboratively.

But this ideal is not without complications. He argued that inclusivity was the key to Jupyter’s sustainability, and that professionalization of the community’s core functions — R&D, outreach and fundraising — was key. “The alternative to professionalization, the reliance on volunteers, excludes those who can’t afford to volunteer,” he said.

Fernando also alluded to tensions with academia. While projects like Jupyter have deep ties to universities there is a “fundamental conflict with the academic incentive model.” I know this firsthand in my own field of statistics. For many years, building a platform like Jupyter was seen as secondary to the real work of proving theorems or publishing journal articles — there was no standard way to transform software development into a countable bean at tenure time.

I had forgotten the quote that Fernando started with, so I went back to Hamming’s 1962 textbook to pull the full passage from the first chapter:

To cite the motto of the book, The Purpose of Computation Is Insight, Not Numbers. This motto is often thought to mean the numbers from a computing machine should be read and used, but there is much more to the motto. The choice of the particular formula, or algorithm, influences not only the computing but also how we are to understand the results when they are obtained… Thus computing is, or at least should be, intimately bound up with both the source of the problem and the use that is going to be made of the answers — it is not a step to be taken in isolation from reality.

Computational and Data Journalists make a career of examining that step, bringing reality to the abstractions of data, code and algorithms. And platforms like Jupyter help reporters express important questions about systems of power that build up in entirely virtual spaces.

Fernando Perez was the last speaker in the Distinguished Lecture Series in Computational Innovation that took place every second Thursday of the month in the Brown Institute. See our Events listings for the full set of talks. Featured image courtesy of @ColumbiaDS.