(Posted 2013-06-19 by Greg Wilson)
Most musicians can play along with a twelve-bar blues once they know what the key and tempo are. Many kinds of scientific work are equally well structured: the results aren't predictable—it wouldn't be research if they were—but the equipment setup, sample preparation, note-taking, statistics, and write-up are (mostly) structured in ways that other scientists are familiar with. This lets them pick up each other's projects more quickly; it also gives scientists more time to do what's unique about a particular project because they don't have to spend time thinking about the things that aren't.
Open science—by which I mean all the new ways of doing science that the web has inspired—isn't there yet. Many people have tools and techniques that work well for them, but every setup is one-of-a-kind, and everyone has had to assemble the pieces for themselves. I think we could do better, and the thing I think about when I think that is Ruby on Rails.
A lot of Ruby on Rails' original simplicity is now hidden under a mass of extensions and auxiliary tools, but when it first appeared in 2004, it was a minor revolution. One reason was the "create a blog in 15 minutes" screencast that showed people just how easy simple things could be. Another was its emphasis on convention over configuration: instead of letting web developers do things however they wanted, it said, "Here's where stuff is and here's how it works." Once a competent developer knew what the application was supposed to do, she could (almost) immediately start building the things that were specific to it, and other competent developers could join in (more) easily. What's more, Rails' predictable structure and workflow made it easier for newcomers to adopt—certainly easier than contemporary competitors, which all-too-often required novices to make key decisions before they had the knowledge or experience to do so well.
So what's the equivalent for science? What would be in a combined template/tool/framework/worldview for small- to medium-sized scientific projects that would let scientists do science our way with near-zero startup overhead? (Note that I'm not asking, "What web programming framework should they use?") A few things I want are:
rails new project
should automatically generate the wrappers needed to pull a project's data and metadata.
Everything else should automatically be accessible too:
every paper, figure, or table should have a DOI and be searchable and fetchable.
And note that "accessible" doesn't just mean "the bits are available":
without correct documentation of formats and semantics—which most scientists
never quite get around to writing by hand—data rusts
almost as quickly as code.
rails new project a moment ago;
Rails, Django, and other frameworks of the same ilk
create a command application for each project
so that people can add new features in a reliable, findable way with a few keystrokes.
Science projects should have something similar for adding new data sets, producing new results, etc.
What else would you add to this list? What would you want to see in a framework for 4×8 projects (i.e., ones where four people work together for eight months to produce a result)? What pieces of the solution are already out there, waiting to be integrated?
(Posted 2013-06-18 by Terri Yu)
Background
A few weeks ago, I helped out with the Software Carpentry boot camp at UMass Amherst. It was my first time being a helper. Previously, my exposure to Software Carpentry was the MOOC style online Spring 2011 class, which I took during physics graduate school. I was among the 5-10% of students to finish the course. The low completion rate was one of the reasons Software Carpentry switched to doing live, on-site boot camps.
A couple years later, I got in touch with Greg Wilson and he mentioned that there was a boot camp coming up in my area. He invited me to join as a helper, I agreed, and I suddenly found myself on several mailing lists. I had no idea what to expect, but the boot camp turned out to be quite fun and I met many interesting people—including a core Python developer.
Post boot camp, I had many thoughts about the logistics and teaching. The staff invited me to write these up in a blog post.
What went well
For the UMass Amherst boot camp, we had two instructors: Tracy Teal and Erik Bray. They have very different backgrounds—Tracy is a biological scientist, and Erik is a software engineer who works with physical scientists. I felt this diversity was a real asset to the instruction because each instructor's teaching had a slightly different flavor. Tracy emphasized the practical side of things more, whereas Erik would sometimes mention nuances that are intellectually interesting to a CS person. Hopefully, that meant that there was something for everyone: practical stuff for the pragmatists, nuances for the computing nerds, variety for those who like variety.
There was good energy in the room and people asked a lot of questions. I liked how there were multiple ways to get help—ask the teacher in front of the entire class, put a pink sticky on your laptop or raise your hand to get the attention of a helper, or ask questions on the Etherpad.
The Etherpad was pretty cool, in my opinion, though I'm curious what the students thought. Sometimes advanced questions were asked on the Etherpad, which was nice because the whole staff could see the questions and someone who understood that particular topic could chime in, and also because people could ask their expert or off-topic questions without intimidating beginners or disrupting the flow of the main instructor. For example, someone wanted to know how to setup remote desktop software when the instructor was discussing SSH. I even asked a couple questions on the Etherpad.
I experienced IPython notebooks for the first time, and that was neat. I've used Mathematica frequently for theoretical physics research, and it was nice to see a Mathematica notebook interface in Python. My guess is that a student might have seen Python before, but they probably didn't know about IPython notebook. So even if they already knew how to program in Python, at least the IPython notebook was novel.
Technical difficulties
I didn't expect to run into difficulties with software, since I was a helper and supposedly "good" at this. Unfortunately, I didn't test all my software beforehand and that mistake haunted me. The "cool", novel technologies I just mentioned gave me quite a few headaches.
Not everyone's IPython install worked, including mine. I discovered that my version of IPython was 0.12 and not 0.13, since I had used apt-get to install IPython. The Ubuntu IPython repository was not the latest. I had also installed Anaconda just in case, but my path wasn't finding it, so I had to explicitly call the Anaconda IPython which was 0.13. I was frantically trying to troubleshoot this problem during the first 15 minutes of Day 2. I wish we had made everyone test their IPython install to make sure it was version >= 0.13, and that it properly loaded notebooks. As far as I know, there is no explicit test for IPython right now in the Software Carpentry materials.
Even the Etherpad, which seems like a fairly foolproof thing (how can you mess up a web GUI tool?), was not without its problems. As it turned out, my major responsibility at the boot camp was to take Etherpad notes on what the instructors were saying/doing. I occasionally deleted some Etherpad text by accident and undo didn't restore everything. I tried rewinding the history, but it wasn't ideal. Later, I figured out that there is a save button and I tried to save more often.
It looks bad if the helpers can't even use the software properly. I suggest in the future, to remind the helpers and instructors to test all of their software, especially tools they are unfamiliar with (e.g. IPython). And tell whichever helper is taking Etherpad notes, to use the save button often!
Managing volunteers
Overall, I think the staff could have done a better job managing the helpers and integrating them with the instructors. Pre boot camp, I often had no idea what was going on. The chatter on the mailing list was almost exclusively instructors discussing logistical matters with each other, which made me, as a helper, feel left out. I had no idea how the waiting list worked (for the UMass boot camp, the number of spots was restricted) and I had no idea what I would be doing at the boot camp, until I explicitly asked about these things. The organization could definitely have been improved.
During the boot camp, I didn't have as much interaction with the instructors and other helpers as I would have liked. Any interaction that happened had to be initiated by myself—for example, I hung around after the end of the sessions to chat. Some of this was understandable since everyone was very busy and tired. However, it would be nice if the instructors and helpers could hang out at some point before or after the boot camp—have a meal, coffee, etc. Software Carpentry only works if there are volunteers, so increasing the effort to make helpers feel welcome increases the probability that helpers will volunteer for future boot camps and spread good words about the organization.
Teaching Git
I wasn't sure that people were understanding the material on Git. Part of the problem is that Git is simply a tough subject to learn and teach, especially in such a limited time frame. The lesson on Git started off with talking about SSH (because SSH keys are needed to interact with the GitHub repo) and then 5+ minutes of talking about abstract concepts in Git without any diagrams, slides, or visuals. I was really confused about why we were spending so much time talking about SSH and not talking about Git. I also think diagrams of the different repositories, commits, etc. could be introduced earlier.
On the plus side, the exercise of everyone pushing and pulling on the GitHub repo at the same time was pretty fun. It definitely spiced up what could be a boring afternoon of version control. More importantly, the exercise was both fun and educational.
Big picture and why scientists should care about software
I've always thought that motivation is the most important part of giving a scientific talk, and the same should apply to boot camps. That said, I'm not convinced we did the best job motivating our educational material at UMass. I think it would be helpful to set aside a significant period of time to talk about why open and reproducible research is important, both at the beginning and the end of the boot camp. I'm not sure that everyone even knows what open source software is, or the important role it's played in the history of mankind. I can see that one wouldn't want to overly evangelize particular ideas and tools, but in my opinion, open source and reproducible research is worth a tiny bit of evangelizing.
In fact, this discussion could be fun and interesting. One could show a few examples of scandals or big-time retractions and even ask the participants to share their experiences. The recent headlines about the Excel error in austerity research comes to mind (testing anyone?) The reason I got interested in Software Carpentry in the first place was because of a Nature article about prominent scientific papers being retracted due to poor software. I found that to be an attention-grabbing, compelling argument at the time. Show people both the carrot (you'll save so much time with software skills, people are more likely to cite you because your software works!) and the stick (career ending retraction of results, wasting your lab's time reproducing results that are wrong).
I know Software Carpentry tries to avoid PowerPoint style presentations, but I'm in favor of some slides on open and reproducible research. As an example, I like the wrap-up presentation that Robin Wilson wrote for the recent Southampton boot camp. Robin reported that the presentation went over pretty well.
Real-time assessment
I wonder if anyone has tried in-class assessment at a boot camp, similar to the trend of using "clickers" in introductory science classes. Angel Brady at Princeton wrote an excellent post summarizing the ways in which you can do "virtual clickers". I really have no idea how this would work for a Software Carpentry boot camp, but I'm just throwing the idea out there. I am concerned that in-class assessment might be an extra layer of complication in a boot camp that is already stuffed with different technologies and material.
Following up after the boot camp
Followup is important because it's so easy to be busy with other stuff after the boot camp is over and forget the material or lose energy and interest in using it.
Wrapping up
Volunteering at the boot camp brought my appreciation of Software Carpentry to a new level. I already thought highly of the organization's work after taking the online class two years ago. However, actually being at a boot camp impressed on me the enormous commitment and effort it takes to run a single boot camp—then multiply this by dozens of boot camps that take place in a year.
I very much want to see Software Carpentry succeed. I imagine a future where software skills are part of global science training, and where good software is universally accepted to be a real and important part of scientific results. I will help as much as I can.
(Posted 2013-06-17 by Greg Wilson)
Preston Holmes recently posted a detailed analysis of his experiences helping out at our Salk Institute boot camp. It contains a lot of insights, and is well worth reading.
(Posted 2013-06-15 by Mike Jackson)
Our boot camp at the University of Bristol on September 12-13, 2013, is now open for registration. Please register here if you would like to take part.
(Posted 2013-06-14 by Greg Wilson)
We're very excited to announce the launch of the Mozilla Science Lab, a new initiative that will help researchers around the world use the open web to shape science's future. The Science Lab will foster dialog between the open web community and scientific researchers. Together they'll share ideas, tools, and best practices for using next-generation web solutions to solve real problems in science, and explore ways to make research more agile and collaborative.
The project will be lead by Kaitlin Thaney, a long-time open science advocate. Kaitlin helped found and manage the science program at Creative Commons, and previously worked at Digital Science, a tech company focused on research tools and incubation for science startups. She also advises policymakers on digital infrastructure, data-intensive science, and education to make scientific research more collaborative, open, and reproducible.
For more information, please follow the Science Lab and Kaitlin Thaney on Twitter, or see the announcement from Mark Surman the director of the Mozilla Foundation, or this post by Kaitlin.
We're pretty excited :-)
(Posted 2013-06-13 by Greg Wilson)
Earlier this week, Software Carpentry had its first online lab meeting since October 2012. In attendance were:
|
|
We covered a fair bit of ground in 90 minutes; the highlights are below, and comments from both attendees and everyone else would be very welcome (either here or on the discuss mailing list).
Making boot camps more useful:
Sustainability (see this post for background):
Consistency:
Simplifying our shared content, web presence, and workflow.
Notes:
[1] Curmudgeonly Dictator for Life.
(Posted 2013-06-09 by Ben Morris)
Last month, we held two Software Carpentry workshops back-to-back in Durham, North Carolina, one at the National Evolutionary Synthesis Center and a second organized by Cliburn Chan for the biostats group at Duke just three days later. These workshops were taught by Jenny Bryan, Elliott Hauser, and myself with Karen Cranston teaching as well at NESCent. The workshops were both somewhat atypical: NESCent was a smaller workshop (only 11 participants) who work together and share an interest in evolutionary biology, and at both NESCent and Duke we presented in R rather than Python. Overall, both workshops were very successful, and I learned a lot, both about R and teaching a Software Carpentry workshop.
In addition to substituting R for Python, we altered the schedule from what I've seen in previous workshops, teaching R for the entire first day and everything else (shell, git, and Make) on day two. While this meant that Jenny had to present the entire day on day one, her material and instruction style easily held everyone's interest for the whole day. Jenny went at a good pace, moving from basic language essentials and how to interact with RStudio to more complex topics such as data aggregation using the plyr package and producing literate documents using knitr. The R sections, particularly the use of plyr, were consistent crowd favorites. I think the way we rearranged the schedule worked out very well—we avoided confusion by not switching between environments, and using only RStudio on day one allowed us to avoid installation issues. Anyone who had had trouble installing the prerequisites either stayed after on day one or came early on day two for help. We ended up with no setup issues at NESCent and a fair number at Duke (possibly due to inadequate instructions on our boot camp page) but they were easily handled.
We were able, perhaps serendipitously, to present our material in a logically cohesive way that kept students engaged. Instead of every instructor bringing their own material, we used the same files for all sections. The code we wrote during day one was placed under version control on day two, and we wrote a Makefile together to automate our data analysis pipeline and produce an HTML document with code and figures. At NESCent, this wasn't planned ahead of time; I noticed that Jenny had designed her scripts in such a way that they were great candidates to incorporate into my Make tutorial, and so together we wrote one. There was clear interest in Make, so we built on this idea and replicated it at Duke with more preparation.
The number of people attending the NESCent workshop was low, which was in some ways both a pro and a con. On the plus side, we were able to pay more individual attention and Karen led a discussion on data management that was highly relevant to those attending. However, we seemed to run out of steam during the afternoon on day two, where we had planned to address whatever topics participants felt would be helpful but found a lack of enthusiastic suggestions. We corrected this at Duke by being prepared for a more structured presentation. We also found for both the shell and version control sections that our presentation needed to cater to specific tasks that a researcher just learning these skills would use and avoid more complicated topics such as forking and pull requests.
Teaching two workshops back-to-back gave us a chance to refine our approach and materials, and Jenny is looking into how best to incorporate the materials we designed into Software Carpentry for future R workshops to utilize.
NESCent feedback
| Favorite things | Suggested improvements |
|
|
Duke feedback
| Favorite things | Suggested improvements |
|
|
(Posted 2013-06-07 by Ted Hart)
Alex Viana and myself recently wrapped up a bootcamp at the National Center for Atmosphere Research (NCAR) in Boulder, CO. It was a lesson in the advantages of being light on your feet when it comes to teaching for Software Carpentry. Our normal audience tends to be scientists with varying degrees of familiarity with the tools that we teach. This time we taught about 20 people all of whom were experience software engineers, some of whom had probably been programming longer than Alex or I had been alive. We had planned on starting the morning with some shell and then moving into Git. A quick survey of the room found that everyone was well versed in the shell so we abandoned that lesson all together and went straight to teaching Git.
Here was where things got interesting. I thought we'd fly through our material because everyone was so experienced. Instead though it almost seemed that we moved more slowly because not only were we teaching Git, but also how git was different than SVN and CVS (other version control systems for the uninitiated). Later in the day we also got into a deep conversation about what types of workflow Git could be used for compared to SVN and CVS.
We had a similar experience the next day teaching Python. Instead of just churning through it we spent a lot of our time talking about how Python was different than other languages the participants programmed in like Java. It turned out that teaching such an advanced crowd meant that we had a group that knew what questions to ask. Topics that we normally gloss over (what is an iterator anyway?) we had to really pick apart because of the knowledge in the room.
As instructors there were two really important lessons for us. The first is never assume that you're the most knowledgeable person in the room. The corollary to that is that just because you aren't doesn't mean you don't have something to teach. We even had a couple of really skilled Python programmers who were happy to be there just to see how they could become better teachers. At first we were a bit intimidated by the depth of knowledge, but really it just forced us to up our game as instructors and I think we're better for it.
The second lesson was that you can never forget that a bootcamp needs to be adaptable. Alex and I were challenged to create curriculum on the spot when we skipped over our 2 hours of the shell. We had to keep in mind that we were there to teach not just stand and deliver a canned lesson even if participants already knew it all. And that's the really great thing about Software Carpentry all around. All the instructors are creative and smart people who are dedicated to being good teachers and don't shy away from these kinds of unexpected challenges. The NCAR bootcamp was definitely my most challenging, but it also offered one of the best opportunities for growth as an instructor.
(Posted 2013-06-02 by Mike Jackson)
On 21st August 2013, we'll be attending INTECOL13 in London's
Docklands. The 11th International Congress of Ecology, hosted by the
British Ecological
Society and INTECOL, is one
of the world's premier conference for ecologists. At the invitation of
Matthew Smith of the BES Computational Ecology Specialist Interest Group and Microsoft
Research, Software Carpentry and The Software Sustainability
Institute have a talk and a session.
Steve Crouch will present a talk on behalf of Greg Wilson, on "better computational practices for research". This session will highlight the problems faced by researchers who develop software, and ecologists in particular, including the tractability, development and reproducibility of ecological models, and discuss possible solutions.
After runs at Effective Scientific Programming, Digital Social Research and Dev8D, Mike Jackson will chair another discussion on "what makes good code good". This session will explore what ecologists view as good code, how ecologists learn about good code, the blockers to producing good code and how these can be overcome, by research leaders, institutions, funders, and ourselves.
We look forward to reporting on our experiences.
(Posted 2013-06-07 by Greg Wilson)
It's been eighteen months since we started running two-day boot camps. We've grown rapidly:
| Cumulative Number of Boot Camps | Cumulative Enrolment |
|---|---|
![]() |
![]() |
Now we need to start thinking about how to sustain that growth in the long term. To start, here are some stats on how things have been funded.
First, we've experimented with several different ways to fund travel costs, and several different ways of charging attendees:
| Funding Model | Charge Model |
|---|---|
|
|
Here's how often we've used each combination:
| Free | Deposit | Charge | Conference | ||
|---|---|---|---|---|---|
| Host | 52% | 1% | 2% | 0% | 55% |
| Grant | 18% | 1% | 0% | 1% | 20% |
| None | 17% | 1% | 0% | 0% | 18% |
| Mixed | 2% | 1% | 0% | 0% | 3% |
| Donation | 0% | 0% | 1% | 0% | 1% |
| Unknown | 3% | 0% | 0% | 0% | 3% |
| 92% | 4% | 3% | 1% | 100% |
One fact that doesn't show up in this table is that the number of grant-funded boot camps has gone from 16 in 2012 to 2 in 2013. Even if we include two mixed-model boot camps this year in the latter count, we're clearly much closer to boot camps being self-sustaining.
But being closer isn't the same as being there. We're spending about $150K/year in grant money on salaries and overheads to keep this whole show going. At two boot camps a week (which we think we can reach by this time next year), we'd need about $1500 per boot camp to cover those costs. If we stick to an average of 40 learners per boot camp, we'd have to charge a bit less than $40 per person. The problem is, we often can't do this: if we charge for training—even a refundable deposit—then some institutions will charge us for use of their space, and only charging those who don't have such a rule seems unfair. An alternative is to ask for sponsorship on top of instructors' costs, rather than tying it directly to enrolment.
Setting that issue aside for a moment, though, I'm more certain than ever that this training is cost-effective:
Measured that way, I'd say we're doing more than OK.
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2005 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 3 | 0 | 1 | 6 |
| 2006 | 10 | 11 | 4 | 5 | 2 | 1 | 3 | 4 | 0 | 2 | 2 | 1 |
| 2007 | 1 | 1 | 3 | 1 | 1 | 6 | 4 | 2 | 2 | 2 | 0 | 1 |
| 2008 | 0 | 4 | 4 | 4 | 7 | 3 | 6 | 4 | 2 | 2 | 7 | 6 |
| 2009 | 4 | 9 | 5 | 8 | 6 | 13 | 20 | 16 | 9 | 8 | 9 | 5 |
| 2010 | 7 | 4 | 10 | 11 | 24 | 41 | 32 | 12 | 17 | 24 | 15 | 23 |
| 2011 | 24 | 19 | 24 | 5 | 6 | 11 | 9 | 3 | 8 | 8 | 12 | 10 |
| 2012 | 15 | 37 | 28 | 26 | 31 | 21 | 9 | 13 | 18 | 30 | 25 | 22 |
| 2013 | 14 | 18 | 12 | 16 | 19 | 13 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2013-06-19: | The Twelve Bar Blues of Open Science |
| 2013-06-18: | UMass Amherst Boot Camp: Perspective from a Helper |
| 2013-06-17: | Salk Institute Feedback |
| 2013-06-15: | Boot Camp in Bristol, September 12-13, 2013 |
| 2013-06-14: | Announcing the Mozilla Science Lab |
| 2013-06-13: | June 2013 Lab Meeting |
| 2013-06-09: | North Carolina Bootcamps |
| 2013-06-07: | Thoughts on an Advanced Boot Camp at Boulder |
| 2013-06-02: | Software Carpentry at INTECOL13 |
| 2013-06-07: | Running Bootcamps |
| 2013-06-06: | Amsterdam Bootcamp |
| 2013-06-05: | Feedback and experiences from Southampton |
| 2013-06-02: | From a helper to an instructor |
| 2013-05-30: | The Great Licenceathon |
| 2013-05-30: | Krakow Bootcamp Experience |
| 2013-05-26: | What Does Victory Look Like? |
| 2013-05-26: | What Does Done Look Like? |
| 2013-05-25: | Our Infrastructure |
| 2013-05-24: | Browsercast |
| 2013-05-24: | Planning for the Break |
| 2013-05-24: | Where We Are (More or Less) |
| 2013-05-24: | Feedback from the Oxford DTCs |
| 2013-05-16: | Stanford Bootcamp Recap |
| 2013-05-17: | Wrapping Up at UC Davis |
| 2013-05-17: | Experiences with the Oxford DTCs |
| 2013-05-16: | Announcing Hack4ac |
| 2013-05-14: | A Mention in Science Careers |
| 2013-05-10: | Git vs. Subversion and Feedback in General |
| 2013-05-03: | More Detailed Feeback from Melbourne |
| 2013-05-03: | Make It Easier to (Re)use Your Data |
| 2013-05-02: | Translucent Badges |
| 2013-05-02: | A Rational Computing Process: How and Why to Fake It |
| 2013-04-30: | Pre-Assessment Results |
| 2013-04-29: | An Update on Cumulative Enrolment |
| 2013-04-27: | Sound Software Competition |
| 2013-04-24: | Bootcamp Recap: Middle East and South Africa |
| 2013-04-24: | Manchester Once Again |
| 2013-04-23: | Software Carpentry at SciPy 2013 |
| 2013-04-19: | Spreadsheets, Retractions, and Bias |
| 2013-04-19: | Feedback from Arizona |
| 2013-04-16: | Feedback from UC Berkeley |
| 2013-04-16: | Feedback from the EGI Forum |
| 2013-04-08: | A Bootcamp in Toronto May 9-10, 2013 |
| 2013-04-07: | Announcing a Bootcamp for Women in Science and Engineering |
| 2013-04-08: | Evaluation Revisited |
| 2013-04-08: | Installation Revisited |
| 2013-04-05: | An Image Analysis Success Story |
| 2013-04-03: | Connecting Boot Camp Content to Motivation and Best Practices |
| 2013-03-24: | Using the IPython Notebook as a Teaching Tool |
| 2013-03-17: | Cumulative Enrollment |
| 2013-03-17: | Testing Image Processing |
| 2013-03-15: | Snowstorms and Blackouts in Virginia |
| 2013-03-14: | New Camps Coming Up |
| 2013-03-13: | Second Round at Lawrence Berkeley |
| 2013-03-12: | A New Testing Framework for MATLAB |
| 2013-03-05: | First Round at Lawrence Berkeley |
| 2013-03-02: | Teaching with ipythonblocks at UW |
| 2013-03-01: | Feedback from UW Room B |
| 2013-03-01: | Washington Went Well |
| 2013-03-01: | Alternative Teaching Models |
| 2013-02-27: | Workshop for High-Energy Physics at UCL, Part 2 |
| 2013-02-15: | Expanding Our Boot Camp Types |
| 2013-02-27: | A Bootcamp for Women in Science and Engineering |
| 2013-02-15: | Wrapping Up in Melbourne |
| 2013-02-14: | Registration for Amsterdam Boot Camp is Open |
| 2013-02-14: | More News from the UK |
| 2013-02-13: | Second Dry-Run of DiRAC Driver's License Exam |
| 2013-02-12: | Partnering with the SSI |
| 2013-02-11: | Correctness Isn't Compelling |
| 2013-02-11: | UBC Went Well |
| 2013-02-08: | Macquarie Went Well |
| 2013-02-06: | We Have a Facebook Page |
| 2013-02-03: | Features and Scope in Open Courseware |
| 2013-02-03: | The Missing Side of the Triangle |
| 2013-02-03: | A Short Report from Tuebingen |
| 2013-02-02: | A Short Report from Utah State |
| 2013-02-01: | Next-Generation Sequencing Course 2013 |
| 2013-02-01: | A Bunch of Bootcamps |
| 2013-01-30: | Teaching R at UBC |
| 2013-01-30: | A Boot Camp at Mozilla |
| 2013-01-28: | Novelty, Efficiency, and Trust |
| 2013-01-24: | Visualizing Nuclear Fuel Inventories |
| 2013-01-23: | How to Become an Instructor |
| 2013-01-22: | Record and Playback in the IPython Notebook |
| 2013-01-21: | Online Office Hours |
| 2013-01-16: | University of Chicago in January |
| 2013-01-14: | Montreal in January |
| 2013-01-11: | Teaching Commercially |
| 2013-01-10: | PLoS Ad for Software Carpentry |
| 2013-01-05: | The Art of Cold Calling |
| 2013-01-04: | Advice From a Newbie No More |
| 2013-01-04: | Why We Teach |
| 2012-12-23: | Computer Science Curricula 2013 |
| 2012-12-21: | Code of Conduct |
| 2012-12-21: | Sample Data Management Plans |
| 2012-12-19: | Minutes from 2012-12-19 All-Hands Meeting |
| 2012-12-16: | You've Shown Me the C, Now Where's the Python? |
| 2012-12-15: | Lorena Barba's Reproducibility PI Manifesto |
| 2012-12-15: | Three Non-trivial Use Cases for Git |
| 2012-12-13: | Two R Workshops at UBC in 2013 |
| 2012-12-12: | Feedback from Edinburgh |
| 2012-12-12: | IPython Funding: Hurray! |
| 2012-12-11: | Some of the Things We've Learned About Teaching Git |
| 2012-12-10: | Things Are Going Well in Texas on Ada Lovelace's Birthday |
| 2012-12-09: | What To Work On In 2013 |
| 2012-12-08: | Creating a Task List |
| 2012-12-05: | Sustainability |
| 2012-12-05: | Our First Hackathon |
| 2012-12-05: | Who Can Run a Software Carpentry Workshop? |
| 2012-12-05: | Moving Up and Moving Down |
| 2012-12-05: | Why Be an Instructor |
| 2012-12-05: | Six Years Later |
| 2012-12-04: | See You at PyCon 2013 |
| 2012-12-01: | European Grid Infrastructure is Organizing a Software Carpentry Workshop |
| 2012-09-30: | Oslo and Columbia |
| 2012-09-30: | The Real Hard Work |
| 2012-09-29: | Workshop at the University of Newcastle in October |
| 2012-09-27: | How to Run a Bootcamp (new and improved) |
| 2012-09-26: | Computational Thinking and Ice Floating in Bathtubs |
| 2012-09-20: | Why This Stuff Is Hard To Teach |
| 2012-09-20: | Feedback and wrap-up from York |
| 2012-09-18: | What's In Your Stack? |
| 2012-09-18: | Post-Mortem on the NGS Course |
| 2012-09-16: | Systematic Curriculum Design |
| 2012-09-13: | Number Crunching with Python: DC Python Workshop |
| 2012-09-12: | The Software Is Open (even if the interviews aren't) |
| 2012-09-12: | Patterns Wanted |
| 2012-09-06: | How Quickly Do Workshops Fill Up? |
| 2012-09-04: | Free As In Pretty Much Whatever You Want |
| 2012-09-04: | Not Really Disjoint |
| 2012-09-04: | Final Results of Demographic Survey |
| 2012-09-02: | Lifted by the Audience |
| 2012-08-29: | Linking Forward From a Bibliography? |
| 2012-08-29: | A Problem With Badges |
| 2012-08-29: | Please Help the Hunter Family |
| 2012-08-27: | An Interview with Titus Brown |
| 2012-08-21: | An Updated List of Upcoming Workshops |
| 2012-08-20: | What We Talk About When We Talk About Software Carpentry |
| 2012-08-17: | Who Are You? |
| 2012-08-16: | Alpha Test of Driver's License Exam |
| 2012-08-14: | A Question and Answer Matrix for Software Carpentry |
| 2012-08-14: | Interview about Software Carpentry (and Education) |
| 2012-08-14: | Applying Pedagogical Principles in This Course |
| 2012-08-01: | We're Going to Be Busy |
| 2012-08-01: | That Was Quick |
| 2012-07-30: | Record and Playback |
| 2012-07-28: | Software Carpentry Needs You! |
| 2012-07-22: | IPython Notebook + Towtruck + Etherpad + Slide Drive = Win |
| 2012-07-21: | How Robust Is Your Programming Language? |
| 2012-07-21: | Software Carpentry in Paris ! |
| 2012-07-19: | Workshop wrap up from the Rutherford Appleton Laboratory |
| 2012-07-17: | Wrapping Up in Halifax |
| 2012-07-10: | Wrapping Up in Boston |
| 2012-07-05: | Independent Assessment of the Past Six Months |
| 2012-06-27: | Where We Are (June 2012 edition) |
| 2012-06-27: | A Supercomputing Driver's License |
| 2012-06-27: | Fortran Format Statements and Regular Expressions |
| 2012-06-26: | Pessimism and Doom |
| 2012-06-26: | Two Posts on Scientific Workflows |
| 2012-06-26: | Handling Variant Configuration Files |
| 2012-06-25: | If You Want to Teach, Isn't It Only Fair to Learn a Few Things First? |
| 2012-06-20: | Feedback from Johns Hopkins |
| 2012-06-18: | A Busy Week (And Schwag!) |
| 2012-06-15: | This Week's Tutorials |
| 2012-06-15: | Pretty Well Sums It Up |
| 2012-06-14: | All Entries for the Executable Paper Grand Challenge |
| 2012-06-10: | First Workshop on Maintainable Software Practices in e-Science |
| 2012-06-08: | But the Greatest of These Is... |
| 2012-06-08: | We Get Mail |
| 2012-06-07: | Tutorial: NumPy, SciPy, and matplotlib |
| 2012-06-07: | Ten Simple Rules |
| 2012-06-04: | What Skills Are Required to Implement Open Access? |
| 2012-06-04: | Software Carpentry: The E-Book Version? |
| 2012-06-03: | Git tutorial links |
| 2012-06-01: | Introduction to NumPy Tutorial |
| 2012-01-31: | Reorganizing This Web Site |
| 2012-01-29: | Learners and Their Needs |
| 2012-01-29: | Terminology |
| 2012-01-26: | Our Long Tail |
| 2012-01-26: | Never Mind the Content, What About the Format? |
| 2012-01-25: | The Big Picture |
| 2012-01-24: | Take Out Agile, and Add...What? |
| 2012-01-24: | Test-Driven Public Speaking |
| 2012-01-24: | Badging |
| 2012-01-23: | Revising the Curriculum |
| 2012-01-20: | The First Boot Camp of 2012 |
| 2012-01-15: | Why Is This Hard? |
| 2012-01-13: | The What, Why, and How of Boot Camps |
| 2012-01-11: | Sloan Foundation Grant to Software Carpentry and Mozilla |
| 2012-01-04: | Settings Our Sights a Little Bit Lower |
| 2011-12-31: | The Fire Last Time |
| 2011-12-31: | Some Responses to Some Comments |
| 2011-12-30: | Fork, Merge, and Share |
| 2011-12-29: | Yet Another Survey |
| 2011-12-24: | What Success Looks Like Five Years Out |
| 2011-12-24: | Organizing Instruction and Study to Improve Student Learning |
| 2011-12-20: | It Just Keeps On Hurting |
| 2011-12-20: | What I've Learned So Far |
| 2011-12-13: | New Features in Excel for Scientists |
| 2011-12-07: | How to Teach Webcraft and Programming to Free-Range Students |
| 2011-11-29: | Three Short Thoughts |
| 2011-11-25: | Building a Bibliography |
| 2011-11-19: | Knowledge of the Second Kind |
| 2011-11-18: | Accessible to All? |
| 2011-11-18: | Quantifying Installation Costs |
| 2011-11-18: | Show Me the Data |
| 2011-11-14: | Clearing Up Code |
| 2011-11-14: | Surviving the Tsunami |
| 2011-11-11: | Successful Bootcamp |
| 2011-11-08: | The Best vs. the Good |
| 2011-11-08: | The Ladder of Abstraction and the Future of Online Teaching |
| 2011-11-06: | Nirvana on Monday Night |
| 2011-10-22: | Research Without Walls |
| 2011-10-21: | Slides from Hans-Martin |
| 2011-10-19: | American Scientist Article on Empirical Studies of Software Engineering |
| 2011-10-14: | Updating to HTML 5 |
| 2011-10-14: | The Science Code Manifesto's Five C's |
| 2011-10-07: | Four New Episodes on Databases Using Microsoft Access |
| 2011-10-05: | Revamping This Site |
| 2011-10-04: | 2011 Software Carpentry Bootcamp Sold Out! |
| 2011-09-22: | Plus Ca Change... |
| 2011-09-20: | I'm Not Normally Lost for Words |
| 2011-09-17: | The Simplest Web That Could Possibly Work |
| 2011-09-13: | Progress Of A Sort |
| 2011-09-08: | What Happens When You Install Something? |
| 2011-09-05: | Where is the Puck Going to Be? |
| 2011-09-02: | Teaching Security to Scientists |
| 2011-09-01: | Renting Cycles Has Never Been Easier (For Some Definition of 'Easier') |
| 2011-08-17: | Demos Reinforce Errors, and Confusion is Good |
| 2011-08-08: | Introducing Programming a Different Way |
| 2011-08-04: | Computing in Physics 101: What We're Doing Wrong |
| 2011-07-22: | Software Carpentry in HPCWire |
| 2011-07-20: | And Speaking of Titus Brown... |
| 2011-07-20: | How Much Do You Need? |
| 2011-07-20: | Material from Newcastle Workshop Now Available |
| 2011-07-20: | The Case of Abinit |
| 2011-07-11: | Architecture of Open Source Applications Webinars Tuesday July 13 and 20 |
| 2011-07-10: | Stanford Course Went Well |
| 2011-07-06: | Reproducible Computational Geophysics |
| 2011-07-01: | Mentioned in Nature Methods |
| 2011-06-29: | It Will Never Work in Theory |
| 2011-06-22: | Michael Nielsen Talks About Open Science in San Francisco on June 29 |
| 2011-06-20: | Doing the Math |
| 2011-06-18: | Health Informatics Resources |
| 2011-06-15: | New Episode: MATLAB Structs and Cell Arrays |
| 2011-06-14: | A New Look |
| 2011-06-10: | Audio Processing in Python |
| 2011-06-07: | Practical Computing for Everyone (not just biologists) |
| 2011-06-04: | Programming for Scientists at Newcastle University: June 20, 2011 |
| 2011-06-02: | Five on Systems Programming |
| 2011-06-01: | Workshop at CEF'11 |
| 2011-05-23: | 'The Architecture of Open Source Applications' is Now Available |
| 2011-05-14: | More Interested in the Asides |
| 2011-05-13: | Damn the Torpedoes (but I could use some help navigating) |
| 2011-05-06: | The Architecture of Open Source Applications |
| 2011-05-03: | The Hacker Within at MSU in June |
| 2011-05-02: | Managing Data |
| 2011-04-23: | Chapters |
| 2011-04-22: | In Praise of Street Fighting |
| 2011-04-18: | Holding Up a Mirror |
| 2011-04-11: | Prototyping |
| 2011-04-09: | By The Numbers |
| 2011-03-31: | Harder Than It Should Be |
| 2011-03-31: | Using Bein |
| 2011-03-30: | Practical Computing for Scientists at Stanford |
| 2011-03-30: | Spring 2011 Course Over |
| 2011-03-26: | And I'm on a Horse |
| 2011-03-24: | A Better Way to Teach Programming to Scientists |
| 2011-03-23: | Our First Episode on Microsoft Access |
| 2011-03-22: | I'd Settle for 0.1% |
| 2011-03-22: | You'll Need a Large Screen |
| 2011-03-21: | Using a Debugger |
| 2011-03-21: | Videos of Autumn School Lectures |
| 2011-03-18: | On a Personal Note... |
| 2011-03-17: | Questions and Answers |
| 2011-03-16: | Graph Layout, Models vs. Views, and Computational Thinking |
| 2011-03-16: | Next-Generation Sequencing Course at MSU |
| 2011-03-15: | Twenty Questions (Minus Two) |
| 2011-03-15: | Call for Participation |
| 2011-03-12: | What To Demand |
| 2011-03-11: | Science Illustrated |
| 2011-03-11: | Musing About Reorganization |
| 2011-03-09: | High Tech That Looks Low Tech |
| 2011-03-09: | Advanced Scientific Programming in Python |
| 2011-03-07: | Literate Programming |
| 2011-03-01: | Tuple Spaces (or, Good Ideas Don't Always Win) |
| 2011-02-25: | We Got a Mention in Comm. ACM |
| 2011-02-24: | An Easy Place to Start: Systems Programming |
| 2011-02-23: | Ask, And Ye Shall Receive |
| 2011-02-22: | What Better Looks Like |
| 2011-02-19: | Three More Episodes on MATLAB |
| 2011-02-18: | Scientific Computing Podcast |
| 2011-02-18: | Mirroring Software Carpentry |
| 2011-02-17: | Reddit on Scientific Programming |
| 2011-02-16: | I Want Their Software |
| 2011-02-16: | How to Contribute |
| 2011-02-15: | Top Ten Why Nots |
| 2011-02-15: | First Four MATLAB Episodes |
| 2011-02-14: | Audio for Three Software Engineering Episodes |
| 2011-02-14: | Two More Episodes on Spreadsheets |
| 2011-02-11: | Updates to Spreadsheet Lecture |
| 2011-02-08: | What Computational Science Means to Me |
| 2011-02-03: | Scripts for Two More Software Engineering Episodes |
| 2011-02-02: | Three Months, Two Spikes, One Conclusion |
| 2011-02-01: | First Episode on Software Engineering |
| 2010-12-31: | Software Carpentry Boot Camp Jan 12-14 in Madison |
| 2010-12-30: | More Detailed Outline for HPC Lecture |
| 2010-12-27: | Open Research Computation |
| 2010-12-27: | Elimination |
| 2010-12-26: | Local Subversion Repositories |
| 2010-12-23: | Extended Examples |
| 2010-12-21: | Compute Canada's 'Strategic' Plan Isn't |
| 2010-12-20: | Executable Papers |
| 2010-12-15: | Building a Recommendation Engine with NumPy |
| 2010-12-14: | Presents for the Holidays |
| 2010-12-13: | Slides for First Five OO Episodes Online |
| 2010-12-10: | Winter 2011 Signup vs. Spam Filters |
| 2010-12-10: | Performance and Parallelism |
| 2010-12-09: | Where Are My Keys? |
| 2010-12-08: | How Do You Manage a Terabyte? |
| 2010-12-07: | Approaching Objects from a New Direction |
| 2010-12-06: | Pins, Balls, and Arbitrary Decisions |
| 2010-12-02: | Peer to Peer |
| 2010-12-02: | Programmer Competency Matrix |
| 2010-12-02: | Prerequisites (or, When to Say No) |
| 2010-12-02: | Red-R |
| 2010-12-02: | Cast Your Votes |
| 2010-12-02: | Fall 2010: What Went Right, What Went Wrong |
| 2010-11-30: | First Four Episodes on Multimedia |
| 2010-11-29: | Winter 2011 Online Course Now Full |
| 2010-11-26: | Next Part of Persistence Essay Online |
| 2010-11-25: | Hours So Far |
| 2010-11-23: | Phylogenetic Trees |
| 2010-11-23: | Four Episodes on Matrix Programming |
| 2010-11-21: | Repository URL Change |
| 2010-11-20: | Mid-term Quiz Results |
| 2010-11-19: | Now Annotated |
| 2010-11-18: | Summary of student check-ins |
| 2010-11-17: | New Section for Essays |
| 2010-11-17: | 'Making Software' Screencast |
| 2010-11-16: | Ratios and Rework |
| 2010-11-07: | Counting Things (Part 2) |
| 2010-11-05: | Done In London |
| 2010-10-31: | Counting Things (Part 1) |
| 2010-10-30: | Would You Prefer... |
| 2010-10-30: | Need Something to Debug |
| 2010-10-30: | Dubois on Maintaining Correctness |
| 2010-10-29: | Provenance (Or, What We Didn't Quite Get to at the Met Office) |
| 2010-10-28: | Feedback at UKMO |
| 2010-10-28: | How We've Helped |
| 2010-10-27: | ComputerWorld Canada Educator of the Year |
| 2010-10-24: | Configuration Files |
| 2010-10-21: | Slides Available as PDF and PPT |
| 2010-10-18: | Final Four Episodes of Python Lecture |
| 2010-10-18: | How Did You Find Us? |
| 2010-10-17: | Ratings Revised |
| 2010-10-15: | Six More Python Episodes |
| 2010-10-14: | Three Python Screencasts Up |
| 2010-10-14: | Nature Article on Scientific Programming |
| 2010-10-14: | Dexy |
| 2010-10-13: | Three More Episodes on Spreadsheets |
| 2010-10-12: | Python Lecture Coming Online |
| 2010-10-05: | Using Subversion from the Command Line |
| 2010-10-14: | Five Rules for Computational Scientists |
| 2010-10-04: | Aaaand We're Off! |
| 2010-10-03: | What Questions Do You (Frequently) Ask? |
| 2010-10-03: | Do You Use Software Carpentry? |
| 2010-09-30: | Ten Short Papers Every Computational Scientist Should Read |
| 2010-09-30: | Tracking Utility and Impact |
| 2010-09-28: | A New Site Design |
| 2010-09-23: | Software Carpentry at UCSF |
| 2010-09-22: | Response Has Been Overwhelming |
| 2010-09-21: | I'm No Graphic Artist... |
| 2010-09-20: | Your Favorite Running Examples? |
| 2010-09-16: | Survey: Help Needed |
| 2010-09-15: | Five Episodes on Make |
| 2010-09-15: | Testing Scientific Software |
| 2010-09-14: | Software Carpentry Offered Online in Fall 2010 (for Ontario students) |
| 2010-09-13: | Will America's Universities Go The Way Of Its Car Companies? |
| 2010-09-09: | And For My Next Trick... |
| 2010-09-08: | Slides for the First Four Episodes on Make |
| 2010-09-06: | Getting the Source |
| 2010-09-03: | Eight Episodes on the Unix Shell |
| 2010-09-01: | Three More Sets of Slides |
| 2010-08-31: | Five Episodes on the Shell (and Three to Come) |
| 2010-08-27: | Four More Screencasts on Testing |
| 2010-08-26: | Another Update on What You Want |
| 2010-08-23: | What Don't You Understand That You'd Like To? |
| 2010-08-19: | Slides and Scripts for the Next Two Episodes |
| 2010-08-16: | 43% Independent |
| 2010-08-12: | Interview with Cameron Neylon |
| 2010-08-05: | Software Carpentry for Audio and Music Researchers |
| 2010-08-05: | An Answer That Most Students Won't Understand |
| 2010-08-03: | A Question About Nose |
| 2010-08-03: | Open Source, Open Science in 1999 |
| 2010-08-02: | Interview with Sergey Fomel |
| 2010-04-19: | Apologies for the Flurry of Re-Posts |
| 2010-04-16: | File Sharing for Scientists |
| 2010-04-15: | Scimatic Sponsorship |
| 2010-04-12: | More on Instructional Design |
| 2010-04-12: | Teaching Open Source |
| 2010-04-11: | Measuring Science |
| 2010-04-08: | Software Carpentry for Economists in Mannheim This Autumn |
| 2010-04-08: | Platforms |
| 2010-04-04: | Feedback and Boundaries |
| 2010-04-01: | Simon Singh Wins (and So Does Science) |
| 2010-04-01: | Models To Imitate |
| 2010-03-31: | Periodic Table of Science Bloggers |
| 2010-03-30: | Formats |
| 2010-03-29: | What's Not on the Reading List |
| 2010-03-28: | Recommended Reading |
| 2010-03-26: | Instructional Design |
| 2010-03-26: | Online Delivery |
| 2010-03-25: | Software Carpentry Version 4 is a Go! |
| 2010-03-25: | Summer Course: Analyzing Next-Generation Sequencing Data |
| 2010-03-23: | Now on Twitter |
| 2010-03-11: | How Much Of This Should Scientists Understand? |
| 2010-02-28: | Panton Principles |
| 2010-02-25: | Eighty Per Cent! |
| 2010-02-22: | BEACON Funded! |
| 2010-02-12: | Two Views |
| 2010-01-24: | It Seems That Everyone Cares |
| 2010-01-20: | Big Science == Big Skills Gap |
| 2010-01-18: | Was Designed To, But Didn't |
| 2010-01-13: | Whatcha Gonna Do When They Come For You? |
| 2010-01-13: | Podcast with Jon Udell |
| 2010-01-10: | How We Got Here, and Where We Are |
| 2010-01-07: | New Challenges |
| 2009-12-30: | Osmosis is Just a Fancy Name for Failure |
| 2009-12-27: | Dudley and Butte on Software Skills |
| 2009-12-19: | NSF Programs |
| 2009-12-18: | Double Standards |
| 2009-12-11: | Why Opening Up (Probably) Wouldn't Help |
| 2009-11-28: | Thanks, Jamie |
| 2009-11-26: | Caesar's Wife |
| 2009-11-24: | Tutorials Start This Week |
| 2009-11-22: | Serendipitous and Unexpected |
| 2009-11-18: | Special Issue of Computing in Science and Engineering |
| 2009-11-15: | Cloud Computing for Beginners |
| 2009-11-13: | Packaging |
| 2009-11-06: | Python in Science |
| 2009-11-01: | Our Target Audience |
| 2009-10-30: | By Popular Request... |
| 2009-10-23: | Cryptography Isn't Security |
| 2009-10-21: | Should Modeling Be Part of This Course? |
| 2009-10-21: | Creating New Niches |
| 2009-10-16: | Revised Plan |
| 2009-10-08: | Videos from Symposium Are Now Online |
| 2009-10-06: | Comments on Course Reorganization |
| 2009-10-05: | The Hacker Within |
| 2009-09-29: | A Strange Obsession |
| 2009-09-24: | Presentation, Presentation, Presentation |
| 2009-09-22: | Grant Proposal |
| 2009-09-21: | Another Reason to Care About Provenance |
| 2009-09-18: | Updated Outline for Revised Course |
| 2009-09-15: | Partial Outline of New Version of Course |
| 2009-09-11: | Job Opening: MITACS Scientific Coordinator |
| 2009-09-11: | Two Links |
| 2009-09-05: | R for Programmers? |
| 2009-08-30: | Is The Future Waving At You? |
| 2009-08-26: | How Important is Geospatial Data to You? |
| 2009-08-24: | Science and JoVE |
| 2009-08-24: | Bad News and Good News |
| 2009-08-24: | Playing Safe |
| 2009-08-24: | Who Owns Your Data? |
| 2009-08-23: | The Delight Is In The Details, Too |
| 2009-08-21: | The Big Picture |
| 2009-08-15: | It's Like Not Wearing Your Cleats in the House |
| 2009-08-15: | You Can Do a Lot Without Programming |
| 2009-08-06: | American Scientist Article on How Scientists Use Computers |
| 2009-08-04: | The Ice Cream Test |
| 2009-08-03: | What *Is* Open Science? |
| 2009-08-03: | Guest Speakers' Slides Now Available |
| 2009-08-02: | Next Steps |
| 2009-08-01: | Post-Mortem |
| 2009-07-31: | Day[-2] |
| 2009-07-31: | A Good Afternoon |
| 2009-07-29: | Every Day Is a Big Day... |
| 2009-07-28: | Day 11 and Day 12 |
| 2009-07-27: | Where This Course Came From |
| 2009-07-26: | Martin Fenner on SciBarCamp |
| 2009-07-24: | Day 10 Done - and With It, Week 2 |
| 2009-07-24: | Day 9 |
| 2009-07-22: | Day 8: Getting It Right |
| 2009-07-22: | Day 7: Lots More Objects |
| 2009-07-21: | Elsevier's Future, Version 0.1 |
| 2009-07-21: | Day 6: Theory and Practice |
| 2009-07-19: | Quantum to Cosmos: October 15-25 in Waterloo |
| 2009-07-19: | Day 5 |
| 2009-07-17: | Day 4 |
| 2009-07-16: | Day 3 |
| 2009-07-15: | Day 2 |
| 2009-07-13: | Aaaand They're Off! |
| 2009-07-10: | See You Monday! |
| 2009-07-04: | Registration for July 29 Talks is Now Open |
| 2009-06-29: | Quality Control and Traceability |
| 2009-06-29: | The Environmental e-Science Revolution |
| 2009-06-29: | Ready for Proofreading |
| 2009-06-25: | Updating the License |
| 2009-06-24: | Topics and Schedule |
| 2009-06-23: | Another New Version of the Slides |
| 2009-06-15: | And Speaking of Sightings... |
| 2009-06-15: | Sightings |
| 2009-06-15: | Neylon's Head in the Clouds |
| 2009-06-02: | Software Carpentry in Edmonton July 13-31 |
| 2009-06-02: | Two Spots Left in Toronto |
| 2009-06-01: | Big Code vs. Science 2.0 |
| 2009-06-01: | SECSE Workshop |
| 2009-05-12: | Error Handling |
| 2009-05-11: | Links for Summer Interns |
| 2009-05-09: | How Scientists Use Computers: Survey Part 2 |
| 2009-05-06: | Topics and Schedule Posted |
| 2009-05-04: | Entrance Requirements |
| 2009-05-01: | What If Scientists Didn't Compete? |
| 2009-04-28: | Empirical Software Engineering and Scientific Computing |
| 2009-04-27: | Madagascar Course in Delft June 12-13 |
| 2009-04-27: | Firming Up Course Goals |
| 2009-04-23: | What Supervisors Need To Know |
| 2009-04-08: | We've Started a FAQ |
| 2009-04-08: | Software Carpentry in Alberta |
| 2009-04-03: | Cameron Neylon on the Three Opens |
| 2009-04-01: | Software Carpentry in Toronto July 13-31 2009 |
| 2009-03-30: | User Stories |
| 2009-03-25: | Inference for R |
| 2009-03-25: | Open Notebook Science Badges |
| 2009-03-17: | Legal Frameworks for Reproducible Research |
| 2009-03-02: | Open Science and Autism's False Prophets |
| 2009-02-23: | Das Kapital, Computational Thinking, and Productivity |
| 2009-02-18: | Computer Supported Collaborative Science |
| 2009-02-18: | Open Science Panel at Columbia |
| 2009-02-16: | Enough Players to Hand Out Medals |
| 2009-02-11: | MTEST |
| 2009-02-11: | Carl Zimmer's Readers' Reading List |
| 2009-02-11: | Python Textbooks for Biotech |
| 2009-02-06: | Sharing Data Isn't That Easy |
| 2009-02-04: | Cameron Neylon Says Interesting Things |
| 2009-01-30: | 'Communicate First, Standardize Second' |
| 2009-01-27: | Web Native Lab Notebooks |
| 2009-01-23: | A New Kind of Big Science |
| 2009-01-10: | I *Want* To Be A Number |
| 2008-12-31: | Time to Freshen It Up |
| 2008-12-26: | Things I'd Like To Finish In the Next 489 Days |
| 2008-12-24: | A Healthy Dose of Scepticism |
| 2008-12-19: | The National Academy Would Like to Hear From You |
| 2008-12-19: | Google Pulls the Plug on Scientific Data Sharing Project |
| 2008-12-10: | Three Reasons to Distrust Microarray Results |
| 2008-11-30: | Igor, Connect the Electrodes! |
| 2008-11-21: | SECSE'09 Call for Papers |
| 2008-11-20: | Getting the Science Right---Or At Least, Less Wrong |
| 2008-11-17: | Science Lessons for MPs |
| 2008-11-16: | What Sciences Are There? |
| 2008-11-04: | One Good Survey Deserves Another |
| 2008-11-02: | 1731 People |
| 2008-10-27: | Finding and Re-using Open Scientific Resources |
| 2008-10-15: | Surveying Scientists' Use of Computers |
| 2008-09-11: | Science in the 21st Century |
| 2008-09-04: | Science 2.0: the Future of Online Tools for Scientists |
| 2008-08-22: | Bil Lewis Works With Biologists... |
| 2008-08-13: | Data Provenance Challenge |
| 2008-08-11: | SciFoo, eGY, and Splitting |
| 2008-08-01: | They're Breeding Like Rabbits |
| 2008-07-28: | Next Lecture? |
| 2008-07-23: | Badge of Reproducibility |
| 2008-07-23: | Quick Quiz to Measure What Scientists Know |
| 2008-07-22: | Reviving the Software Carpentry Mailing List |
| 2008-07-19: | Badge of Honor? |
| 2008-07-01: | Kevin's Been Busy |
| 2008-06-13: | What a Proposal Looks Like |
| 2008-06-06: | Faking Results |
| 2008-06-03: | Three Weeks and Change |
| 2008-05-30: | Programming and Scientific Education on Slashdot |
| 2008-05-27: | Reminded of the Difference Once Again |
| 2008-05-25: | Interviewed by Jon Udell |
| 2008-05-21: | Why Don't We Do This? |
| 2008-05-16: | But I Was Gone Less than 48 Hours! |
| 2008-05-15: | SE-CSE Workshop |
| 2008-05-05: | Those Who Will Not Learn From History... |
| 2008-04-14: | SPOC |
| 2008-04-10: | Three Studies (Maybe Four) |
| 2008-04-02: | Summer Plans for Software Carpentry |
| 2008-04-02: | The Retractions Just Keep Coming In |
| 2008-03-31: | Meet the New Flaw |
| 2008-03-26: | Nice Quote |
| 2008-03-07: | Survey: Silent Errors in Scientific Code |
| 2008-03-06: | LearnHub Launches with Software Carpentry Front and Center |
| 2008-02-26: | Scientific Groupware Revisited |
| 2008-02-20: | O'Reilly Creating a Web Version of Mathematica |
| 2008-02-14: | Grumpy Minds Think Alike |
| 2008-02-02: | SciBarCamp in Toronto March 15-16 |
| 2007-12-09: | Python Supercomputing Statistics |
| 2007-10-26: | The Burning Man of HPC |
| 2007-10-02: | Doomed to Repeat It |
| 2007-09-25: | Another Sighting of Software Carpentry |
| 2007-09-05: | Openness and (the promise of) XML |
| 2007-08-31: | Random Survey about HPC |
| 2007-08-07: | How I'm Doing |
| 2007-07-31: | How Not to Collaborate |
| 2007-07-18: | Computational Education for Scientists |
| 2007-07-05: | Win a Trip to Reno! |
| 2007-07-04: | Another Sighting of Software Carpentry |
| 2007-06-27: | Two Studies of ASCI (and no, that's not a typo) |
| 2007-06-26: | Software Carpentry at LLNL |
| 2007-06-20: | Software Carpentry Screencasts by Chris Lasher |
| 2007-06-20: | Inspirational Videos |
| 2007-06-18: | Nature Precedings |
| 2007-06-11: | Praising the Good |
| 2007-05-05: | Computational Scientists Still Don't Get It |
| 2007-04-02: | Titus Brown Teaching Software Carpentry |
| 2007-03-19: | Sign Error: Five Papers Retracted |
| 2007-03-11: | SciPy'07 Dates Announced |
| 2007-03-10: | Reproducibility of Computational Results |
| 2007-02-07: | Software Carpentry Screencasts |
| 2007-01-18: | Software Carpentry Usage in December |
| 2006-12-05: | YouTube for Data |
| 2006-11-28: | Software Carpentry article in CiSE |
| 2006-11-02: | Software Carpentry continues to grow |
| 2006-10-31: | Computational Result Retracted |
| 2006-10-26: | German Version of 'Bottleneck' |
| 2006-08-17: | Oh My God It's Django! |
| 2006-08-17: | SciPy'06: First Morning |
| 2006-08-16: | SciPy and Software Carpentry |
| 2006-08-04: | HPCWire Interview on Software Carpentry |
| 2006-07-30: | Design Patterns in Scientific Software |
| 2006-07-20: | The Parallel Tools Platform |
| 2006-07-14: | Software Carpentry 3.0 |
| 2006-06-25: | Software Carpentry's new home |
| 2006-05-05: | Revised Lecture on Teamware |
| 2006-05-03: | Software Carpentry 1111 |
| 2006-04-28: | Corrections Done |
| 2006-04-17: | Zipf's Law of Feedback |
| 2006-04-09: | 341 Words |
| 2006-04-05: | New Security Lecture Up |
| 2006-04-04: | Integration and XML Lectures |
| 2006-03-26: | 2020 Hype |
| 2006-03-06: | Web Server Programming Lecture Is Up |
| 2006-03-03: | Client-Side Web Programming Lecture |
| 2006-03-02: | Last Two Lectures Are Up |
| 2006-02-23: | Database Lecture is Up |
| 2006-02-22: | Second Lecture on Testing Now Online |
| 2006-02-21: | What Else for Software Carpentry? |
| 2006-02-21: | Second Lecture on Object-Oriented Programming |
| 2006-02-20: | AAAS Annual Meeting 2006 |
| 2006-02-14: | Data Lineage |
| 2006-02-14: | Lecture on Binary Data |
| 2006-02-12: | Regular Expressions Lecture is Up |
| 2006-02-10: | Software Carpentry Design Lecture |
| 2006-02-06: | First Lecture on Object-Oriented Programming Is Up |
| 2006-02-02: | Debugging Lecture |
| 2006-01-29: | Fourth Python Lecture for Software Carpentry |
| 2006-01-24: | Quality Assurance Lecture Now Available |
| 2006-01-23: | Programming Style Lecture Has Been Revised |
| 2006-01-23: | Third Software Carpentry Python Lecture on the Web |
| 2006-01-18: | Second Python Lecture Now on the Web |
| 2006-01-15: | Intro Python Lecture Available |
| 2006-01-11: | Build Lecture Is Up |
| 2006-01-09: | Two More Revised Software Carpentry Lectures |
| 2006-01-04: | First Shell Lecture for Software Carpentry is Up |
| 2006-01-02: | Software Carpentry Introduction revised and on the web |
| 2005-12-28: | $67 million a year |
| 2005-12-27: | New Year's Schedule for Software Carpentry |
| 2005-12-23: | Procrastination: One of the Few Things in Life Nicer Than Toast |
| 2005-12-11: | Maintaining Correctness |
| 2005-12-09: | American Scientist article on Software Carpentry |
| 2005-12-08: | Executive Version of Software Carpentry Course |
| 2005-11-04: | Workshop at AAAS '06 |
| 2005-09-21: | Software Carpentry at the AAAS |
| 2005-09-20: | Day 9 |
| 2005-09-14: | Software Carpentry: First Meeting |
| 2005-08-22: | Software Carpentry at Indiana University |
| 2005-07-29: | Software Carpentry course in Nature |
| 2005-07-08: | Software Carpentry notes are up |
| 2004-12-30: | Python Software Foundation Grant |