Software Carpentry

Helping scientists make better software since 1997

Archive for December 2008

Time to Freshen It Up

I tell the students in my software engineering classes that the absolute value of code coverage in testing isn’t as important as the trend: if you’re testing a smaller percentage of your software as time goes by, you’re headed for trouble. The same is true of site stats: I don’t care much about the absolute number of visitors, but if the curve is down and to the right, it’s time to give the site a polish, or retire it.

Which brings us to this year’s stats for Software Carpentry:

Software Carpentry Site Usage Statistics 2008

Looking at visits (upper right), things aren’t too bad.  Looking at pages, files, and hits (on the left), it’s clear the web is losing interest.  And looking at the total downloads (bottom right), I’m just confused: we didn’t do any major surgery on the site, or retire any heavyweight content, so I don’t understand why traffic weight would be cut by two thirds.

So that’s another of my New Year’s resolutions for 2009  that will be a repeat of one made in 2008: give the site a makeover. If you have 50-100 hours of quality time to donate to help, please let me know…


Written by Greg Wilson

2008/12/31 at 07:09

Posted in Lectures, Version 3

Things I’d Like To Finish In the Next 489 Days

One of the things I teach my students is that the real purpose of a schedule is to tell you when to start cutting corners and dropping features. The ticker on my web site tells me I have 489 days left in my contract with the university; I signed up hoping to study ways of teaching second-stage novices [1] how to be better programmers, but after four failed attempts to get NSERC funding [2], it’s time to lower my sights. Here are the things I’d like to finish off before my stint at U of T is over:

  1. Help Samira Abdi, Jeremy Handcock, and Carolyn MacLeod finish their Master’s theses, and get Aran Donohue, Alecia Fowler, Alicia Grubb, Zachary Kincaid, Jason Montojo, and Rory Tulk through theirs.
  2. Publish Practical Programming (the “CS-1 in Python” book that Jennifer Campbell, Paul Gries, Jason Montojo, and I have been writing). It’s currently in beta, and due for release in a month or so; we’d like to do a Python 3 update in a year or so, but that’s likely to slip.
  3. Finish the study of how scientists actually use computers. Data from the initial survey is now being processed; we’ll put together a follow-up survey in the next couple of months, write a “popular science” paper for American Scientist in the spring, present results at the SECSE workshop in Vancouver in May, and submit a paper by year’s end.
  4. Co-edit a special issue of Computing in Science & Engineering on “Software Engineering and Computational Science”. Andy Lumsdaine and I have four articles lined up, and are looking for two more—if you’d like to volunteer, please give me a shout.
  5. Submit a proposal for a professional master’s degree in Computer Science to U of T’s School of Graduate Studies. This is mostly a matter of filling in forms, but that’s kind of like looking at Everest and saying, “It’s mostly a matter of going uphill.”
  6. “Finish” a much-improved DrProject. I originally planned to use it as a platform for research, as well as teaching; there isn’t enough time left for that, but I still hope to make it easier for software engineering instructors to introduce students to modern tools.
  7. Rewrite Software Carpentry. Tina Yee has translated some of the lectures into MATLAB; the next step is to make the whole thing look like it was written in the 21st Century [3].

Everything else has to go by the boards. In particular:

  • I have resigned from my contributing editor post at Doctor Dobb’s Journal. It was a lot of fun, and I really enjoyed working with Jon Erickson, but as I said back in October, I’d rather not do it than do it badly.
  • The software developers’ reading group I’d planned to start this January isn’t going to happen. I’d really like something to pick up the slack now that DemoCamp seems to have stalled (if only to provide an excuse to get together with former students on a regular basis), but someone else is going to have to organize it.
  • After this term, I’m going to stop supervising student projects (except those directly relevant to DrProject and/or Software Carpentry). Next to 10:00 am coffee breaks with the lecturers, this is the part of university life I enjoy the most, but there just isn’t time… 😦
  • The Software Project Coloring Book (my attempt to write down everything I try to teach undergraduates about real-world software development) is being put back on the shelf. I have written 35,000 words, but those were the easy bits: conservatively, I’d need 4-6 months of full-time work to finish it off.

On the upside, Sadie got me some biking gear for Christmas, so now I’ll have to shed the twenty pounds I’ve picked up in the last couple of years, and I get to start taking our daughter to music classes every week. To quote a friend, it isn’t what I planned—it’s better.

[1] People who already know how to write programs, but not how to develop applications. I’m specifically interested in undergraduate Computer Science students, and graduate students in other disciplines.

[2] Companies like Nitido, the Jonah Group, Idee, and Rogers have kindly donated a few thousand dollars each to keep things like DrProject going, as have several of my fellow professors, but a $24K grant from The MathWorks is the only “research” funding I’ve been able to raise.

[3] As I said yesterday, I’m looking for a mentor in the Toronto area who can show me how to do this.

Written by Greg Wilson

2008/12/26 at 11:53

Posted in Community

A Healthy Dose of Scepticism

Titus Brown’s latest post (which opens with, “The latest hot idea for making a protein-protein interaction database leaves me lukewarm”) should be read by every computer scientist who’s “just trying to help”:

…while tools can be helpeful, the fundamental problem is much more, well, fundamental: science is hard. Connecting the dots is hard. Thinking clearly about the problem and separating the wheat from the chaff, so to speak, is hard. I worry that for the majority of biologists, new tools are going to be more distracting than helpful. We need to build simpler, easier-to-use tools, not more complicated tools; we need to keep our focus on the goal (solving biological problems) and not just on intermediate stages like improving databases and building better prediction tools.

Written by Greg Wilson

2008/12/24 at 13:16

Posted in Community, Noticed, Opinion

The National Academy Would Like to Hear From You

Via Carl Zimmer: the US National Academy of Sciences would like you to fill in a two-minute survey about what science topics you care about most. Current results are:

Current Survey Results

Written by Greg Wilson

2008/12/19 at 14:55

Posted in Community, Noticed

Google Pulls the Plug on Scientific Data Sharing Project

Google has decided not to launch its scientific data sharing service — another victim of the recession, I suppose.  Bummer 😦

Written by Greg Wilson

2008/12/19 at 11:35

Posted in Noticed

Three Reasons to Distrust Microarray Results

Interesting post:

…the paper actually demonstrated that is it possible to distinguish microarray experiments conducted on one day from experiments conducted another day. That is, batch effects from the lab were much larger than differences between patients who did and did not respond to therapy…  As is so often the case, data were mislabeled. In fact, 3/4 of the samples were mislabeled.

Written by Greg Wilson

2008/12/10 at 15:10

Posted in Noticed