Summary of June 2014 Lab Meeting

This post originally appeared on the Software Carpentry website.

At our monthly lab meeting yesterday (June 26), we discussed a wide range of topics (though only about half as much as was on the agenda). Details notes and votes are below; the key points are:

  1. We would like to do what we can to help the careers of people who volunteer for Software Carpentry. In particular, we'd like to find a way to highlight people who have taught lots of bootcamps, contributed lots of material, or both, without discouraging people who haven't, or getting into a situation in which bootcamp hosts ask, "Why aren't you sending your most experienced people to us?" We've opened a GitHub issue for people who'd like to discuss this topic, and we'd be grateful if you could share experiences with other systems and suggestions about what we could do.
  2. We will have a meeting on Thursday, July 3 to discuss plans for the July 22-23 sprint. The time and connection details will be posted here on July 2.
  3. People were either neutral or in favor of switching to Python 3. There was concern about compatibility, but it seems that most scientific packages are now Py3-compatible (and that there are some that only work with Py3, and not with Py2). In practice, this will mean:
    • changing what people have on their machine when they leave the bootcamp, and
    • minor modifications to our lessons (e.g., print as a function).
  4. By default, Mercurial launches a GUI diff/merge tool when there's a conflict rather than displaying a textual diff. Novices seem to find side-by-side merge easier to work with, which raises the question: should we use a graphical tool for diff and merge when teaching Git as well? Again, most people were either neutral or in favor, subject to ease of installation. We'll try this at a couple of workshops in the coming months and report back.
  5. Should we install Matt Davis's ipythonblocks module by default? Nobody was opposed, but it turned out that only a handful of people actually use it in teaching. We'll poll our instructors to find out more about usage before making a final decision.
  6. In order to make it easy for people who want to teach regular expressions to do so, we'll integrate the software that runs (which ironically is down at the time of this writing) into the bc repo so that instructors can create a page in their bootcamp site where learners can play around.
  7. Jonah Duckles has created a pull request that would change the way installation instructions are managed. Instead of editing _includes/setup.html, instructors would add a list of topics to the header of index.html that Jekyll's templating logic would use to control what is and isn't displayed. Most people were in favor, so we'll merge this once the PR is finished.
  8. Many people are still not happy with the way our lesson materials are organized, or with what pre-requisite knowledge we actually expect. We will organize a meeting for next Thursday (July 3) to talk about options, then open a discussion issue on GitHub if we can come up with concrete alternatives.
  9. Raniere Silva has been working over the last few weeks to generate EPUB and PDF from our materials. The goal is to allow anyone who wants to produce book-form notes to do so for use in a regular class, to give to learners after a bootcamp, or for self-study. He's been making good progress, but there are still lots of small problems (particularly with the PDF). We'll be hacking on this at the sprint.


