Open Science

I'm working on a variety of projects in service of the "open sourcing of science", by which I simply mean enabling everyone in the scientific community to use their own tools and channels (under their control) for publishing; sharing data; teaching and learning etc. My projects are in Python.

Tools for Publishing

  • ReusableText : extends the wonderfully simple reStructuredText standard with metadata tagging of different types of content (e.g. question, answer, etc.) and a new select directive that inserts specified content from such a "database" of tagged content, into whatever output you desire. This makes it easy to "reuse" content (e.g. a textbook with various definitions, explanations and exercises) to produce any desired "remix" in very fine-grained ways (slides for a class, a problem set, an answer key, a reading assignment).
  • ReLaTeX : ReLaTeX takes text from your input latex file and “injects” it into a latex template e.g. a standard latex template for submitting to a specific scientific journal. It's even designed to work with latex output from Sphinx, which gives you a direct channel from reStructured Text to output that you can submit directly to a journal. Click this link for further information and documentation; you can download it here.
  • rst2beamer : I added equation support to this nice tool developed by Paul Agapow, Jarrod Millman. You can get the equation support from my fork of their Git repository (linked above).
  • Gitpublish : Gitpublish lets you treat external publishing channels (e.g. a WordPress or Blogger blog) as being like Git "remote repositories" that you can push your content to -- including automatically converting to the right format for that channel (e.g., for WordPress, a lightweight HTML). It manages these "remote branches" using Git, which means you have the full power of Git for tracking changes, automatically pushing updates to one or many documents in a single step, etc. See the documentation for more information, or click here to download the code. This is actually what I use to push and update all articles on this site.

Tools for Teaching

  • Socraticqs In-Class Question System: allows you to ask students multiple choice or open-response (text & equation answers) questions in a live classroom setting; they answer using their laptop or smartphone web browser. Supports latex equations using MathJax.

Tools for Data Sharing

  • Pygr provides a powerful way for people to be able to access a "virtual namespace" of scientific data, in which all you need to know, to start working with a dataset, is its name. It can both automatically find and access the data. It's also easy to share data that you generate. Look at the tutorials for more information, or view a 2 minute screencast demonstrating how to use it.

New Models for Peer Review

  • Peer review is the gate keeper for all of scientific publishing. I've proposed a new selected-papers network model for opening the peer review process and making it much more responsive to the development of new subfields and interdisciplinary research areas. In effect this is a peer-network model of publishing, instead of the "star topology" model of journal-publishing (in which the journal is the hub through which all communications must pass).
  • I've presented a suggested new model for improved interdisciplinary peer review here.

No comments:

Post a Comment