Software Carpentry

Helping scientists make better software since 1997

Archive for May 2008

Programming and Scientific Education on Slashdot

Via Adam Goucher, a Slashdot thread about whether programming should be part of science education.  300+ comments and counting, almost all relating personal experiences.

Written by Greg Wilson

2008/05/30 at 07:25

Posted in Community, Content

Reminded of the Difference Once Again

Via Irving Reid, a great quote from Henrik Kniberg about how to tell when you’re done:

So when a team member says that a story is Done and moves the story card into the Done column, a customer could run into the room at that moment and say “Great Lets go live now”, and nobody in the team will say “no, but wait”.

Ironically, Kniberg’s post is called “Version Control for Multiple Agile Teams”. Why ironic? Because I was talking yesterday to a professor in my department — young guy, smart, already has a better research and publication record than I’ll ever have. I brought up version control (as in, “Why do less than 10% of faculty and grad students use it?”); his reply was, “Well, we’re just going to back everything up once a day.”

Written by Greg Wilson

2008/05/27 at 06:22

Posted in Content

Interviewed by Jon Udell

Jon Udell has posted an interview he did with me last week at IT Conversations. The title is “High Performance Computing Considered Harmful”, and slides from a talk of the same name that I gave in Austin are available.

Later: here’s Jon’s summary of the interview. Curmudgeonly? Moi? 🙂

Written by Greg Wilson

2008/05/25 at 08:07

Posted in Community, Version 3

Why Don’t We Do This?

Source Code for Biology and Medicine is a peer-reviewed journal from BioMed Central devoted to, well, source code for biology and medicine. It’s been around for at least a couple of years; based on a quick scan of four of their most popular papers, they seem to cover everything from getting and installing software to its numerical properties, user interface, and typical applications. This is very cool—but why isn’t there something like this for computer science? All I can think of are Software: Practice & Experience and The Journal of Systems and Software, both of which are one meta removed from SCBM.

Written by Greg Wilson

2008/05/21 at 12:00

Posted in Community, Opinion

But I Was Gone Less than 48 Hours!

I left Toronto for Austin mid-day Wednesday, and got back at midnight last night. Lots happened in the interim, so here’s a linkandthoughtdump (which I bet actually is one word in German):

  • Gave a talk about Beautiful Code to the Austin Python Users’ Group Wednesday at Enthought‘s swanky offices. (They’re the kind folks who provide web hosting for the Software Carpentry course.) About 27 people in attendance, and good discussion afterward; was grateful to Travis Vaught and Sergey Fomel for rides from the airport and to the hotel respectively.
  • Gave another talk titled “HPC Considered Harmful” at the Texas Advanced Computing Center‘s Second Annual Scientific Software Days. I was a bit nervous about telling people at a supercomputing center that focusing on massive parallelism and peak performance is wrongheaded, but there were a lot of nodding heads.
  • I made lots of notes from two other talks that I want to follow up on at some point:
    • Robert van de Geijn’s FLAME system lets you draw matrix operations, then automatically generates the corresponding high-performance code. It’s a great example of a real high-level programming tool for scientists (and yet another special case of what a real extensible programming system would support).
    • Eric Jones (also from Enthought) talked about a tool they’re building that watches changes to variables in Python programs, and automatically generates interactive plots of their values. It sounds simpler and less impressive than it actually is; I’ve asked him to put together a screencast, and I think you’ll be wowed—I was. (Later: Steve Eddings from The Mathworks sent me a link about data linking in MATLAB, complete with a video tutorial.)
  • At roughly the same time, half a world away, Diomidis Spinellis presented a study comparing the code quality of Linux, Windows, OpenSolaris, and FreeBSD. Very cool work; wish I’d been at ICSE’08 to ask questions.
  • Meanwhile, Dmitri Vassiliev, who is continuing his work on SlashID this summer, has discovered that generated code is next-to-impossible to debug. Not to be a one-note symphony or anything, but I said in that same article about extensible programming systems that the real challenge is not extending notation, but creating extensible debugging tools so that those notations and high-level representations can be fixed when they break. Robert van de Geijn doesn’t think FLAME needs a debugger; respectfully, I disagree.
  • Science in the Open has a plea to scientists to make their raw data available, motivated by yet another irreproducible result.
  • Kosta Zabashta has posted early thoughts about integrating IRC into DrProject. (Gray on black? Kosta…your design skills rival mine…) I need to tell him that DrProject’s RPC module doesn’t handle tickets because Jeff Balogh is going to replace the entire ticketing system with an extensible one this summer, using his Dojo Form Editor as a front end…
  • Elisabeth Hendrickson has thoughts on automating tests for legacy web applications. Students, take note.
  • Thanks to Nick Jamil and others, we have instructions for installing DrProject on Windows. Yay!
  • Everything old is new again, including Ada and the Bletchley Park Colossus.

And then there’s this:

Thanks again to Sergey Fomel for inviting me down, and for introducing me to the reproducible research community—I’m looking forward to many more discussions.

Written by Greg Wilson

2008/05/16 at 10:01

SE-CSE Workshop

One of the downsides of being in Texas is that I couldn’t attend the First International Workshop on Software Engineering for Computational Science and Engineering, which was held at ICSE’08 in Leipzig this week.  Papers are here (I’ll be reading them on the flight home); they look interesting, but the biggest thing for me is the change in the workshop’s name—it used to be “Software Engineering for High-Performance Computing Applications” (2004, 2005, 2006, 2007), and I’m hoping the change of name reflects a genuine broadening of focus.

Written by Greg Wilson

2008/05/15 at 09:40

Posted in Community, Content, Research

Those Who Will Not Learn From History…

My article “Those Who Will Not Learn From History…” is in this month’s Computing in Science and Engineering (and mirrored here).

Written by Greg Wilson

2008/05/05 at 13:01

Posted in Community