Attendees (Second Round)

  • Greg Wilson (Mozilla, Toronto)
  • Gabriel Devenyi (McMaster, Hamilton, @staticwave_ace)
  • Matt Davis (Synthicity, Berkeley (@jiffyclub))
  • Jeramia Ory (King's College, PA @DrLabRatOry)
  • Jens von der Linden (University of Washington, Seattle)
  • Kwasi Kwakwa (Imperial College London)
  • Xu Fei (New York, NY)
  • Jeremiah Lant (Louisville, Kentucky)
  • Christian Jacobs (Imperial College London, UK)
  • Erika Mudrak (Cornell, Ithaca @ErikaMudrak)
  • Bernhard Konrad (Vancouver, BC)
  • Tim McNamara (Auckland, NZ)
  • Aron Ahmadia (Washington, D.C.)
  • Chris Beitel (UC Davis; Eisen Lab; @datascimed)
  • Ben Marwick (U of Washington, Seattle, @benmarwick)
  • Katy Huff (UCBerkeley)
  • Damien Irving (University of Melbourne, Australia / @DrClimate)
  • Amanda Harlin (Uni of Oklahoma, @amandaharlin)

Attendees (First Round)

  • Raniere Silva (University of Campinas, São Paulo, Brazil
  • Rémi Emonet (University of Saint Étienne, France)
  • Jonah Duckles (University of Oklahoma, Norman, Oklahoma @jduckles)
  • Brian Northan
  • Pauline Barmby, (Western U, London Canada, @PBarmby)
  • Russell Alleen-Willems (Diachronic Design, Seattle, Washington, @DiachronicD)
  • Marios Isaakidis (@misaakidis)
  • Denis Haine (U of Montreal)
  • Ethan White (Utah State University / @ethanwhite)
  • Emily Davenport (University of Chicago)
  • Lex Nederbragt (University of Oslo)
  • Stephen Turner (University of Virginia, @genetics_blog)
  • Karin Lagesen (University of Oslo, @karinlag)
  • François Michonneau (University of Florida, @FrancoisInvert)
  • John Blischak (University of Chicago)
  • Brian Glanz (@openscience, Wash DC today)
  • Dana Bauer (Rackspace, Philadelphia)
  • Azalee Bostroem (Space Telescope Science Institute)
  • Sheila Miguez (Chicago, IL)
  • Abigail Cabunoc (OICR, @abbycabs)
  • Tracy Teal (@tracykteal)
  • Rob Davey (@froggleston - joined late!)
  • Amy Brown (@amyrbrown)



  • Lessons in Python and R on creating packages?
    • /bc/issues/536 (this is OS X commands lack features...)
    • /bc/pull/507
    • Volunteers:
      • I'm happy to give a look at the R packaging lesson (François Michonneau)
      • The R lesson could still use some reviews. Josh is going to respond to the current round of reviews in the next week or so (John Blischak)
      • I could help with this in Python. - jiffyclub
      • I would be happy to help with this in Python - Jeremiah Lant
  • Switch to Python 3?
    • Is it fully science-supporting? (numpy, scipy....)
      • Those ones, yes.
    • Anaconda now supports it
    • "Canopy provides access to Python 2.7.6" - no indication on side of 3.0 support
    • But most code is still written in Python 2.7
    • Integer division is a huge stumbling/exasperation point for novices
    • Votes: 0 +1+10 +1+0-100+1+10000+0.50+1+1+1+1+10000+100
    • Votes for using 3.* syntax but installing 2.7: -1+1+1-1-1+1+1
    • List of incompatible packages? Currently summarized in /bc/issues/107#issuecomment-32144981
  • Add a GUI diff/merge tool to our version control lessons?
  • Install ipythonblocks by default?
    • /bc/issues/486
    • note: it is used in some lessons
    • Votes: +1+1+1+0+1+1-1+1+1+1+1+1+1+1
    • How many people use it: Greg, Karin, Damien, Tracy (sometimes)
    • Volunteers to do the work:
      • Matt Davis
  • Integrate into our lessons for teaching regular expressions
    • See /bc/issues/498
    • Votes: +1 +1 +1+1+1+1+1+1+1+000+1+1+1+10+1
    • Volunteers:
      • Rémi: I could help if needed (and if it is just integration) - I could do something, it is not perfect from a style point of view but it seem to work (see the issue)
      • Matt Davis
  • How to decide on reorg of lesson material?
    • Meeting: +1 +1
    • GitHub issue: +1 +1 +1 +1 +1+1+1+1
    • Mailing list thread:
  • Use templates to control what's displayed in setup instructions
    • /bc/pull/415
    • Votes: +1+1+10+1+10+000+00+1+1+1+10+1+1+1+1+10+10+1
  • Highlight "senior" instructors somehow on the team page?
    • See also /bc/pull/570
    • Suggestions: open a discussion thread - this one's complicated
    • Count option can lead to "Senior" later by defining what that means
  • EPUB version of lesson
    • The majors issues was addressed: /bc/pull/435 Raniere wants green light to merge all the related PR.

July 22-23 Sprint

  • Planning:
  • Meet with hosts/project leaders/anyone else who's interested next Thursday (July 3) to talk details - if you're interested in being part of the meeting, please sign up below
    • Raniere Silva
    • Azalee Bostroem
    • François Michonneau
    • Brian Northan
    • Brian Glanz
    • Chris Beitel
    • Matt Davis
    • Amanda Harlin
    • Damien Irving
    • Tim McNamara
    • Xu Fei
    • Gabriel Devenyi
    • April Wright

Other Business

  • Google Hangouts/Helpouts

Volunteers/Reviewers Wanted (we didn't get to this because time ran out)

  • Bioinformatics capstone example
  • "Starry night" image manipulation using sk.image.novice and ipythonblocks
  • Syndicating data as a way to introduce web programming
  • Creating slides to introduce topics
    • /bc/pull/510
    • Needs work on CSS
    • Needs intro decks for each major topic
    • Hope to record these as "why you care about this lesson" videos
    • See /bc/issues/559
    • Volunteers: Dav Clark, Jacob Levernier
  • Novice lesson on indexing in NumPy
  • Improving our "how do I do X?" instructions
  • Code review lesson + Git branching
  • What are we doing to do about statistics/data analysis/Pandas in Python?
  • Add next/previous navigation links for lessons
  • Medical image processing example
  • Rewriting shell lesson that it only talks about Nelle
  • Version control with Mercurial:
  • Give instructors more credit
    • Make their names more prominent on bootcamp webpages
    • See /bc/pull/570
    • Votes:

Dialogue & Discussion

Comments must follow our Code of Conduct.

Edit this page on Github