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