How to Get Involved in Software Carpentry this Week
- Register for a live three-day version of our instructor training course in Toronto
- Join the lesson reorganization discussion
- Open an issue for something that’s been bothering you
- Participate in the discussion on metadata tags
- Write some software
Recently Announced Bootcamps
- University of New Brunswick
- Mozilla Toronto
- University of Rhode Island
- University of Technology, Sydney
- University of New South Wales
In a post on why to attend bootcamps, Damien Irving describes in detail the difference in practices between Nigel Nobootcamp and Betty Bootcamp. Some advanced scientific workflow notes from the post:
- The data that Betty collects are stored in an open access repository called Dryad as soon as they’re collected, and given their own DOI.
- She creates a new version control repository on GitHub to hold her work.
- As she does her analysis, she tracks changes to her scripts (and some output files) within that repository. She also uses the repository for her paper; it’s then the hub for collaboration with her colleagues.
- With respect to data analysis, Betty regularly attends her nearest SciPy conference and is on the mailing lists of her favourite data analysis packages. She is also using best practices like unit testing and defensive programming, which give her confidence that her results are reliable.
- When she’s happy with the state of her paper, she posts a version to a preprint server called arXiv to invite feedback from peers.
- Based on that feedback, she posts several revisions before finally submitting her paper to a journal.
- The published paper includes links to her preprint and to her code and data repositories.
In a story describing his recent paper, Joshua Ryan Smith narrates his own use of Software Carpentry best practices for other aspiring digital scientists. Joshua highlights several of the key components of the Software Carpentry workflow that made his paper in the Journal of Applied Physics on increasing the efficiency of a thermionic engine a success. He highlights the use of open source technologies, makefiles, version control, and documentation in both writing his software and increasing the impact of his research.
Greg Wilson also wrote a short post explaining how to approach potential bootcamp hosts. Head on over to for some guidelines and a sample email.
We had contributions from 5 authors this week, with 51 commits pushed to the gh-pages and master branches. On gh-pages, 82 files have changed and there have been ~3.7k line modifications across 15 merged pull requests. Half a dozen instructors have been working steadily on the new master branch, where reorganized lesson development will be taking place through early 2014. We will freezing material development in gh-pages this week, so please start submitting pull requests against the master branch. I will be tagging the repository in gh-pages with 2014.11 at the end of the month, so please join the effort in merging all open pull requests against this branch before we move our efforts to master.
Thanks to Will Trimble, who has been continuing to lead efforts on readying the material in gh-pages for the November release tag, and has written and helped merge in several pull requests to the branch this week.
New Lesson Planning
We are continuing to discuss, plan, and design new and reorganized lessons in the master branch. Greg Wilson has been leading beginner lesson development while Ethan White has been focusing on intermediate lessons. Jennifer Bryan, Karthik Ram, John Blischak, and Gavin Simpson have been discussing the development of Software Carpentry’s R material in Issue 124. Jenny has posted an excellent summary of John Blischak’s original proposal and conclusions from the subsequent discussion here.
Automated Rendering of IPython Notebooks
In an effort to reduce our redundant material, especially targeting Python, we are switching to generating HTML from IPython Notebook files in the master branch instead of relying on redundant HTML or Markdown content checked into maintained branches in Pull Request 166. Please participate in this pull request if you are interested in using and pre-rendering IPython Notebooks for lesson content.