Welcome

I am a researcher at the CNRS (Centre National de la Recherche Scientifique). I work at the Centre de Biophysique Moléculaire in Orléans and as an associate researcher at the Synchrotron SOLEIL.

Research interests

My two main current fields of research are

  • The structure and dynamics of proteins, using molecular simulation and statistical physics. Much of my work is method development, in particular in the field of Elastic Network Models.
  • The methodology and epistemology of computational science, in particular concerning reproducibility and digital scientific notations in the context of Open Science.

Research manifesto

I am a researcher, not a knowledge producer. I seek insight, not impact. I work towards progress, not innovation.

Progress requires investigating how technology changes the human and the more-than-human world. New isn't automatically better, and better for some doesn't imply better for all.

With software eating the world, scientists must struggle to maintain the "tension between doing and doubting" (a phrase from Sherry Turkle's book Simulation and its discontents), against the siren song of computing technology that says "do more, do faster". Computers are increasingly providing us with answers that cannot be questioned.

Research requires convivial tools, i.e. tools that researchers can inspect, understand, verify, and adapt to their needs. The best foundation for such tools is boring technology, i.e. mature technology whose good and bad aspects are thoroughly understood. Tech churn destroys conviviality.

Publications

My most up-to-date publication list is available from HAL, which also has the full text of my recent publications (preprints or final, depending on the journal).

For less structured and totally non-peer-reviewed thoughts on various topics concerning today's scientific research, see my digital garden on Science in the digital era.

Editorial activity

I am a member of the editorial board of the IEEE magazine Computing in Science and Engineering, where I am in charge of the Scientific Programming department.

I am also one of the editors-in-chief of ReScience, an on-line journal dedicated to publishing replications of previously published computational studies.

Teaching

Most of my teaching is about scientific computing and centered around Open Science and Reproducible Research. This is in particular the topic of an introductory-level MOOC and an advanced MOOC that I have been working on with colleagues over several years.

Software development

As a method developer I do a lot of software development for my research, and I make all of this software available as Open Source code. I was one of the first scientists to adopt the Python language in 1994, with the goal of making scientific software more convivial (although I didn't know the term back then). Most of my software is written in Python. However, with the onset of tech churn in the scientific Python ecosystem after the transition to Python 3, I no longer consider Python an appropriate choice for scientific research. Tech churn destroys conviviality.

In 1996, I was a founding member of the Matrix-SIG that created Numerical Python, the predecessor to today's NumPy. In 1997 I published ScientificPython, one of the first Python libraries for scientific computing (and unrelated to the younger SciPy library).

My most widely used software is the Molecular Modelling Toolkit, a Python library for molecular simulations, first published in 1997. It is used mainly by scientists developing new simulation and analysis methods, but also for developing end-user applications. If you use Chimera or nMOLDYN, to name but two examples, you are also using MMTK, perhaps without being aware of it.

ActivePapers was an attempt to provide an infrastructure for publishing reproducible computations. It failed because of the excessive tech churn in the scientific Python ecosystem on which it depended. No piece of software can be more stable than the infrastructure that it depends on.

MOSAIC is a data model for (bio)molecular simulation, with a reference implementation in Python. I have used it together with ActivePapers for publishing datasets, As far as I know, nobody else has ever adopted it. Biomolecular simulation data still uses the PDB data model, even when it's not appropriate, or the proprietary and badly documented data models of popular simulation software.

As a step towards making computational science more convivial, I have been working on a digital scientific notation called Leibniz. Ultimately, I hope it will permit writing down computational models as entities distinct from any software that implements them. Such explicitly represented models can be analyzed, compared, and discussed in the scientific literature, and also become part of formal specifications for scientific software.

My most recent project is a moldable inspector for computational science, written in Common Lisp (which is boring technology). It is an experiment aiming to improve on computational notebooks as a medium for documenting, sharing, and exploring data, models, and code. Again with the goal of making computational science more convivial.