Isaac I. Ullah, PhD bio photo

Isaac I. Ullah, PhD

Email Twitter Facebook Google+ Flickr Github Zotero Stackoverflow

Just returning from the 2015 SAA conference in San Francisco. Attended several interesting sessions featuring digital technologies applications in archaeology. Among these was a symposium entitled, “OPEN METHODS IN ARCHAEOLOGY: HOW TO ENCOURAGE REPRODUCIBLE RESEARCH AS THE DEFAULT PRACTICE”. With the recent explosion of the usage of digital data and methods in archaeology, there comes a new set of responsibilities and opportunities to maintain/promote transparency, reproducibility, fairness, and equality in the way we do archaeology. The presenters in the symposium shared several examples for how to do this, beyond the “typical” calls for using FOSS software. One of the more interesting take-home messages was the idea of “scripting” statistical analyses (e.g., in R markdown, so that the entire process of archaeological analysis is preserved. These “scripts” can then be archived here on github, or, even better, at figshare, so that they are accessible, citeable, and inter-linkable to the resultant publications and the original data (figshare will give your content a persistent DOI number). In fact, the archiving of digital methods (either statistical, as above, or computational ) was a main topic. These parallel the movement to archive digital data (i.e., tDAR, Open Context, etc.) and open access publishing, and hopefully will provide the link between the two, which is currently missing in the realm of digital archaeology. For those of us who already script most analysese, this is a fairly painless proposal. If you are not already using an analysis package that allows for easy scripting (R, SciPy, etc.), then you might have to work a little hard (e.g., typing out the steps of the workflow in a separate document). If the idea of “programming” your statistical analyses seems daunting (it really isn’t!), then a potential “baby step” is to use a graphical programing approach, like that used in the really nice KNIME package. Graphical programming allows users who are more comfortable in a GUI environment to create scripts “graphically” by joining widgets together into workflows in a graphical environment. These are directly equivalent to text-based scripts as used in R, MatLab, SciPy, etc., and could be archived for reproducibility in the same way.