# Posts by Year

## JavaScript for Data Science

We’re very pleased to announce that our book JavaScript for Data Science has now been published. You can purchase it through most online bookstores or direct...
February 06, 2020

## The Doors Are Quiet Now

The cupboard doors in my mum’s kitchen always rattled when I opened them. Her measuring spoons hung on hooks on the back of the left door and her measuring c...
January 13, 2020

1958
January 11, 2020

## Goodbye, Mum

In the end you think about the beginning. I remember sweaters so thick you could use them as blankets, each one made by hand. I remember getting blackberry p...
January 07, 2020

## Knitting

I woke up sick on Friday morning and spend that day and most of Saturday feeling sorry for myself. By yesterday afternoon I was going stir crazy so I decided...
January 05, 2020

## A Model Experiment

A couple of years ago, I pointed out that no one has ever done an empirical study to determine whether version control is actually a better way to manage sof...
January 04, 2020

January 03, 2020

## Correlations

A previous post presented the Gini coefficients for contributions to 10 Git repositories measuring number of commits and number of lines committed. The two w...
December 31, 2019

## Method, Motive, and Opportunity

TL;DR: I propose a two-day workshop to teach programmers what they need to know about politics, economics, and justice from a progressive point of view in...
December 30, 2019

## Gini Coefficients

A Gini coefficient is a simple measure of income equality. A coefficient of 0 indicates perfect equality (everyone has the same amount), while a coefficient ...
December 23, 2019

## Empirical Examples

Back in July 2000, I sent these messages to the Python developers’ mailing list. List comprehensions were still a new feature, and I thought the best way to ...
December 23, 2019

## Terms

Back in 1975, Fred Brooks wrote:
December 20, 2019

## Measuring Software Tools

I think there are four interesting ways to measure a software tool. To make them seem more deserving of serious attention, I’m going to use mathematical nota...
December 17, 2019

## Rates

I talk a lot about lesson design and delivery, but when instructors get a chance to ask me something one-to-one, what they often ask is, “How much should I c...
December 13, 2019

## Synchronous Online Active Classes

I have run RStudio’s instructor training class three times in the last three weeks, which has prompted me to think again about the future of teaching and lea...
December 13, 2019

## Remembrance

Thirty years on, most Canadians instantly recognize the name of their murderer. I’d rather remember theirs:
December 06, 2019

## How I Teach Today

I teach a training class for RStudio instructors once a month or so, and invigilate anywhere from half a dozen to a dozen exams each week. The mechanics are ...
November 25, 2019

## Allocating Responsibilities

I wrote this guide ten years ago when I was supervising undergraduate programming projects at the University of Toronto. I hope it’s still useful.
November 19, 2019

## Cutting Corners

I wrote this guide ten years ago when I was supervising undergraduate programming projects at the University of Toronto. I hope it’s still useful.
November 19, 2019

## Team Conflict

I wrote this guide ten years ago when I was supervising undergraduate programming projects at the University of Toronto. I hope it’s still useful.
November 19, 2019

## Gage Park

Sometimes we get more than we deserve.
November 13, 2019

## Night Watch

“That’s a nice song,” said young Sam, and Vimes remembered that he was hearing it for the first time.
November 13, 2019

## Power is Always Suspicious of Fun

My dad told me once that Hitler feared Charlie Chaplin more than Winston Churchill, because people will rally around a leader who is faced with an enemy, but...
November 05, 2019

## Ten Simple Rules That Are Missing

I’m a big fan of PLOS’s Ten Simple Rules and Quick Tips papers. I’ve contributed to a few, but there are many more I’d like to read. If you can write any of ...
November 03, 2019

## First Do No Harm

Maya Gans and I are pleased to announce that TidyBlocks has adopted the Hippocratic License, a new open source license that allows people to use software fre...
October 30, 2019

## Family

Twelve years ago today.
October 26, 2019

## Teaching Tech Together Is Out

I am pleased to announce that Teaching Tech Together has now been published by Taylor & Francis. You can buy it from them directly or get it through your...
October 25, 2019

## In Bloom

My father kept these four plants on the window sill for years. One day he went downstairs and they were all in bloom. It only happened once, but he always ho...
October 25, 2019

## So You’ve Been Fired

Insist on a record of all conversations. The biggest mistake you can make is to assume good faith on the part of those who fired you.
October 17, 2019

## Timeline of a Conversation That Never Happened

In April 2019, DataCamp hired an outside firm investigate their mishandling of Jonathan Cornelissen’s sexual assault of Kara Woo.
October 17, 2019

## Proficiency

Edwin Thoen recently tweeted a short video showing how to use multiple cursors in the RStudio IDE. It’s a powerful little feature that most users don’t know ...
October 11, 2019

## Managing a Queue of Learners

More than 200 people will have taken RStudio instructor training by the end of this year. Unlike many courses, participants don’t sign up for a specific clas...
September 27, 2019

## Ecosystems

My daughter was asked to pick an ecosystem and write a paragraph about it, then make a list of things she learned while doing the assignment. She had exactly...
September 22, 2019

## Wind Chimes in the Rain

I woke up this morning to the sound of wind chimes in the rain. It isn’t fall yet, but it’s definitely no longer summer: not cold, not even cool, but both ar...
September 13, 2019

## How Do You Tell?

I had another good conversation yesterday with Prof. Sally Fincher, whose work was a big influence on Teaching Tech Together. The subject was notional machin...
September 05, 2019

## TidyBlocks Webinar

If you’ve ever played with Scratch or another blocks-based programming tool and said, “Gee, I wish I could use something like this to wrangle data,” you’re i...
September 04, 2019

## Finally Real

For the last twenty years I’ve kept a list of books and projects that I didn’t think I would ever get around to doing. I am very (very) pleased that two of t...
August 22, 2019

## Riding at Night

There is something magical about riding a bicycle down an empty street on a warm summer evening. Porch lights are on, and you can hear TVs and people talking...
August 20, 2019

## It Feels Good to be Useful

A notification landed in my email earlier today because my GitHub ID had been mentioned in an issue, and I couldn’t be happier about its content. @njsmith w...
August 14, 2019

## Research This!

I presented “Research This! Questions that Computing Educators Most Want Computing Education Researchers to Answer” at ICER 2019 this morning, and the full p...
August 14, 2019

## Exoplanets

I think a lot about Scott Hanselman’s phrase “dark matter developers“—about the possibility that the 1% or 5% of developers who blog, tweet, post on Stack Ov...
August 10, 2019

## Documentation Types

This post is an update on an earlier one that slims down the set of documentation types. Feedback is very welcome.
August 08, 2019

## RIP Toni Morrison

If there is a book that you want to read, but it hasn’t been written yet, you must be the one to write it. — Toni Morrison
August 06, 2019

## Computational Science Education (1996 edition)

Once upon a time, my job was to make scientists’ software run on a supercomputer that (like me) lived in the basement of a building in Edinburgh. A new facul...
August 05, 2019

## No Support for Hate

Twitter, Cloudflare, Shopify, and Amazon won’t care if they lose my business: I’m just one consumer. They will care if programmers refuse to work with them b...
August 04, 2019

## Teaching Online

I think that our grandchildren will probably regard the distinction we make between what we call the real world and what they think of as simply the world...
August 03, 2019

## Doing Good and Getting Paid

I taught RStudio’s instructor training course three times in the last three weeks, and one follow-up question that came up every time was, “How do I start bu...
July 27, 2019

## Third Walls and Eighth Bolts

My brother Jeff used to talk about the third wall. When you’re painting a room, the first wall is easy because you’re excited about getting a chore done. The...
July 22, 2019

## Is This a Notional Machine for R?

A year ago, I wrote a description of a notional machine for Python, i.e., the mental model of how Python programs execute that I want to convey to learners w...
July 15, 2019

## A Veteran of a Thousand Language Wars

You see me now a veteran of a thousand psychic wars I’ve been living on the edge so long, where the winds of limbo roar… — Blue Oyster Cult
July 07, 2019

## Deskilling Learning

According to Wikipedia, deskilling is, “…the process by which skilled labor…is eliminated by the introduction of technologies operated by semiskilled or unsk...
July 07, 2019

## Patterns in Git

Two years ago, I proposed that someone could try to fix Git’s usability issues by:
July 05, 2019

## A Modest Proposal

Undergraduate enrolment in computer science has gone up and down several times over the years. We’re currently in a boom, but history teaches that numbers wi...
July 05, 2019

## Who I’ve Cited

Authors cited in Teaching Tech Together; all 356 references are available online.
June 27, 2019

## Chapter Summaries

Key points from each chapter of Teaching Tech Together to complement yesterday’s index.
June 24, 2019

## An Index

So what exactly does Teaching Tech Together cover?
June 23, 2019

## Typography

My dad used to have a little pocketbook that was given to Australian soldiers during the Korean War. It had a few handy phrases in Korean, Chinese, and Russi...
June 20, 2019

## Feature Complete

Teaching Tech Together is feature complete: I have to revise the diagrams and do one last pass on grammar, but I think the content is in close-to-finished fo...
June 19, 2019

## Chunks versus Functions

I have now done two multi-page analyses in R Markdown, and one thing I’ve noticed is that I’m writing fewer functions than I normally would. A command-line s...
June 16, 2019

## Ten Quick Tips for Delivering a Programming Lesson

Designing a great lesson is the first 90% of effective teaching; delivering it well is the other 90%. The 10 simple rules outlined in this paper describe ...
June 15, 2019

## Software Isn’t Sustainable

Software Carpentry didn’t start life as a training program: it began as a competition to design software tools that would be easier for scientists to use. Th...
June 14, 2019

## Martha’s Rules

A group I’m part of is using Martha’s Rules for consensus-based decision making. It’s working pretty well, and I hope the summary below will be useful to oth...
June 13, 2019

## ICER Acceptance

Paul Denny, Brett Becker, Michelle Craig, Piotr Banaszkiewicz, and I were very pleased to receive notice last week that ICER 2019 has accepted our paper expl...
June 06, 2019

## Software Engineering Revisited

I am at the International Conference on Software Engineering for the first time in a decade. It’s been good to catch up with friends, but this fly-by has con...
May 30, 2019

## Checking-Driven Development

I spent some time talking to my colleague Garrett Grolemund this week about software testing and data science, and I think I’m a little less confused about a...
May 28, 2019

## Active Teaching

Educators use the term active learning to describe learning through play, group discussion, one-minute papers, or anything else that requires learners to use...
May 26, 2019

## LaTeX, Biber, and Pandoc

I’m trying to get Teaching Tech Together ready for publication. The PDF is looking OK, but I’m struggling to get an HTML that I’m happy with, and I’m hoping ...
May 26, 2019

## Words and Hours

Words and productive hours per day over the past five months.
May 24, 2019

## Checking-Driven Development

I spent some time talking to my colleague Garrett Grolemund this week about software testing and data science, and I think I’m a little less confused about a...
May 24, 2019

## Bottle of Light

Scholastic published a book of mine titled Bottle of Light back in 2008 as part of a reluctant reader program—it wasn’t ever available directly to the public...
May 23, 2019

May 20, 2019

## And Then Another

Comes a day, last kiss Comes a day, last breath Comes a day, and then another
May 19, 2019

## Buzzfeed on DataCamp

Davey Alba’s article for Buzzfeed about DataCamp’s mishandling of an incident of sexual harassment has just been published. I think it’s a well-written summa...
May 13, 2019

## Positive and Negative Openness

Yesterday, R-Ladies posted this great list of practical steps that people can take to build an R community where they work. I’m going to quote it a lot, but ...
May 11, 2019

## In the Classroom

My ten rules for teaching are too high-level to be immediately useful in the classroom, so here are ten others that I hope will help people in the moment as ...
May 04, 2019

## Shorter Lines

Mark Guzdial wrote a short series of tweets yesterday on how to reduce long lines at Computer Science office hours, which he has expanded in this post:
May 03, 2019

## Sexing Data Science Chickens

The biggest problem in data science is its bias against people who aren’t straight, affluent, white or Asian males. Its second biggest problem, in my opinion...
May 02, 2019

## R in the Browser

Mozilla has just earmarked \$25,000 of funding for a research project aimed at getting R running in browsers under WebAssembly. The project is RQ5 in this lis...
April 29, 2019

## From Textbooks to Notebooks and Back

I just converted my introduction to R for Python programmers from Jekyll to bookdown, partly because I wanted to learn how bookdown works but also because I ...
April 27, 2019

## Ten Quick Tips for Reviewing Lessons

If you do a degree in English literature, you spend most of your time reading and critiquing other people’s work rather than writing new material yourself. I...
April 24, 2019

## DataCamp Clarifications

There has been a lot of discussion online about DataCamp’s mishandling of a sexual assault case since Kara Woo bravely came forward on April 5. I published a...
April 22, 2019

I picked up Phillips and Rozworski’s The People’s Republic of Walmart on a whim, then read it in three sittings. Its subtitle says, “How the world’s biggest ...
April 22, 2019

## Contrarians

Q: How many TED speakers does it take to screw in a lightbulb? A: It’s a really obscure number—you won’t have heard of it.
April 21, 2019

## Leading Questions for Creating a Learning Commons

DataCamp’s mishandling of a sexual assault case has got people thinking about more accountable alternatives. I don’t think we should try to build a new platf...
April 20, 2019

## Learning Curves

I keeping thinking about the idea of a learning curve, but I only realized this morning that the phrase is a little strange. When we say that something has “...
April 17, 2019

## What Docs When

Note: this post updates an earlier one based on feedback from several people. Please keep the comments coming.
April 16, 2019

## An Exchange with DataCamp

I haven’t spoken publicly about my experience with DataCamp out of respect for Kara Woo’s privacy. Now that she has so bravely come forward, I can say that a...
April 15, 2019

## The People You Have

Too often, the defenders of free markets forget that what we really want is free men. — Michael Crawford
April 14, 2019

## Python Flash Cards

I’ve never met Eric Matthes, but after spending an hour browsing his Python Flash Cards, I would like to shake his hand. They’re well written, beautifully or...
April 12, 2019

## Ten Quick Tips for Creating an Effective Lesson

My paper “Ten Quick Tips for Creating an Effective Lesson” is now available from PLOS Computational Biology. I hope you find it useful.
April 12, 2019

## What Docs and When

Note: this post has been superseded by a more recent one.
April 10, 2019

April 06, 2019

## The Worst Behavior

two years after the incident and DataCamp is here to collect their reward for doing the absolute bare minimum. — Jesse Mostipak
April 05, 2019

## Not a Hammer

A plea to programmers everywhere:
April 04, 2019

A million miles our vagabond heels Clocked up beneath the clouds They're counting down to show time When we do it for real with the crowds Air miles are owi...
April 03, 2019

## What I Didn’t Tweet in March

The greatest trick the devil ever pulled was convincing so many people that he needs an advocate.
March 31, 2019

## Concept Maps

Inspired by Daniela Soto’s awesome concept map of the Carpentries’ instructor training, I’ve drawn some for the lessons I’ve been writing for RStudio. Whatev...
March 31, 2019

## Online Teaching Setup

As I mentioned last week, Garrett Grolemund and I have been teaching RStudio’s instructor training and certification online, and I’m pretty pleased with our ...
March 30, 2019

“PythonSneks: An Open-Source, Instructionally-Designed Introductory Curriculum with Action-Design Research” by Bart, Sarver, Friend, and Cox is one of my fav...
March 30, 2019

## You Should Talk to HR

I was recently reminded that a lot of people in tech think HR’s only responsibilities are hiring, benefits, and firing. That’s not how it’s supposed to work:...
March 27, 2019

March 24, 2019

## Twelve Weeks, Twelve Tools

Suppose you have a group of junior developers who have built moderately complicated web applications using Express and React, but don’t really understand how...
March 21, 2019

## Educational Paramedics

Garrett Grolemund and I just wrapped up a couple of days of instructor training for RStudio staff, and one of the things I learned from participants’ questio...
March 20, 2019

## Christchurch and Shopify

Man I can’t honestly tell if it’s just transference because I don’t know what to do with my anger and pain about it, but it sure does fucking suck that ev...
March 15, 2019

## Keep Me In Your Heart for a While

Shadows are fallin’ and I’m runnin’ out of breath Keep me in your heart for a while If I leave you it doesn’t mean I love you any less Keep me in your heart ...
March 14, 2019

## Reviewing Lessons

I had a great discussion yesterday with Garrett Grolemund about reviewing slides for lessons. We’re teaching a class together next week, and while I’m happy ...
March 12, 2019

## The Tool I Want

We talk about “programming” as if there was just one kind, but in the past three months I have:
March 10, 2019

## Learning to Program

A colleague recently pointed me at The Immutable Laws of Brainjo, which explains how to master a musical instrument more efficiently based on the neuroscienc...
March 07, 2019

## Things I Didn’t Tweet This Month

Classifying Data
February 28, 2019

## Making It Work in Practice

From 2011 to 2016, Jorge Aranda and I tried to get software engineering researchers and practitioners to talk to one another by writing reviews of papers wri...
February 25, 2019

## Durations

I’ve been tracking how long I work on what for a while now, and the distribution tells me that I need to manage interruptions a little better.
February 20, 2019

## Is Code-Along Formative Assessment?

Wikipedia defines formative assessment as, “…a range of formal and informal assessment procedures conducted by teachers during the learning process in order ...
February 20, 2019

## Late Binding

I’ve been working on a new Jekyll template for lessons that can also be used to produce nicely-formatted PDFs, mostly to give myself an excuse to do a little...
February 16, 2019

## Examples Wanted for Code Review

There’s a lot of good advice on the web about how to do code reviews, from Cohen et al’s Best Kept Secrets of Peer Code Review to articles like these ones. W...
February 11, 2019

## Libraries Tell It Like It Is

February 05, 2019

## Classifying Data

With apologies to Borges, I believe that all data sets can be classified as follows:
February 04, 2019

## Things I Didn’t Tweet This Month

“I did then what I knew how to do. Now that I know better, I do better.” - Maya Angelou
January 31, 2019

## Why I Teach (Revisited)

When I first started volunteering at the University of Toronto, students occasionally asked me why I would teach for free. This was my answer in 2004:...
January 30, 2019

## Computing Skills Books for Researchers

Thrice upon a time, I ran Software Carpentry as a one-semester course at the University of Toronto. I toyed with the idea of turning those notes into a textb...
January 28, 2019

## The Elements of Programming Writing Style

Along with my list of unwritten books about programming, I’ve kept a haphazard list of ones that have influenced the way I write about the subject. Sometimes...
January 26, 2019

## The Principle of Least Precision

Another day, another attempt to formalize something whose utility lies in its informality. Rigor and precision have their place: if someone asks, “What’s the...
January 24, 2019

## Leadership Training for Open Science

Many people in various open science communities have technical skills and good intentions, but no experience engineering structural change in organizations. ...
January 10, 2019

## Not on the Shelves (2019 Edition)

I made progress on two book projects last year: Teaching Tech Together is now “done”, and JavaScript versus Data Science should be out some time in February....
January 06, 2019

## How Feasible is a Harassment Canary?

After reading “10 Impressive Questions to Ask in a Job Interview” back in November, I tweeted:
December 31, 2018

## Harper: Lesson Discovery and Aggregation

After feedback from several people, I have updated the proposal for a lesson discovery and aggregation system (now called “Harper”) and put it in its own pag...
December 30, 2018

## Data Wrangling with JavaScript

I recently read and enjoyed Ashley Davis’s new book Data Wrangling with JavaScript. As its title suggests, it doesn’t spend very much time on statistical the...
December 29, 2018

## Use Case Maps Revisited

Back when I was struggling to teach a meaningful course on software architecture at the University of Toronto, I mentioned Reekie and McAdam’s book A Softwar...
December 27, 2018

## Poor Thinking

Linda Tirado’s essay about being poor has haunted me since I first read it four years ago. “Poor people don’t plan long-term: we’ll just get our hearts broke...
December 26, 2018

## Be Grateful for the Present You Got

Not long before the end, I asked my brother Jeff if he was angry about his life being cut so short. He said, “I try not to be. If you get a really good prese...
December 24, 2018

After yet another unpleasant encounter on Twitter, I have deliberately locked myself out of my account for a couple of weeks: it just doesn’t seem the grief ...
December 24, 2018

## PETE, PRIMM, and Monsters

A year ago, I wrote a short catalog of exercises that you can use in programming classes. I’d now like to build up a catalog of lesson structures, and would ...
December 20, 2018

## Fourteen Percent and a Change of Direction

Following on from previous posts about sharing lessons (which were actually more about discoverability), this post is yet another re-think, and is based i...
December 19, 2018

## Thirteen Percent and Counting

Last week, I posted a description of a half-baked plan for lesson aggregation. I’ve had some useful discussions since then; what follows is hopefully the fi...
December 17, 2018

## Speaking of Accessibility

Elizabeth Patitsas has put together a truly awesome reading list on the social context of computer science education. It’s full of pointers to important work...
December 16, 2018

## No Straight Pipeline

Most people will probably read JavaScript versus Data Science online for free, but I like having printed copies of books. Getting this one out the door gave ...
December 14, 2018

## A Story Line Game for Teaching

In the wake of yesterday’s launch of JavaScript versus Data Science, I’ve been thinking about what I could do in 2019, and about a party game that I’m fond o...
December 13, 2018

## JavaScript versus Data Science

Toby Hodges and I are very pleased to announce the launch of JavaScript versus Data Science, a tutorial on one of the world’s most widely-used languages for ...
December 12, 2018

## Twelve Percent of a Plan

Please see this post and this one for follow-on thoughts.
December 12, 2018

## The Third Wall

My brother Jeff used to say that the third wall’s the hardest. What he meant was that when you’re painting a room, the first wall goes well because you’re ex...
December 08, 2018

## Three Courses

People who’ve known me for a while will have heard all this before, but since some of you haven’t, here’s what I would put in the core of a modern undergradu...
December 06, 2018

## Analyze That! Very Preliminary Results

What questions do people who teach computing most want computing education researchers to investigate? A few months ago, Brett Becker, Michelle Craig, Paul D...
December 06, 2018

## Teaching Workshop on March 2, 2019

I’m very pleased to announce that we’re offering a one-day workshop on how to teach tech (and other things) at the Toronto Public Library on March 2, 2019, a...
December 05, 2018

## One Last Step

I’ve been saying for a while that within a few years, most people who are analyzing data will be doing it in JavaScript. It has an enormous user base, great ...
December 02, 2018

## OER Landmines

Some great discussions this past week with some new friends in the Open Educational Resources movement. A few things that came out of it:
December 02, 2018

## Learning from McMaster

The medical program at McMaster University is one of the best in Canada. While everyone likes to toot their own horn, they’re simply telling the truth when t...
December 02, 2018

## Scripts

Somewhere out there, in this universe or another, there’s a third Aliens movie in which we discover that the monsters from the first two films are precursors...
November 30, 2018

## Lesson Installation

November 30, 2018

## Teaching as a Telenovela

I have never been a fan of a daytime soap opera (that I’m willing to admit in public), but I once had a chance to see one being filmed, and I came away with ...
November 29, 2018

## Augmenting Error Messages

Posted on behalf of a colleague: if you’re a Python programmer, and would like to help make using the language easier, they’d appreciate hearing from you. Y...
November 28, 2018

## My To-Don’t List

Most of us have a to-do list. For years I kept mine in a hardcover lab notebook, copying items forward at the start of each day until they were done or I had...
November 28, 2018

## Afraid of Change

A few months ago, I had the misfortune to take part in an awful one-day workshop based on an equally awful book called Radical Candor. For those lucky enough...
November 24, 2018

## Non-Standard Evaluation in R

This post is my attempt to explain how non-standard evaluation works in R. I'm writing from the standpoint of a C and Python programmer who was once conversa...
November 16, 2018

## The Real Open Challenges

Two days, two articles I can’t access (and gosh, isn’t the use of “open” in the title of the first one ironic). And please don’t tell me that I can probably ...
November 15, 2018

## Building Powerful Community Organizations

I’ve written about the book Building Powerful Community Organizations before, but I’m very happy to have a reason to do so again: I finally got to meet its a...
November 09, 2018

## Abstraction and Comprehension Continued

In response to my previous post, Mark Guzdial tweeted this:
November 05, 2018

## Abstraction and Comprehension

I’ve been thinking a lot about the notations we use for programming as I’ve been teaching myself R, and I have a theory. When we use a low-level language, we...
November 03, 2018

## Twelve Questions

Way back in the year 2000, Joel Spolsky wrote down twelve questions for assessing the quality of a software team. This became known as the Joel test, and it ...
November 01, 2018

## Credit and Respect

You can tell what people respect by what they’re willing to give others credit for doing. Which brings me to the most recent version of the ACM’s criteria fo...
October 31, 2018

## Ten Rules

I’ve added a new page summing up everything I know in bite-sized chunks. I hope it’s useful.
October 31, 2018

## Formatting Functions

I’ve written and edited a little over two million words of computer-related material in the last 35 years. For much of that time I wrote time() to mean “the ...
October 26, 2018

I have bought hundreds of books from Amazon in the past eighteen years, and while its recommendations were sometimes bizarre, I often enjoyed logging in and ...
October 25, 2018

## Two Columns

I’m spending a few minutes every morning adding prose to the point-form notes in JavaScript versus Data Science. My goal is to have a single document that co...
October 24, 2018

## Writing Fiction

My first two books were on parallel programming. A few hundred people bought each, but they were quickly out of date. More people read Beautiful Code and its...
October 19, 2018

## Four Forms of Documentation

A colleague recently pointed me at this article by Daniele Procida that divides software documentation into four categories:
October 18, 2018

## Flake and Collins, Mark and Jack and Tobi

It’s been a difficult couple of weeks, watching helplessly as reactionaries give a perjuring rage-baby a lifetime appointment to the Supreme Court. Christine...
October 06, 2018

## Teaching Ethics

A couple of days ago, I wrote about the excellent book What Works for Women at Work and said that it would be required reading if I ever taught another under...
September 18, 2018

## Ten Simple Rules for Creating an Effective Lesson

I am putting together a short guide to creating effective lessons, and would be grateful for feedback. If you are comfortable with LaTeX and GitHub, you can ...
September 16, 2018

## What Works for Women at Work

I never got more than a couple of dozen pages into Sandberg’s Lean In, but I’ve just finished Williams and Dempsey’s What Works for Women at Work and loved i...
September 16, 2018

## Analyze That!

We are conducting a study to find out what questions people who teach computing would most like researchers to answer. If you teach programming, web design, ...
September 05, 2018

## Two Courses

Toby Hodges and I are pleased to announce the release of Version 0.2 (ish) of JavaScript versus Data Science. It’s still point-form notes, and there are stil...
September 04, 2018

## Joining RStudio

Today is my daughter’s first day at her new school—she’s very excited. Coincidentally, today is also my first day as a full-time member of staff at RStudio, ...
September 04, 2018

## High and Low, One by One or All Together

Thinking some more about my last post, I’ve realized why I am so often frustrated with academia: it’s high church and I’m low church. The terms were first us...
August 31, 2018

## Two Abstracts for Two Audiences

I recently read and enjoyed this paper:
August 28, 2018

## Ten Simple Rules for Creating an Effective Lesson

I’m preparing a couple of talks based on Teaching Tech Together, and this seems like a useful topic to cover. Updated notes are below; I’d be grateful for fe...
August 18, 2018

## Our Last Game

Our last game, January 2018
August 14, 2018

## Authoring

In the beginning was the finger, and paint, and the wall of the cave. Whoever painted the first pictures this way could create whatever they wanted—the mediu...
August 13, 2018

## The Real Challenge

A recent conversation with Toby Hodges reminded me of this post last year by Anil Dash, which in turn reminded me of this Twitter thread:
August 12, 2018

## Three Terms

After DataCamp fired me in June, I spent a month getting Teaching Tech Together over the finish line. With that out of the way, I started thinking once again...
August 07, 2018

## Weak Failure, Strong Failure, and Butter Tarts

Dr. Veronika Cheplygina recently interviewed me for her series “How I Fail”. We discuss weak failure (“I put in a lot of work and nobody got much out of it”)...
July 21, 2018

An astute reader pointed out that some links on my site were 404'ing, so I ran a check for the first time in a couple of years. The results surprised ...
July 17, 2018

## Teaching Tech Together

I am pleased to announce the publication of Teaching Tech Together, a guide to building and delivering lessons that work, and creating a teaching community a...
July 15, 2018

## Isaac Ezer’s Dragnet

I wrote a description last year of different kinds of exercises people use when teaching programming. In it, I talked about the many kinds of things...
July 05, 2018

## Performance Curves, Curriculum Design, and Trust Revisited

This post is an update to one from 2012. I’d be grateful for feedback on the question at the end.
July 05, 2018

## End-User Teachers

I’ve been thinking about a recent article by Mark Guzdial in which he talks about who he’s writing for. Guzdial is a public intellectual: his research is hig...
June 20, 2018

## One-Day Workshops

Over the past year, I’ve run eight workshops on how to teach for various groups and companies in the Toronto area. Their content is drawn from the Carpentrie...
June 14, 2018

## Late Night Thoughts on Listening to Ike Quebec

Late Night Thoughtson Listening to Ike Quebec Greg Wilson May 2018 Presented at CarpentryCon 2018 in Dublin, Irela...
May 30, 2018

## Rules for Teaching

Be kind: all else is details. Remember that you are not your learners… …that most people would rather fail than change… …and that ninety percent of ...
May 13, 2018

## Meetings

This thread on Twitter sparked a lot of interest, so I hope it’s useful if I publish the whole section on meetings from the upcoming revision of How to Teach...
May 11, 2018

## Organize!

I want a cartoon like this, but instead of being labelled “socialist” and “anarchist”, the people pointing at the stars are labelled “MOOCs” and “peer instru...
May 11, 2018

## Cigarettes and Shopify

When I was seven or eight, my teacher told my class that cigarettes cause cancer. My dad was a chainsmoker–a pack a day, sometimes more–so that evening, just...
May 06, 2018

## GSoC 2018

It’s been a couple of years since I supervised a Google Summer of Code project, but I still enjoy browsing the projects and seeing what people are up to. Whi...
April 30, 2018

## Version 3 Feedback

Version 3 of How to Teach Programming (and Other Things) is now kinda sorta maybe ready for feedback: if you have time to go through 270 pages and tell me wh...
April 28, 2018

## Is This a Notional Machine for Python?

Mark Guzdial was kind enough to take a few tweets last week to try to explain the idea of a “notional machine” to me. If I understand correctly, it’s a compe...
April 12, 2018

## Yaks

I’d like to teach scientists how to program, but that would be a lot easier to do if we had better software tools to offer them.
April 01, 2018

## The Undergraduate Software Project Guide

Back in 2007, I tried to condense everything I had learned from supervising undergraduate thesis projects at the University of Toronto and elsewhere into a s...
April 01, 2018

## The Senior Professor’s Handbook

Short version: I’d really like someone who understands sociology and political science to analyze academic publishing and promotion in terms of selectorate t...
March 26, 2018

## Grand Unified Editor Theory

It’s a sad fact that you can’t get a PhD in Computer Science simply by building an innovative piece of software. That’s partly due to a double standard among...
March 24, 2018

## Analog is More Satisfying

I’m organizing my thoughts about other people’s thoughts for the next revision of How to Teach Programming (and Other Things), and have found yet again that ...
March 24, 2018

## Where Does This Come From?

A few years ago I saw a talk that described a tracing tool for blocks-based programming languages. If I recall correctly, the idea was to show time on the ho...
March 23, 2018

## Goodbye, Jeff

In the end you think about the beginning. We weren’t close as children, but he moved to Ottawa to start university the same year I went there for my first jo...
March 20, 2018

## Comments Sought on the Plan for Version 3 of ‘How to Teach Programming’

I am planning a major revision of How to Teach Programming (and Other Things), and would be very grateful for feedback on its design: please mail me your tho...
March 20, 2018

## I Can’t (Quite) Teach JavaScript

I’ve been thinking about what tools I would use to teach librarians how to crunch data if I was starting today with a blank slate, and I have reluctantly con...
March 17, 2018

## Seven Ways to Think Like a Programmer

Jon Udell’s essay “Seven Ways to Think Like the Web” completely changed the way I think about what the Internet is for and how we ought to use it. I tried to...
March 16, 2018

## Chariots

To people who use ‘em, a wheelchair is a chariot of independence. Like a bicycle. Or a skateboard. No one is trapped, tied down, or imprisoned. Quite the ...
March 16, 2018

## A Base Case for Empirical Software Engineering Research

I’ve been saying for years that programmers ought to pay more attention to empirical studies of software engineering and base their practices on evidence rat...
March 13, 2018

## Wanted: A Tool for Figure Labeling Exercises

I’d like to be able to do the following:
March 11, 2018

## Tables

An imagined dialog:
March 09, 2018

## Budgets

Parkinson’s First Law is that work expands to fill the time available, but Parkinson never said whose time. As I’ve watched several organizations I’m involve...
March 09, 2018

## Collaborative Lesson Development

William Gibson once said that our children would find it quaint that we bothered to distinguish the real from the virtual. Now that the hype about MOOCs has...
March 03, 2018

## Workshop on Organizing for Progressive Community Change

A growing number of people who work in tech want to be involved in progressive community change, but have never been part of grassroots initiatives before. W...
February 28, 2018

## I’m Missing

I’ve been browsing the SIGCSE 2018 proceedings (which for once I was able to read legally), and as I wrote last week, I’m repeatedly struck by my own absence...
February 27, 2018

## Teaching Programming in the Wild

Back in 2007, Jorge Aranda published a paper called “Requirements in the Wild”. It won an award for “most innovative paper” because it was the first one in t...
February 18, 2018

## ‘Analyze This!’ for CS Education

Back in 2013, Andy Begel and Tom Zimmermann at Microsoft Research asked software engineers to find out what questions they wanted software engineering resear...
February 14, 2018

## Workshop Benefits

Last September, Feldon et al wrote a paper titled “Null effects of boot camps and short-format training for PhD students in life sciences” that seemed to say...
February 13, 2018

## More Dagstuhl

Following up on my previous post about the recent Dagstuhl meeting on programming language design, I had a look at the slides. There is some awesome stuff he...
February 12, 2018

## My Dagstuhl

Another week, another report of a great meeting at Schloss Dagstuhl, this one about designing and evaluating programming languages. I would probably have enj...
February 10, 2018

## Changes

1998
February 07, 2018

## CarpentryCon 2018

Harriet Alexander just announced that she has taught the first Software Carpentry workshop in Antarctica. Coincidentally, registration is now open for Carpen...
February 04, 2018

## Assessing Competence

A friend who is running workshops to teach coding skills to people getting into tech asked me a question earlier this week: what’s the best way to rate and r...
January 26, 2018

## Procedural versus Declarative

The distinction between declarative memory and procedural memory is one attempt among many to describe the distinction between “knowing that” and “knowing ho...
January 15, 2018

## Ten Simple Rules for Being a Good Educational Research Partner

This is a companion to last year's rules for academic-industry research partnerships.
January 15, 2018

## Educational Bibliography

In response to requests, an incomplete bibliography of papers I read while working on How to Teach Programming (and Other Things). I'm still trying to f...
January 13, 2018

## Teaching Statistics in the 21st Century

The late 1980s saw a wave of new undergraduate programs launched in computational physics, as the advent of affordable workstations and PCs made the power to...
January 09, 2018

## Book Club

I started as a programmer, but somehow became a teacher. If I wanted to make that transition today faster and with fewer false starts, I would read these boo...
January 07, 2018

## Teaching Tech Together Toronto: January 2018 Meetup

The January 2018 meetup for people in the Toronto area who are interested in teaching tech will be on Wednesday, January 17, at Intelliware’s office on Adela...
January 03, 2018

## The Year in Review

January Ran another one-day workshop on how to teach for people in Toronto. It went well: what I learned doing instructor for Software Carpentr...
December 30, 2017

## Wanted: A Workable Lesson Competition

I have sometimes quipped that we’ll know our work is done when the weekend papers run lesson reviews beside their book and movie reviews. (Yes, I quip. I can...
December 30, 2017

## Wanted: Books on How to Teach Computing

Hundreds of books have been written about how to teach mathematics. So far as I know, only a handful have been written about how to teach computing. I’d be g...
December 27, 2017

## Explanation-Oriented Programming

I’m trying to write a small program in a language I don’t yet know well. Each step forward takes two or three tries as I stumble over things I don’t know abo...
December 27, 2017

## Data Visualization as Industrial Design

I’ve had some interesting discussions by email since posting my article about software engineering and industrial design. A couple of them have asked where t...
December 27, 2017

## Petzold’s Rules Revisited

Re-visiting content from almost 12 years ago that has aged very well…
December 24, 2017

## All the Other Santas

December 23, 2017

Three Parts Dead and the rest of Max Gladstone’s Craft Sequence. Retribution Falls and the other three volumes of Chris Wooding’s Tales of the Ketty Jay...
December 23, 2017

## Ten Simple Rules for Talking People Into Things

I don’t always exhibit good judgment, but I am pretty good at talking people into things. Here are ten simple rules for doing it that I hope you will only us...
December 21, 2017

## Teaching for Learning

December 17, 2017

## Invitation: Exercise Types Extended

A couple of months ago, I assembled an incomplete list of automatically gradable exercises that can be used to teach programming. I think it would be useful ...
December 17, 2017

## Consider the Bicycle

Consider the bicycle–more specifically, the De Rosa SK Pininfarina:
December 17, 2017

## What Does Peripheral Participation in Data Look Like?

One of the cornerstones of modern learning theory is legitimate peripheral participation: the idea that newcomers become members of a community of practice b...
December 15, 2017

## The New Standard Model

It’s been 35 years since I first wrote a program for someone else to use. A lot of things have changed:
December 06, 2017

## Second Edition of ‘How to Teach Programming (and Other Things)’

The second edition of How to Teach Programming (and Other Things) is now available. This book shows readers how to build and deliver high-quality learning e...
December 06, 2017

## Remembrance

Jamais plus. Geneviève Bergeron Hélène Colgan Nathalie Croteau Barbara Daigneault Anne-Marie Edward Maud Haviernick Maryse Lagani...
December 06, 2017

## How to Design an Effective Lesson

I have recorded a screencast of this presentation on designing an effective lesson. I’d be very grateful for feedback, either as comments on this blog post o...
December 01, 2017

## My Favorite Tool - Asking for Help

My favorite tool is asking for help. You may not think of it as a tool, but it’s something I use frequently to solve a wide range of problems, so I think it ...
November 28, 2017

## Teaching Guide Updated

I have made updates to How to Teach Programming (and Other Things), and would be grateful for feedback. New chapters are marked with ★ in the table of conten...
November 27, 2017

## Developer Testing in the IDE

Moritz Beller, Gousios Georgios, Annibale Panichella, Sebastian Proksch, Sven Amann, and Andy Zaidman: "Developer Testing in The IDE: Patterns...
November 26, 2017

## Abbreviated vs. Full-Word Identifier Names

Giuseppe Scanniello, Michele Risi, Porfirio Tramontana, and Simone Romano: "Fixing Faults in C and Java Source Code: Abbreviated vs. Full-Word Ide...
November 26, 2017

## Common Misconceptions

November 24, 2017

## Diff and Merge for ProseMirror

ProseMirror is one of the most interesting projects I’ve come across this year. As its blurb says:
November 22, 2017

## Data Science for Software Development

Many software developers are learning data science to analyze their customers' data. What a growing number are realizing is that they can use those same tech...
November 20, 2017

## Freakonomics, But For Good

Freakonomics was a fun read, but it was also very effective propaganda for neoliberal economics. Rather than saying, “Believe what I believe!” it said, “Let ...
November 17, 2017

## Not on the Shelves: 20th Anniversary Edition

Twenty years after writing the first version, I have posted yet another update to my list of unwritten books. If anything on this list already exists, I’d be...
November 11, 2017

## Remembrance Day

Today is November 11th. Every year, on this day, we pause for a moment to remember those who fought so that we don’t have to. Every year, on this day, we tak...
November 11, 2017

## Teaching Tech Together Meetup on Nov 14

We’re holding another meetup on Tuesday, Nov 14, 2017 for people interested in teaching tech skills both inside and outside traditional classrooms. The event...
November 05, 2017

## Carpentry For Everyone

Update: this post from Terry McGlynn says a lot of important things about the relationship between high-status and low-status universities, the mistaken perc...
November 05, 2017

## Books for Programmers

I used to review books about programming for Doctor Dobb’s Journal. Over the last decade, though, I have belatedly realized that programmers can’t understand...
November 04, 2017

## Once Upon a Time

November 02, 2017

## I’m Probably Wrong Again

A couple of years ago, I helped run a Software Carpentry instructor training class in Florida. Part-way through the second day, one of the participants asked...
November 01, 2017

## Making Maintainable Lessons

Good courses take a lot of effort to build, but building them is only half the battle. If you have a hundred courses, you have more than a hundred combinatio...
October 21, 2017

## Change Strategies

I read Borrego and Henderson's paper on getting people and institutions to adopt better teaching techniques for the third time this week, and once aga...
October 21, 2017

## Exercises for Teaching Programming

Every mechanic has her favorite screwdrivers, and every good teacher has different kinds of exercises to check that her students are actually learning, let t...
October 16, 2017

## Discovery: Three and Out

We were really looking forward to Star Trek: Discovery. Finally: a Star Trek series we could watch together for the first time as a family. But that dream di...
October 08, 2017

## The Big Picture Revisited

It’s been seven years since I first tried to draw this diagram; I’m not sure I’ve made much progress, but the act is its own reward. Please click on the imag...
September 30, 2017

## Git, Graphs, and Software Engineering

A couple of years ago, I complained that distributed version control still hadn’t had its structured revolution. After yet another discussion about how usefu...
September 30, 2017

## I’m Tired of Killing Aliens

I’ve been waiting over a year for Iron Marines to come out. My whole family loved Ironhide Games’ Kingom Rush trilogy, and I hoped that a cartoon RTS would c...
September 24, 2017

Tomorrow is the second anniversary of my father’s death. I cannot know what he would say about the state of the world today, but I rather suspect he would qu...
September 21, 2017

## Disappearing Data

I woke up this morning to a really depressing thread on Twitter from the Pacific Institute’s Peter Gleick. He went looking for the data on climate change tha...
September 18, 2017

## Long Thoughts

When’s the last time you had a long thought? I remember having thoughts that stretched on for hours as I worked through basic physics problems or wrote my fi...
September 13, 2017

## Bridge and Evolution

I hate the phrase “thought leader”. It’s the epitome of self-congratulatory business-speak, meant to sound vaguely inspirational without providing any afford...
September 08, 2017

## MSR Books

Back in 2010, Andy Oram and I edited a book called Making Software: What Really Works, and Why We Believe It. In it, some of the leading lights of empirical ...
August 01, 2017

## Too Soon and From Unexpected Directions

Alvin Toffler once wrote, “The future always arrives too soon and in the wrong order.” After thirty-five years in tech, I would add, “And from unexpected dir...
July 21, 2017

## Hunter S. Thompson, Football, and the GOP

Hunter S. Thompson is remembered today for his gonzo style: frequently imitated, rarely matched. What is often forgotten is how brave he was, both in what he...
July 20, 2017

## Heaven Must Be Empty

Courage, honesty, and humility are all great virtues, but the greatest is compassion. If you don’t feel the suffering of others as you would your own, you ha...
July 01, 2017

## Good Enough Practices in Scientific Computing

We are pleased to announce the publication of “Good Enough Practices in Scientific Computing” by Greg Wilson, Jennifer Bryan, Karen Cranston, Justin Kitzes, ...
June 22, 2017

## Ten Simple Rules for Being a Good Research Partner

Half a century ago, C.P. Snow decried the gulf between the two cultures of science and humanities. There is just as great a gulf today between researchers a...
June 19, 2017

## Say Their Names

Edward Sotomayor Jr.    Stanley Almodovar III    Luis Omar Ocasio-Capo Juan Ramon GuerroroEric Ivan Ortiz-Rivera...
June 12, 2017

## How to Teach Programming (And Other Things)

A new edition of this book is now available at http://teachtogether.tech, and printed copies can be purchased at http://www.lulu.com/shop/greg-wilson/teac...
May 31, 2017

## Numerical JavaScript

I have a terrible record when it comes to making predictions, but there is one notable exception. In 2002, I told a room full of Python programmers in Toront...
May 22, 2017

## Empirical Software Engineering Using R

A new update of Derek Jones' Empirical Software Engineering Using R is now available. At 283 pages, it includes an introduction to statistics, a...
May 08, 2017

## Still Waiting

A couple of days ago, I went looking for a comparison of the architectures of various wiki systems. I wasn’t after a feature list–Wikipedia and WikiMatrix ha...
April 30, 2017

## Ordering Jekyll Collections

Short version: I am offering a US\$100 bounty for an implementation of ordering for Jekyll collections. To qualify, an implementation must be an addition to J...
February 25, 2017

## Resignation

I have resigned my position at Shopify because of the company’s decision to continue hosting Breitbart’s online store. I will start a new position with Rangl...
February 18, 2017

## A Moral Equivalent of the Turing Test

Given recent discussions about how Silicon Valley CEOs are dealing with the Trump Administration, I’d like to propose a moral equivalent of the Turing Test. ...
February 06, 2017

## Community Organization Training in Toronto

Toronto-area tech folks (and others): would you pay \$300/head for a two-day weekend workshop on community organization run here in the city by the Midwest Ac...
February 01, 2017

## Stand with Government Scientists

Canadians got to see the damage an anti-science government could do when Stephen Harper was Prime Minister. His government scrapped the long-form national ce...
January 25, 2017

## Pennies for Understanding

Millions for compilers but hardly a penny for understanding human programming language use. Now, programming languages are obviously symmetrical, the ...
January 08, 2017

## Them That’s Got

A colleague recently told me about a symposium for early career researchers taking place in Hawaii later this month. Its mission statement says, "...
January 06, 2017

## Rubric for Open Instructor Training

The Software Carpentry Foundation’s Steering Committee recently resolved to run four open online instructor training sessions per year in order to help suppo...
January 03, 2017

## Blogging

I blog less than I used to, partly because what I have to say is less practical than it used to be. I'd like to change that in 2017.
January 01, 2017

## 2016 in Review

We got back from England almost exactly a year ago. It took us six months to find a house and another three to do renovations, but...
December 24, 2016

## Next Steps

Software Carpentry has accomplished an amazing amount over the past six and a half years, but a new opportunity has come up for me here in Toronto tha...
December 14, 2016

## Next Steps

Software Carpentry has accomplished an amazing amount over the past six and a half years, but a new opportunity has come up for me here in Toronto, and after...
December 14, 2016

## Instructor Training for Library Carpentry

We are pleased to announce that we are partnering with csv,conf (a community conference for data makers everywhere) to run an instructor training class speci...
December 08, 2016

## Remembrance

Twenty-seven years on, most Canadians instantly recognize the name of their murderer. I'd rather remember theirs: Geneviève Bergeron Hé...
December 06, 2016

## Normal

"Normal humans don't work like programmers expect them to because programmers haven't built tools that would let them." — Mike Hoye
December 05, 2016

## Open Instructor Training

(Originally posted on the Data Carpentry blog.)
November 19, 2016

## Stuff That Actually Matters

In the wake of things like GamerGate, Brexit, and the American election, it seems pretty clear that the tech industry needs a backgrounder for people wh...
November 13, 2016

## They Would Both Have Had Things to Say

My father and my sister would both have had things to say about the American election. I wish they were here to say them.
November 09, 2016

## Empirical Software Engineering Using R

Derek Jones has begun assembling a book to be titled Empirical Software Engineering Using R. You can view the work so far or file issues in this Git...
November 02, 2016

Prof. Lorena Barba has just posted a reading list for reproducible research that includes ten key papers: Schwab, M., Karrenbach, N., Claerbout, J...
November 01, 2016

## Rules for Teaching

Be kind: all else is details. Never teach alone. No lesson survives first contact with learners. Nobody will be more ex...
October 30, 2016

## Close Cousins

Our process for developing and maintaining lessons has grown and changed over time. Simultaneously but separately, an organization called the Programming His...
October 30, 2016

## The Rest Is Yet To Come

I co-taught an instructor training workshop earlier this week, then taught a second one on my own a couple of days later. I made some pretty big mistakes in ...
October 29, 2016

## Programming as Theory Building

I was recently reminded of a thought-provoking but often-overlooked essay by Peter Naur from 1985 called “Programming as Theory Building” (scan here, plain t...
October 23, 2016

## Library Carpentry is One Year Old

The indefatigable James Baker recently wrote a blog post summarizing what’s happened with Library Carpentry in the past year. It summarizes their lessons, th...
October 22, 2016

## Ten Simple Rules for Digital Data Storage

We are pleased to announce the publication of a new paper whose author list includes several members of our community:
October 20, 2016

## Given Infinite Minions

My browser home page has a "to do" list and a "to don't" list. The former is things that I should be working on; the latter is things that I shouldn't...
October 19, 2016

## Machine Learning with Python

A new book has recently been published that may be of interest to our community:
October 17, 2016

## In Memoriam: Hans Petter Langtangen

Hans Petter Langtangen’s books Python Scripting for Computational Science and A Primer on Scientific Programming with Python taught many of us how to do nume...
October 11, 2016

## Beth Duckles on the Practice of Measuring

Dr. Beth Duckles, who did a valuable study of our instructor community earlier this year, gave a talk at the recent Measuring the Impact of Workshops worksho...
October 10, 2016

## Test-Driven Development

Davide Fucci, Giuseppe Scanniello, Simone Romano, Martin Shepperd, Boyce Sigweni, Fernando Uyaguari, Burak Turhan, Natalia Juristo, and Markku Oivo: "An...
October 05, 2016

## Request for Review: ESIP’s Software Guidelines

ESIP (the Federation of Earth Science Information Partners) has been developing research code/software guidelines for the earth observation and geosciences c...
October 05, 2016

## And Now There Are Three

A new book has just been published that covers much of the same material as Software Carpentry, and a great deal more: Paarsch and Golyaev’s A Gentle Introdu...
October 04, 2016

## Congratulations to Our New Instructor Trainers

We are very pleased to welcome Karin Lagesen and Anelda van der Walt to our team of instructor trainers. Karin and Anelda have been very active in all of our...
October 04, 2016

## Python as a Second Language

Donny Winston, Joey Montoya, and I taught a one-day class for Lawrence Berkeley National Laboratory on Python as a Second Language last week. As its introduc...
October 04, 2016

## Revisiting the Anatomy and Physiology of the Grid

Chris A. Mattmann, Joshua Garcia, Ivo Krka, Daniel Popescu, and Nenad Medvidovic: "Revisiting the Anatomy and Physiology of the Grid". Journal of Grid...
October 02, 2016

## FIDEX: Filtering Spreadsheet Data using Examples

Xinyu Wang, Sumit Galwani, and Rishabh Singh: "FIDEX: Filtering Spreadsheet Data using Examples". OOPSLA 2016, https://www.cs.utexas.edu/~xwang/pubs...
October 02, 2016

## Apex: Automatic Programming Assignment Error Explanation

Dohyeong Kim, Yongwhi Kwon, Peng Liu, I Luk Kim, David Mitchel Perry, Xiangyu Zhang, and Gustavo Rodriguez-Rivera: "Apex: Automatic Programming Assignme...
October 01, 2016

## Purposes, Concepts, Misfits, and a Redesign of Git

Santiago Perez De Rosso and Daniel Jackson: "Purposes, Concepts, Misfits, and a Redesign of Git", SPLASH 2016. Git is a widely used ve...
September 30, 2016

## Two Studies of Online Communities

Two recent papers may be of interest to this community. The first is from Adam Crymble at The Programming Historian a distributed group of digital humanitie...
September 30, 2016

## Epistocracy as Privilege

Another day, another display of privilege from Aeon titled, “The right to vote should be restricted to those with knowledge”. No mention of the fact that so-...
September 29, 2016

## The Markov Test

The Turing Test is used to determine whether a program exhibits human behavior. I’d like to propose that we use a Markov Test to determine whether a human be...
September 27, 2016

## Terrified Sheep

In a recent article in Aeon, the historian Alice Dreger says, “Without tenure, professors become terrified sheep.” She goes on to say:
September 27, 2016

## Teaching Programming to the Blind

Andreas Stefik (who discusses what we know about the usability of programming languages in this entertaining podcast) has worked extensively on computing edu...
September 23, 2016

## What I Wish I’d Read

I would have called myself a research software engineer from the mid-1980s to the late 1990s, and if I could send email back in time and tell my younger self...
September 21, 2016

Denae Ford, Justin Smith, Philip J. Guo, and Chris Parnin: "Paradise Unplugged: Identifying Barriers for Female Participation on Stack Overflow". FSE'...
September 21, 2016

As far as I can tell, there are no published studies showing that version control is better than mailing files around or sticking them in shared drives. I be...
September 18, 2016

## Five From ICER’16

These papers were all presented at the 12th Annual International Computing Education Research conference in Melbourne earlier this month, and give a g...
September 16, 2016

## Collaborative Choral Software Exegesis

I’ve been thinking a lot about Mike Caulfield’s idea of choral explanations, the way we use Etherpad for collaborative note-taking in Software Carpentry work...
September 12, 2016

## Slides for Two Talks Online

I've posted HTML slides for two upcoming talks, one on lessons learned from Software Carpentry, the other on what's missing in computing and what it...
September 10, 2016

## The Discussion Book

Hot on the heels of Small Teaching (which we reviewed last week) comes Brookfield and Preskill’s The Discussion Book. Its subtitle is “50 great ways to get p...
September 10, 2016

## ACM Permits Authors to Post Open Access Copies of Their Own Work

I noted earlier this week that the ACM was making papers from this year's International Computing Education Research conference freely available&mdash...
September 09, 2016

## You Keep Using That Word…

We decided in 2012 that we would only review material that is openly available. I was therefore pleased to discover earlier this week that I could act...
September 09, 2016

## A Multi-Site Joint Replication of a Design Patterns Experiment Using Moderator Variables to Generalize Across Contexts

Jonathan L. Krein, Lutz Prechelt, Natalia Juristo, Aziz Nanthaamornphong, Jeffrey C. Carver, Sira Vegas, Charles D. Knutson, Kevin D. Seppi, and Dennis L....
September 09, 2016

## The Role of Ethnographic Studies in Empirical Software Engineering

Helen Sharp, Yvonne Dittrich, and Cleidson R.B. de Souza: "The Role of Ethnographic Studies in Empirical Software Engineering". IEEE Trans. Software E...
September 08, 2016

## Small Teaching

Elizabeth Green’s Building a Better Teacher changed how I think about teaching, and sparked some good discussion in our community. Therese Huston’s Teaching ...
September 05, 2016

## We Still Can’t Have Nice Things Together

Last year I used YAML and Norway to explain why why we can’t have nice things. We’ve just stumbled over a problem that has forced us to re-do some of the wor...
September 05, 2016

## What I Didn’t Learn in a CS Degree

I recently stumbled across The Imposter's Handbook, which describes itself this way: For the longest time I would remain silent when discussi...
August 26, 2016

## Markers

Contents include: a copy of The Portable Curmudgeon a joke book from Australia from the late 1940s or early 1950s a toy fish a piece of bro...
August 26, 2016

## Ten Ways to Turn Off Learners

PLOS has published a very useful set of articles called Ten Simple Rules that covers everything from effective statistical practice to winning a Nobel Prize....
August 19, 2016

August 14, 2016

## Do Code Smells Hamper Novice Programming?

Felienne Hermans and Efthimia Aivaloglou: "Do Code Smells Hamper Novice Programming?" TUD-SERG-2016-006, 2016. Recently, block-based progra...
August 14, 2016

August 08, 2016

## Not Much of a Conversation

I've been reading articles on The Conversation for a while, and with a couple of trips coming up, I thought I might try to write something for them. ...
August 04, 2016

## Etsy for Teaching

I've been wondering for years why people don't collaborate on lessons in the same open, ad hoc way they write Wikipedia and build open source software. ...
August 04, 2016

## Perspectives on Data Science for Software Engineering

Perspectives on Data Science for Software Engineering presents the best practices of seasoned data miners in software engineering. Its goal is to tran...
August 03, 2016

## Data Carpentry’s New Deputy Director of Assessment

Data Carpentry has just announced that Dr. Kari L. Jordan will be joining them as the Deputy Director of Assessment. Kari holds a PhD in STEM Education from ...
August 02, 2016

## How Well Do Developers Understand Open Source Licenses?

You are invited to participate in a survey on software licensing designed to investigate how well software developers understand common open source software ...
August 02, 2016

## Seymour Papert 1928-2016

Seymour Papert passed away on Sunday at the age of 88. I never had the privilege of meeting him, but Software Carpentry would probably never have existed if ...
August 02, 2016

## Heuristic Evaluation for Novice Programming Systems

I have recently been reading and enjoying a new paper by Michael Kölling and Fraser McKay titled “Heuristic Evaluation for Novice Programming Systems”. In it...
August 02, 2016

## Library Carpentry in Toronto

On July 28-29, a group of volunteers from the University of Toronto’s libraries ran a two-day workshop for thirty-five of their fellow librarians. People cam...
July 30, 2016

## More on Instructor Training

Since we announced yesterday that we are re-opening applications for instructor training, several questions have come in by email and on Twitter. We’ve answe...
July 26, 2016

## Reopening Instructor Training

For the last ten months, the Software Carpentry Foundation has worked toward three goals for its instructor training program:
July 25, 2016

## Publishing Our Lessons, Version 2016.06

We are very pleased to announce the publication of Version 2016.06 of the Software Carpentry lessons. Thanks to a lot of hard work by their maintainer...
July 19, 2016

## Lesson Incubation

The Data Carpentry and Software Carpentry Steering Committees recently approved [a process for supporting the incubation of new lessons. The goal is to provi...
July 19, 2016

## Commonization

I just finished a pair of books that were each very good in their own right, but were even better back to back: ...
July 17, 2016

## 500 Lines

After a lot of hard work by Mike Dibernardo and Amy Brown, the latest book in the AOSA Series is now out. It's called 500 Lines or Less, and in it...
July 12, 2016

## Instructor Training Completion Times

How long does it take to complete instructor training once the class itself is done? Two dozen people who recently qualified told us this: Reading Les...
July 05, 2016

## In That Dawn

"Bliss was it in that dawn to be alive..." — Wordsworth Jerome Ravetz's recent article How should we treat science's growing ...
June 21, 2016

## An Interview with Andreas Stefik

Functional Geekery's interview with Andreas Stefik is a great summary of what we actually know about the usability of programming languages—it's w...
June 15, 2016

## Polymorphism in Python

Beatrice Åkerblom and Tobias Wrigstad: "Measuring Polymorphism in Python Programs". SPLASH'15, October 2015, https://people.dsv.su.se/~beatric...
June 13, 2016

## Frequency Distribution of Error Message

David Pritchard: "Frequency Distribution of Error Messages". PLATEAU'15, October 2015, http://2015.splashcon.org/event/plateau2015-frequency-distrib...
June 12, 2016

## Parallelism in Open Source Projects

Marc Kiefer, Daniel Warzel, and Walter Tichy: "An Empirical Study on Parallelism in Modern Open-Source Projects". SEPS'15, October 2015, https://ps...
June 12, 2016

## The Superbug in Education

Roy Pea coined the term "superbug" in 1986 to describe the belief many novices have that computers can understand our intentions in the same way that pe...
June 10, 2016

## Novice Programming Mistakes

Amjad Altadmri and Neil C. C. Brown: "37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data". SIGCSE'15, Marc...
June 09, 2016

## Too Many Knobs

Tianyin Xu, Long Jin, Xuepeng Fan, Yuanyuan Zhou, Shankar Pasupathy, and Rukma Talwadker: "Hey, You Have Given Me Too Many Knobs! Understanding and Deal...
June 09, 2016

## A Software Engineering Homunculus

A cortical homunculus is a graphical representation showing how much of the brain is devoted to different parts of the body: ...
June 09, 2016

## Perceived Relevance

David Log, Nachiappan Nagappan, and Thomas Zimmermann: "How Practitioners Perceive the Relevance of Software Engineering Research". ESEC/FSE'15, Augus...
June 09, 2016

## Hidden Truths in Dead Software Paths

Michael Eichberg, Ben Hermann, Mira Mezini, and Leonid Glanz: "Hidden Truths in Dead Software Paths". ESEC/FSE'15, August 2015, http://dx.doi.org/10.1...
June 09, 2016

## Goto in C

Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tante, Shane McIntos4, Audris Mocku5,and Ahmed E. Hassa: "An Empirical Study of Goto in C Code...
June 09, 2016

## When, How, and Why Developers (Do Not) Test in Their IDEs

Moritz Beller, Georgios Gousios, Annibale Pannichella, and Andy Zaidman: "When, How, and Why Developers (Do Not) Test in Their IDEs". ESEC/FSE'15, Aug...
June 08, 2016

## Pull-Based Development

Georgios Gousios, Margaret-Anne Storey, and Alberto Bacchelli: "Work Practices and Challenges in Pull-Based Development: The Contributor's Perspective"....
June 07, 2016

## Code Ownership Revisited

Patanamon Thongtanunam, , Shane McIntosh, , Ahmed E. Hassan, and , Hajimu Iida: "Revisiting Code Ownership and its Relationship with Software Quality in...
June 07, 2016

## BigDebug

Muhammad Ali Gulzar, Matteo Interlandi, Seunghyun Yoo, Sai Deep Tetali, Tyson Condie, Todd Millstein, and Miryung Kim: "BigDebug: Debugging Primitives f...
June 05, 2016

## Knitting

Sometimes programming feels like trying to fix a leaky pipe, one that's rusted half-way through and just barely accessible in an awkward corner behi...
June 04, 2016

## Further Analysis of Instructor Training Data

Following Erin Becker’s analysis of our instructor training data, Byron Smith has done another analysis using survival statistics. The three key figures are:
May 31, 2016

## First Analysis of Instructor Training Data

Following up on Wednesday’s post about instructor training stats, Erin Becker (Data Carpentry’s new Associate Director) has posted an analysis. I was very su...
May 20, 2016

## Get Better But Not Change

The tragedy of the Hapsburgs was that they wanted things to get better, but couldn't bear the thought that anything might actually change. ...
May 19, 2016

## Looking for a Model

Updated: this CSV file has information on who taught when. The three columns are the person's unique identifier, the date on which th...
May 18, 2016

## Accident or Malice

I'm involved in several hybrid online and in-person communities, and two of them have had unpleasant incidents in the last couple of weeks. In one, ...
May 10, 2016

## Why Teachers Don’t Collaborate on Lesson Development

Later: Christina Koch wrote a rejoinder to this article that says a lot of insightful things better than I ever have, and Dan Meyer wrote a p...
April 29, 2016

## Summarizing Our Lesson Discussion Sessions

For the first four months of this year, we ran hour-long lesson discussion sessions to give people going through instructor training a chance to ask question...
April 29, 2016

## Maintaining Java ORM Code

Tse-Hsun Chen, Weiyi Shang, Jinqiu Yang, Ahmed E. Hassan, and Michael W. Godfrey: "An Empirical Study on the Practice of Maintaining Object-Relational M...
April 26, 2016

## Java Exception Handling

Suman Nakshatri, Maithri Hegde, and Sahithi Thandra: "Analysis of Exception Handling Patterns in Java Projects: An Empirical Study". MSR'16, May 2016,...
April 26, 2016

## Game Postmortems

Michael Washburn Jr., Pavithra Sathiyanarayanan, Meiyappan Nagappan, Thomas Zimmermann, and Christian Bird: "'What Went Right and What Went Wrong': An A...
April 26, 2016

## Finding Security Bugs

Joseph P. Near and Daniel Jackson: "Finding Security Bugs in Web Applications Using a Catalog of Access Control Patterns". ICSE'16, May 2016, http://d...
April 26, 2016

## Extremely Angry

From this thread by Mike Hoye, the Engineering Community Manager for Firefox at Mozilla: Extremely angry with the state of academic CS research righ...
April 26, 2016

While working on an outline of a new lesson on Python, I began thinking about the overall coherence of what we teach. In particular, I started to ...
April 24, 2016

## Designing a New Novice Python Lesson

Last November, I volunteered to pull together a new full-day lesson on Python suitable for people with no previous programming experience. It has taken longe...
April 10, 2016

## For Some Value of ‘Just’

One of the cardinal rules of Software Carpentry is never say 'just', because it signals the listener that the speaker thinks their problem is trivial....
April 09, 2016

## Trying to Find a Form

I have been thinking (again) about what to teach in a full-length course on Software Carpentry and Data Carpentry, which has led me, meta begettin...
April 08, 2016

## Zen and the Art of Assignment Operators

I was 19 when I first read Zen and the Art of Motorcycle Maintenance. For months afterward, I just had to tell everyone I knew about Quality-with-a-ca...
April 01, 2016

## Throttling

Every technology that solves problems creates new ones, most of which can't be solved by purely technological means. Online discussions (including Twi...
March 31, 2016

## Registers

Linguists recognize that speech occurs in different modes or registers, which serve different purposes: Intimate: used with very close friends,...
March 21, 2016

## Continuous Installation Checking

This one started with me trying and failing to install some bioinformatics software on my Mac, then turned into a Twitter rant: Everyone: please s...
March 19, 2016

## New Maintainers

We are pleased to announce that Harriet Dashnow and Daniel Chen have agreed to take over maintenance of the R inflammation lesson. Our thanks to them for vol...
March 17, 2016

## In My Better World

In my better world, programming language designers have been studying usability since the 1960s, and every new language worries as much about usab...
March 13, 2016

## Complexity vs. Subtlety

I gave a lightning talk on Software Carpentry for the OICR yesterday, and in discussion afterward, Jonathan Dursi made an observation that I’ve been thinking...
March 05, 2016

## A Modest Proposal

I had the pleasure of meeting Denia Djokic on Tuesday evening, and during the conversation we came up with a modest proposal: put 10% of the national ...
February 25, 2016

## Books Away

Earlier this week my mother gave away the last of my father's books: 67 boxes containing 1,969 volumes, or about half of what he owned when he died. ...
February 24, 2016

## More of a Difference Than You Realize

We received this after an online instructor training workshop earlier this week, which reminded me that small differences for some people can be large ones f...
February 19, 2016

## Building Software, Building Community: Lessons from the rOpenSci Project

Carl Boettiger, Scott Chamberlain, Ted Hart, and Karthik Ram have just published a paper titled “Building Software, Building Community: Lessons from the rOpe...
February 17, 2016

## Checking the Balance

Added 2016-02-22: this strong critique of the Terrell et al preprint mentioned in the opening paragraph of this post is worth a careful read....
February 16, 2016

## Our New Instructor Pipeline

Last fall, we decided to reboot our instructor training course. We’ve tried a lot of things since then, and one of the biggest successes has been our new che...
February 16, 2016

## A Counterpoint to Collaborative Lesson Design

Discussion of our proposed lesson on on modern scientific authoring is an instructive counterpoint to our previous post extolling the virtues of collaborativ...
February 16, 2016

## Designing Lessons Collaboratively

A few days ago, I asked for feedback on a new Python lesson aimed at people who’ve never programmed before. The outline had already received several rounds o...
February 15, 2016

## Correlations

We've run instructor training both online and in person for several years, so it's time to look at how they compare. The raw data shows: the event...
February 08, 2016

## Come a Long Way, Got a Long Way to Go

Simon Oxenham recently reported on a new report from the National Council on Teacher Quality that examined how well teacher training courses and textbooks co...
February 07, 2016

## Two Pages of Evidence

Andreas Stefik and his colleagues have written a two-page summary of what we actually know about usability and programming language design. There aren’t near...
February 02, 2016

## Active Workshops

A few days ago, we were asked what was the greatest number of simultaneous workshops we’d ever run. I didn’t know, but it was an easy enough question to answ...
February 02, 2016

## Elsewhere on the Web

Our instructors teach a lot more than just Software Carpentry. For example, Christie Bahlai has started teaching a course on “Open Science and Reproducible R...
January 29, 2016

## A New Version of ‘Lessons Learned’

A new version of “Software Carpentry: Lessons Learned” is now available on F1000. We think it’s an interesting complement to the instructor survey, and we ho...
January 28, 2016

## Our Introduction to Git Has Been Published

Our short paper “A Quick Introduction to Version Control with Git and GitHub” has been published in PLOS Computational Biology. It is freely reusable under a...
January 21, 2016

## 18 Months of Progress

My talk at SciPy in 2014 quoted one of our instructors as saying:
January 15, 2016

## A New Book from Mark Guzdial

Regular readers will know that I am a huge fan of Mark Guzdial, a professor at Georgia Tech whose group does world-class work on computing education, and who...
January 13, 2016

## Good Communities (Kinds Of)

Back in October, Sarah Sharp posted a really useful article titled “What makes a good community?”. In it, she divided online tech communities into six levels...
January 09, 2016

## What the Data Says About Novice Programming Mistakes

I recently had a chance to catch up with this paper from 2014:
January 09, 2016

January 09, 2016

## Lessons as Lab Protocols

A roundabout chain of references led me to Abbott et al’s “Programs for People: What We Can Learn from Lab Protocols” (presented at VL/HCC 2015) which looks ...
January 03, 2016

## A Data Programming CS1 Course at the University of Washington

People who are interested in integrating Data Carpentry and Software Carpentry ideas into the undergraduate curriculum may enjoy reading Anderson et al’s pap...
January 03, 2016

## Plans for 2016

Twelve months is a long time. A year ago I was wrapping up my second month without an income and had serious doubts about whether Software Carpentry...
December 28, 2015

## Maybe I Actually Am An Engineer

The following exchange (lightly edited) took place on Twitter a few days ago: Titus Brown: bash is disastrous for pipelines! very hard to rerun enti...
December 28, 2015

## New Words Needed

Titus Brown recently asked (on behalf of a friend) what people think of the term and practice of "hardening" software, by which he meant making rese...
December 26, 2015

## Pushing Ahead in Puget Sound

As regular readers will know, our instructor training classes are heavily over-subscribed: even after the classes we ran this fall, we still have ov...
December 20, 2015

## Instructor Training Checkout Procedure

After a lot of discussion, we have come up with a new procedure for completing instructor training for Data Carpentry and Software Carpentry. Its go...
December 18, 2015

## Three Flavors of Instructor Training

It's been a busy few months for instructor training: along with a two-day class at the University of Manchester, we also wrapped up a pilot of a new k...
December 18, 2015

## Educational Engineering

One of the participants in this week's instructor training course mailed me to say, "[We] were discussing some of the ideas we were talking about in edu...
December 15, 2015

## Teaching in Cambridge

I ran a three-hour class on teaching as part of EuroSciPy in Cambridge this summer; the video is available online.
December 11, 2015

## Teaching For Loops

A few days ago, Karin Lagesen asked people what metaphors they use when teaching for loops. It kicked off an entertaining thread. When we talk abo...
December 10, 2015

## My Literature Problems

Problem #1 A couple of years ago, I put together a bibliography of research into the software engineering aspects of scientific computing. I'd n...
December 06, 2015

## Just Keep Swimming

I had a conversation a few days ago with a young colleague who said (basically), "Nothing I do ever seems to take off the way your projects do." Coinc...
December 06, 2015

## How the Year Went

I wrote a post on New Year's Day about things I probably wouldn't do this year. Here's my score card: Turn Software Carpentry into a book: no...
December 06, 2015

## Does the Stage Create the Actor?

A lot of coding workshops have sprung up in the last ten years, ranging from one-day events to teach people the basics of HTML to months-long internsh...
November 30, 2015

## Exaptation and the Future of Software Engineering

Back in the 1980s, we knew that software engineering was going to become mathematically rigorous like electrical and civil engineering. Where they u...
November 29, 2015

## How I Handle Email

These are a couple of folders in my personal mail account: and these are a couple of folders in my work account: That come...
November 23, 2015

Alfred North Whitehead once said that civilization advances by extending the number of important operations which we can perform without thinking abou...
November 20, 2015

## The Morea Framework

I first met Philip Johnson, a professor of Computer Science at the University of Hawaii, through shared interests in empirical software engineering re...
November 20, 2015

## Catch and Release

Edible fish are getting smaller every year because we catch and eat the big ones, taking the genes for large size out of circulation. This has been ...
November 16, 2015

## CourseSource: A(nother) New Hope

I came across CourseSource a few weeks ago, and I'm pretty excited: CourseSource is an open-access journal of peer-reviewed teaching resour...
November 15, 2015

## Miscellaneous Projects

This post is a bit of a link fest, but after talking about how to contribute at yesterday's instructor retreat, I thought it might be useful to po...
November 15, 2015

## Daddy, Why Don’t You Ever Laugh?

We were eating dinner last Friday night when my daughter asked me, "Daddy, why don't you ever laugh?" Coincidentally (or perhaps not) I had just fin...
November 09, 2015

## Visualizing Repository Activity

I am updating the lessons learned paper, and would like to include histograms showing how many people have contributed how often to our lessons. Mor...
October 27, 2015

October 23, 2015

## Ten Simple Rules for Digital Data Storage

Edmund Hart, Pauline Barmby, David LeBauer, François Michonneau, Sarah Mount, Timothée Poisot, Kara Woo, Naupaka Zimmerman, ...
October 23, 2015

## Journals as Repositories

I had a really good conversation yesterday with Cath Brooksbank and Sarah Morgan, who do training at EMBL-EBI in Hinxton. During the conversation we t...
October 17, 2015

## Teaching in the Large

Acccording to Wikipedia, the terms "programming in the large" and "programming in the small" were coined by Frank DeRemer and Hans Kron in 1975 to...
October 09, 2015

## Please Welcome Our New Executive Director

We are very pleased to announce that Jonah Duckles has accepted the position of Executive Director of the Software Carpentry Foundation, and will star...
October 01, 2015

## Citation Format

Earlier this month, we published our lessons by giving them DOIs through Zenodo. As we said in an earlier post, though, we've been struggling to...
September 30, 2015

A little over a year ago, we blogged about jugyokenkyu, or "lesson study", a bucket of practices that Japanese teachers use to hone their craft, f...
September 28, 2015

## Plus Ça Change

I gave this talk at SciPy'06. A few things have changed since then, but it's suprising how many haven't: Higher productivity still get...
September 26, 2015

At the end, you think about the beginning. I remember being at the beach one summer, seeing my dad dive into the lake off a log boom and thinking, "...
September 22, 2015

## Software Engineering Practices in Science

Dustin Heaton and Jeffrey Carver have just published a paper titled Claims About the Use of Software Engineering Practices in Science: A Systematic Lite...
September 16, 2015

## Rebooting Instructor Training

Instructor training has been key to Software Carpentry's growth, but it was clear by the time our last online class finished in April that we couldn't...
September 14, 2015

## How Teaching Knowledge Is Transferred

I hesitate to say so, but I believe that we pedagogues tend to exaggerate greatly the amount of change in educational practice that results f...
September 13, 2015

## Unwritten and Undone

Every few years, I indulge in a bit of sympathetic magic by writing reviews of books that don't actually exist in the hope that it will inspire some...
September 06, 2015

## Our Lessons Have Now Been Published

It's been a long time coming, but we have finally published Version 5.3 of our core lessons. Please cite them as: Daisie Huang and Iva...
September 05, 2015

## Better Teaching Practices

It wasn't part of our original plan, but over time Software Carpentry has come to be about better teaching as much as it is about better computing. ...
September 01, 2015

## Three Graphs I Would Like to See

I spent part of the weekend chatting with a friend in Cambridge who used to be science editor at The Independent and now edits Scientific Computing Wo...
August 31, 2015

## Feedback on Math with Python for Undergraduates

Ian Hawke (who put together these notebooks on testing numerical code) is now putting together some Jupyter Notebooks to teach Python to first-year un...
August 21, 2015

## Prepping for the Python Lesson

Inspired in part by Byron Smith's post about trimming our standard Python lesson, Christina Koch has written a post of her own about preparing to te...
August 16, 2015

## Checking What We Teach

Back in May, Jonathan Klaasen wrote a post about setting up a lab data management system. After re-reading it, I think it's a good reality check o...
August 14, 2015

## Data Carpentry Receives Grant from the Moore Foundation

Reposted from the Data Carpentry blog. We are extremely pleased to announce that Data Carpentry has received \$750,000 in funding from the Gordon a...
August 13, 2015

As described in earlier posts, we are publishing our Version 5.3 lessons through Zenodo to make it easier for people to cite them. We're getting c...
August 12, 2015

## A Hostage Situation

If you do software engineering research, and want your work to matter, you should go and read http://exple.tive.org/blarg/2015/07/24/hostage-situati...
July 24, 2015

## WiSE Workshop at UC Davis Aug 17-18

We are pleased to announce that the latest in our series of workshops for women in science and engineering will be held at UC Davis on August 17-18, 2...
July 23, 2015

## A Pair of Workshops

Do you know your options for software licensing? Have you heard of new funders' requirements for software sharing? This workshop in Cambridge (UK) o...
July 23, 2015

## Welcome Maneesha and Katarzyna

We are very pleased to announce that Maneesha Sane (pronounced "sah-nay") will be joining us in August as our new Program Coordinator. Having coordin...
July 20, 2015

## Changes to Workshop Administration Fees

After discussion with our Advisory Council and Data Carpentry, we have agreed to make some changes to the administration fee we charge for workshops t...
July 20, 2015

## Git as GOTO

I am not a fan of Git. While some people may find it intuitive, I consider it one of the most complicated programs I have ever tried to teach. Some ...
July 20, 2015

## Top 10 Myths about Teaching CS

Mark Guzdial (whose blog has been a frequent inspiration) recently wrote an article title Top 10 Myths about Teaching Computer Science: The l...
July 18, 2015

## Hiring a New Executive Director for Software Carpentry

The Software Carpentry Foundation seeks to hire a new Executive Director to build relations with partners, oversee the development of our curriculum, ...
July 06, 2015

## Our Next Big Step

With Software Carpentry's rapid growth over the past couple of years, the combined responsibilities of being the Executive Directory and running the ins...
July 06, 2015

## Pushing Back

A week ago, we posted a proposal to use Jekyll to build our lessons rather than Pandoc. The immediate reaction was almost uniformly positive, bu...
July 01, 2015

## What is a Research Software Engineer?

By now, many people in the UK (well, many of the sort who read this blog) will have heard the term Research Software Engineer, but what exactly is an ...
June 29, 2015

## Training Lessons

I wrote about our experiments with the format of instructor training back in May. At that time, we had run the class as: a multi-week online c...
June 26, 2015

## Using Jekyll for Lessons

A recurring complaint about our lesson template is that it requires authors to commit generated HTML files to their repositories as well as their Mark...
June 24, 2015

## Another Good Workshop in Brazil

The indefatigable Raniere Silva has just posted a description of a workshop at the University of Ceará that he and Dani Ushizima just finishe...
June 23, 2015

## Splitting the Shell Window

Raniere Silva has written a short post about a trick he found (via Kate Hertweck) for splitting the terminal window when teaching the shell so tha...
June 21, 2015

## Recycling Training Course Material

Over the past two years, more than 200 people have written multiple choice questions and other assessment exercises as part of Software Carpentry inst...
June 21, 2015

## Research-Based Course Design

I've written before about the breadth and depth of Juha Sorva's work on computing education. His latest contribution is a paper co-authored with Ott...
June 21, 2015

## Their Names Were

Cynthia Hurd was a public library manager. Clemena Pickney was a church pastor and state senator. Ethel Lee Lance had worked in the church for years. ...
June 19, 2015

## Adding a Lesson on Make

We are very pleased to announce the addition of a lesson on automation and Make, which was created by the SSI's Mike Jackson and Steve Crouch. The r...
June 18, 2015

## Why I Am Not Excited About Julia

If you hang out in scientific programming circles, you're probably heard of Julia by now. If you don't, or you haven't, it is: ...a high-le...
June 18, 2015

## Software Development Practices in Academia

Derek Groen, Xiaohu Guo, James Grogan, Ulf Schiller, and James Osborne have just submitted a paper to arXiv.org titled "Software development practices...
June 18, 2015

## Get More Done in Less Time

Over the past year, Alexandra Simperler has interviewed participants in Software Carpentry workshops to find out what impact we've actually had on the...
June 17, 2015

## Updating the Project List

Updating my description of where my time goes made me realize that our list of things we need help with had fallen out of date. The highlights a...
June 15, 2015

## Where the Time Goes (Version 2)

Last November, I wrote a post about where my time was going. A lot has changed since then, including my workload, so here's an update: ...
June 14, 2015

## Routinely Unique

Back in April, Jeffrey Chang wrote wrote an article for Nature in which he pleaded for those who analyze bioinformatics data to be recognized as c...
June 14, 2015

## Reverse Engineering CSS

Software Carpentry's lessons are written in Markdown, then transformed into HTML using Pandoc which is styled using Bootstrap with a bunch of cust...
June 14, 2015

## Eroded Away

Little by little, the subversive features of the computer were eroded away. Instead of cutting across and challenging the very idea of subject boundarie...
June 13, 2015

## Warming Up for Version 5.4

It's time to start thinking about what should be in Version 5.4 of our lessons (which we plan to release in the middle of August to get us through to th...
June 12, 2015

## Learning in Both Directions

Last weekend, 30 people from a broad range of grassroots groups that are trying to increase diversity in tech got together in Boulder to compare e...
June 12, 2015

## Why We Can’t Have Nice Things

In the beginning, there were tables: rows upon rows, with columns separated by commas or tabs or something more exotic. They were elegant but limite...
June 11, 2015

June 10, 2015

## People You Don’t Want On Your Team

I have been at least half of these people at different times in my life... Anna knows more about every subject than everyone else on the team put together&md...
June 09, 2015

## An Update on Publishing Our Lessons

Just a quick update on publishing our lessons: we prepared the release on schedule, uploaded it to Zenodo, and then discovered that we couldn't ac...
June 07, 2015

## Updating the Lesson Template

A couple of weeks ago, we asked our lesson maintainers what changes they would like to see in our lesson template based on their experiences getting V...
June 07, 2015

## Teaching Biocomputing at UT

Becca Tarvin has just posted an article about her experiences teaching biocomputing at the University of Texas. Like last month's report on teachi...
June 03, 2015

## A Few Articles on Education

Over the past year, I've come to realize that Software Carpentry will only work if knowledge flows in several directions. Scientists need to learn a...
May 25, 2015

## ICSE 2015

I have just posted titles and abstracts from my favorite 24 papers from ICSE 2015 on the Software Carpentry blog. As I say there, just over half...
May 24, 2015

## ICSE 2015

Back when I was still trying to do science myself, my field of study was software engineering. The International Conference on Software Engineering is...
May 24, 2015

## Coding for Librarians

Andromeda Yelton (who has featured in this blog before) has written a set of six articles for Library Technology Reports titled Coding for Librari...
May 22, 2015

## Experiences with Geoscientists

Christian Jacobs, Gerard Gorman, and Lorraine Craig have written a paper titled "Experiences with efficient methodologies for teaching computer pr...
May 21, 2015

## Online Instructor Training Revisited

We have now run instructor training in three formats: an in-person two- or three-day class, a multi-week online class, and a hybrid version in whi...
May 19, 2015

## New Members of the Team

It's been several months since we last welcomed new instructors to the team. A lot of people have finished training since then, so please say hello ...
May 16, 2015

## Selling Hope

Last summer, George Monbiot wrote: If we had set out to alienate and antagonise the people we've been trying to reach, we could scarcely ha...
May 02, 2015

## Achintya Rao’s PhD Starter Kit

Achintya Rao started a PhD last January, and in response to a request for advice from a friend, wrote a PhD Starter Kit that lists useful tools and ...
May 02, 2015

## Ada Initiative’s Ally Skills Workshop

The Ada Initiative ran their Ally Skills workshop at PyCon 2015, and by all accounts it was useful and thought-provoking. They don't do an onlin...
April 25, 2015

## Van Lindberg’s Keynote: Say Thanks

Van Lindberg, the chair of the Python Software Foundation, gave a really insightful keynote at PyCon 2015 last week. In a nutshell: ...
April 25, 2015

## The Paradox of Learning Objects

Warren Code recently forwarded this post by David Wiley, a serial innovator in open education and educational reform. In it, he recapitulates th...
April 22, 2015

## Learning in Both Directions

We have spent a lot of time thinking about how to assess the impact that Software Carpentry is having. We've done some small studies and collect...
April 21, 2015

## Library Carpentry

We wrote about the digital skills classes at the British Library last October. We were therefore very pleased to see that James Baker, a Software ...
April 17, 2015

## Close Enough Redux

Back in October, we explained why we don't teach testing in Software Carpentry workshops. In response, Ian Hawke has put together a really nice ...
April 17, 2015

## Publishing Our Lessons

Digital Object Identifiers (DOIs) are one of the building blocks of academic bibliography systems. It's now possible to get a DOI for a GitHub repos...
April 17, 2015

## Quality Is Free - Getting There Isn’t

Worried about the rising tide of retractions, Nature Biotechnology recently announced that, "Its peer reviewers will now be asked to assess the avai...
April 15, 2015

## The Future Then and Now

Jon Udell's Internet Groupware for Scientific Collaboration taught me how to think about the web. He started work on an update a couple of months ag...
April 13, 2015

## Good Enough Practices in Scientific Computing

April Wright recently wrote a blog post about the reproducibility of a paper she recently submitted. In it, she said: A few people have p...
April 13, 2015

## A Project Inception Deck for Research Coding

I've never seen the point of comparing programmers to ninjas or samurai, but the people who do so often have good ideas. One that I particularly like ...
April 11, 2015

## April 2015 Lab Meeting

We held our second lab meeting of 2015 on April 1st, and had near-record turnout. Notes from the Etherpad are included below; the highlights are: ...
April 03, 2015

## April 2015 Lab Meeting

The next Software Carpentry online lab meeting will take place on Wednesday, April 1 (no, really) at 10:00 and 19:00 Eastern time. (As usual, we will ...
March 20, 2015

## And Now We Are Three

The four core topics that every Software Carpentry workshop is supposed to teach are automating tasks using the Unix shell, structured programming in ...
March 17, 2015

## Teaching Tips

Last week's post on what's in your bag generated so many useful comments that we'd like to follow it up with another: what tips do you have for new ...
March 15, 2015

## Goodbye, Terry

"It is often said that before you die you life passes before your eyes. It is in fact true. It's called living." — Terry Pratchett
March 12, 2015

What do you have in your knapsack when you travel to teach a workshop? My list is: cough drops spare t-shirt (and deodorant) a variety of video ...
March 11, 2015

## The Most Viewed PLOS Biology Paper of 2014

We were very pleased to learn that the most viewed article in PLOS Biology in 2014 was "Best Practices for Scientific Computing", written by Dhavi...
March 03, 2015

The Software Carpentry Foundation's Steering Committee has voted to add a Contributor Covenant to our lessons and other repositories. Like the Code ...
March 02, 2015

## Ten More Instructors

It's a pleasure to welcome another ten instructors from the Southern Hemisphere to our team: Areej Alsheikh-Hussain Sung Bae Nicholas Cro...
March 02, 2015

## Eleven New Instructors

It's a pleasure to welcome another eleven instructors to our team: Ewan Barr Thomas Coudrat Isabell Kiral-Kornek Scott Kolbe ...
February 28, 2015

## Wrong Is Useful: Lessons as Packages

"What would Greg do? [pause] OK, now that we've ruled that out..." — overheard I wrote a post last July about using package managers li...
February 27, 2015

## Improving Instruction

It's been quite a year for Software Carpentry instructor training: we had a great session at UC Davis (see also this excellent post from Rayna Harri...
February 27, 2015

## Online Scientific Collaboration: The Sequel

Jon Udell's Internet Groupware for Scientific Collaboration taught me how to think about the web. He's now revisiting that report, and would like ...
February 12, 2015

## NeSI Becomes Software Carpentry Affiliate

We are very pleased to announce that New Zealand eScience Infrastructure (NeSI) has become an affiliate member of the Software Carpentry Foundation. ...
February 12, 2015

## 2015 Post-workshop Instructor Debriefing, Round 3

We had our third post-workshop debriefing of the year yesterday, in which we discussed several recent workshops. The most important point was probably...
February 11, 2015

## Plot This

The most useful little guide to visualization I've ever found is the decision tree created by Andrew Abela, which you can find here. Do you want to ...
February 09, 2015

## Scientific Coding vs. Software Engineering

Daisie Huang recently wrote a great article for the Software Sustainability Institute's blog titled "Scientific coding and software engineering: what'...
February 08, 2015

It's a pleasure to welcome another eight instructors to our team: Harriet Alexander Emmanouil-Ioannis Farsarakis Meeta Mistry J...
February 03, 2015

## Open Access and Computer Science

I was very pleased to see the announcement today of PeerJ Computer Science, an open access journal for my discipline with a stellar advisory board a...
February 03, 2015

## University of Washington Becomes Software Carpentry Partner

We are very pleased to announce that the eScience Institute at the University of Washington has become a partner of the Software Carpentry Foundatio...
February 03, 2015

## iPlant Becomes Software Carpentry Affiliate

We are very pleased to announce that the iPlant Collaborative has become an Affiliate Member of the Software Carpentry Foundation. Joining wi...
February 02, 2015

## Lab for Data Intensive Biology at UC Davis Joins Software Carpentry as an Affiliate

We are pleased to announce that the Laboratory for Data Intensive Biology at UC Davis has joined the Software Carpentry Foundation as an Affiliate Mem...
February 02, 2015

## Nouns and Verbs

I've spoken and written many times about how puzzled I am that massive, open collaboration on lessons is so rare in the age of Wikipedia and open sour...
February 02, 2015

## Our First Workshop in South Korea

We are very pleased to announce that our first workshop in South Korea will be taking place in Seoul later this month. Many thanks to Kwangchun (Vic...
February 02, 2015

## Workshops in March at Lawrence Berkeley Lab

I will be teaching a two-day Software Carpentry instructor training course on March 10-11, 2015 at Lawrence Berkeley Lab, and a one-day course on web pr...
February 02, 2015

## Announcing 2015 Steering Committee

The election for the Software Carpentry Foundation's Steering Committee is now complete. 122 ballots were exercised out of 179 mailed out, and our n...
January 31, 2015

## Interim Steering Committee Meeting: Dec 16, 2014

Software Carpentry Foundation Interim Board Meeting: Dec 16, 2014 Attending Greg Wilson (Software Carpentry Foundation) Katy Huff (University of Califor...
January 30, 2015

Voting is now open for Software Carpentry's new Steering Committee. If you are a member, you should have received a ballot by email from elections@e...
January 26, 2015

## The Other Ninety Percent

Ninety percent or more of learning a skill takes place outside formal lessons as people try things out for themselves and turn attention into habit. ...
January 24, 2015

## Welcome Our First New Instructors of 2015

One of the best parts of this job is welcoming new instructors to our team. Many of this year's first group have already helped with workshops, and I ...
January 24, 2015

## University College London Becomes Software Carpentry Affiliate

We are very pleased to announce that University College London has become an affiliate of the Software Carpentry Foundation. We are grateful for their...
January 22, 2015

## Improving the Balance

Jennifer Martin's recent article "Ten Simple Rules to Achieve Conference Speaker Gender Balance" reminded me that while we've been reporting the numbe...
January 22, 2015

## Orwell, Dickens, and How We’ll Know We’re Done

I started working on a short capstone example last month to show learners how to get a badly-formatted reference list out of an Excel spreadsheet ...
January 17, 2015

## Language Wars and Others

We often get asked, "Why do you teach [X]? Why don't you teach [Y]?" where X and Y are random permutations of Perl, Python, R, MATLAB, Julia, C++, and ...
January 14, 2015

## Practical Computing for Biologists (and Other Scientists)

We are big fans of Steve Haddock and Casey Dunn's book Practical Computing for Biologists, which covers everything we do and more (and is suitable f...
January 14, 2015

## Introducing Software Carpentry

As we said in December, we're planning to use the latest incarnation of Browsercast as a web-native alternative to screencasting for recording and p...
January 13, 2015

## Thanks to RStudio

Our thanks to RStudio for their generous donation to help us run Software Carpentry workshops. Inspired by the innovations of R users in science, educ...
January 13, 2015

## Instructor Training at UC Davis

On Tuesday and Wednesday of last week, we ran a live instructor training class at UC Davis. Over 40 people from all across the country got a lightning...
January 12, 2015

## 2015 Election Nominations

As we announced last year, an election will be held on January 26-30 for the seven positions on the Steering Committee of the Software Carpentry Found...
January 05, 2015

## Cathedrals, Bazaars, and In Between

Poul-Henning Kamp's article A Generation Lost in the Bazaar was doing the rounds on Twitter again last week. In it, he argues that the free-for-all ...
January 05, 2015

## The Future and Funding of Science

I was talking with friends over the holiday about the future of science and how it might one day be funded. Since it'll be ten years before I'm proven...
January 04, 2015

## Books You May Enjoy

I didn't read (or re-read) much in 2014, but I enjoyed these: Lauren Beukes: The Shining Girls Elizabeth Green: Building a Better Teacher David ...
January 02, 2015

## Things I Won’t Do This Year

I've made and broken my share of New Year's resolutions, so this year I thought I'd do something different and make a list of things I'd like to do in...
January 01, 2015

## Projects, Projects, Projects

We have updated our projects page with links to: things we're building ourselves, and things that our members are building. The ...
December 28, 2014

## Welcome Aboard

A lot of people qualified as instructors this fall and winter, thanks in part to the live sessions we ran in Charlottesville, Norwich, and Seattle. Th...
December 23, 2014

## Interim Steering Committee Meeting: Dec 2, 2014

Software Carpentry Foundation Interim Board Meeting: Dec 2, 2014 Attending Greg Wilson (Software Carpentry Foundation) Neil Chue Hong (Software Sustainabili...
December 19, 2014

## Standing for Election

From 26-30 January, an election will be held for the seven vacant positions on the inaugural Steering Committee of the Software Carpentry Foundation. ...
December 18, 2014

## All I Want for Christmas is a Pull Request…

As we said back in October, we're splitting the existing lesson repository into smaller and more manageable pieces. To do that, we have defined ...
December 18, 2014

## Who Are We?

For the last three years, I've been storing information about instructors, workshops, and other things in a small SQLite database so that I can look...
December 15, 2014

## Results of Software Sustainability Institute Survey

The Software Sustainability Institute's recent survey of researchers at top UK universities is out. Headlines figure are: 92% of academics use r...
December 13, 2014

## Templates: We Live, We Learn

We have partially converted four of our core lessons to the new lesson template, and are making a few tweaks as a result. The most important of thes...
December 09, 2014

## New Accessibility Guidelines

Software Carpentry values the participation of every member of the scientific community and want all attendees to have an enjoyable and fulfilling exp...
December 05, 2014

## Summarizing the News

We made several big announcements this morning, so here's a short summary to guide you through them all: The bylaws for the Software Car...
December 03, 2014

## Our First Election

The Software Carpentry Foundation's bylaws state that the Steering Committee must be elected annually. With a new year upon us, the interim committe...
December 03, 2014

## Plans for 2015: Lessons

The previous three posts in this set looked at instructor training, workshop organization, and the twin challenges of mentorship and assessment....
December 03, 2014

## Plans for 2015: Mentorship and Assessment

The previous posts in this set looked at instructor training and workshop organization. In this one, I'd like to look at mentorship and assessment...
December 03, 2014

## Plans for 2015: Workshop Organization

As I write this, 228 people have been certified to teach Software Carpentry workshops, of whom 136 have taught in the past twelve months. That's ama...
December 03, 2014

## Plans for 2015: Instructor Training

Instructor training has been going well: it looks like more than 50% of people who participated this summer and fall will complete and start teaching ...
December 03, 2014

## Software Carpentry Foundation: Workshops

THIS POST IS OUTDATED AND NO LONGER ACCURATE!!!
December 03, 2014

## Software Carpentry Foundation: Organizational Membership

THIS POST IS OUTDATED AND NO LONGER ACCURATE!!! As we said in the previous post in this series, our interim Steering Committee has adopted bylaws fo...
December 03, 2014

## Software Carpentry Foundation: Governance

I am pleased to announce that our interim Steering Committee has adopted bylaws for the Software Carpentry Foundation, which is the final step in us...
December 03, 2014

We frequently get asked whether Software Carpentry would work as a MOOC. The answer is that I think it can work well if it's what Siemens and Downes...
December 02, 2014

## Goalposts for the Digital Humanities

As a follow-on to last month's post about courses at the British Library, I asked some people who are teaching digital humanists where their goalpos...
December 01, 2014

## How to Manage Confidential Data

A couple of days ago, a member of our community wrote: I am very interested in working on improving research analytics in government using ...
November 27, 2014

## Translating Software Carpentry into Korean

This is pretty amazing: a group has translated the core Software Carpentry lessons into Korean: Introduction: http://statkclee.github.io/xwmooc-sc/i...
November 25, 2014

## Congratulations to Data Carpentry

In case you missed the announcement last week, our sibling organization Data Carpentry has received funding from the Moore Foundation to support its...
November 24, 2014

## Instructor Training Stats

The Software Carpentry Foundation's board asked me for some stats on instructor training, and I thought other people would find them interesting as well...
November 22, 2014

## The New Instructor Post-Assessment Questionnaire

As mentioned two weeks ago, a group led by Daniel Chen have been revising the post-workshop survey for instructors so that we can get a better idea of...
November 19, 2014

## Interim Board Meeting: Nov 18, 2014

Software Carpentry Foundation Interim Board Meeting: Nov 18, 2014 Attending Neil Chue Hong Jenny Bryan Tracy Teal Damien Irving Greg Wilson Carole Goble Kai...
November 18, 2014

## Close Enough for Scientific Work

The discussion around last month's post "Why We Don't Teach Testing (Even Though We'd Like To)" has been one of the most interesting in Software Carpe...
November 18, 2014

## IP Communism

Back in August, the editor-in-chief of Communications of the ACM wrote an editorial in which he wrote, "It is regrettable, I believe, that the ope...
November 18, 2014

## Why It Matters

Sometimes I forget that it isn't obvious why scientists ought to learn to program—or why anyone else ought to. Being more productive, getting ...
November 11, 2014

## Sarah Mei on Software Engineering Research

Sarah Mei tweeted this in response to news that researchers at Rice were getting \$11 million for a souped-up autocomplete: These Rice University f...
November 10, 2014

## Amdahl’s Law and Software Carpentry

Amdahl's Law says that the speedup you can get by parallelizing a computation is limited by how much of the computational can't be sped up. For exampl...
November 07, 2014

## Instructor Training at TGAC

Hayley London has written a great summary of the instructor training at TGAC in Norwich in October. Aleksandra Pawlik, Bill Mills, and I enjoyed mee...
November 06, 2014

## You Should Read Juha Sorva’s Thesis

If you really want to dig deeper into educational research and how it applies to teaching programming, you should grab a copy of Juha Sorva's PhD thes...
November 06, 2014

## Politics for Current Physicsts

Richard Muller's Physics for Future Presidents and its sequel Energy for Future Presidents are both really good books, even if you're not planni...
November 05, 2014

## Interim Board Meeting: Nov 4, 2014

Software Carpentry Foundation Interim Board Meeting: Nov 4, 2014 Attending Greg Wilson (Software Carpentry Foundation) Neil Chue Hong (Software Sustainabili...
November 04, 2014

## A ‘Joel Test’ for Grassroots Programming Groups

Back during the first dot-com bubble, Joel Spolsky wrote an article titled "The Joel Test: 12 Steps to Better Code" that listed 12 questions you can...
November 04, 2014

## Software Carpentry Foundation: FAQ

As we announced two weeks ago, we are setting up an independent foundation to manage Software Carpentry's continued growth. This week, we passed an ...
November 03, 2014

## Why We Don’t Teach Testing (Even Though We’d Like To)

If you haven't been following Lorena Barba's course on numerical methods in Python, you should. It's a great example of how to use emerging tools to...
October 30, 2014

## Pandoc and Building Pages

Long-time readers of this blog and our discussion list will know that I'm unhappy with the choices we have for formatting our lessons. Thanks to a t...
October 29, 2014

## Why Software Matters

Why does software matter to scientists? It may seem obvious to people who read this blog, but that's like saying that the answer to, "Why opera?" is...
October 28, 2014

## Shuttleworth Foundation Fellowship Application

I just submitted an application for a Shuttleworth Foundation fellowship, and as a believer in openness, I figure it's only right to post it here as w...
October 27, 2014

## Lost in Space

You probably haven't seen the 1998 movie Lost in Space, or if you have, you've suppressed the memory—it was awful. But I do know one guy who e...
October 27, 2014

## British Library Courses

I had a chance to catch up with James Baker at the British Library on Friday, and discovered that they're running an amazing series of short classes o...
October 27, 2014

## A New Lesson Template, Version 2

Update: this post now includes feedback from participants in the instructor training session run at TGAC on Oct 22-23, 2014. Please see the b...
October 23, 2014

## Massuni Kickstarter Has Launched

I'm very excited that Massuni's Kickstarter has launched. They're bringing custom furniture design to the web: you can use an in-browser tool to d...
October 22, 2014

## Beautiful Lessons

On May 17, 2006, I sent the following email to a couple of hundred programmers and computer scientists whose email addresses I had gleaned from the we...
October 20, 2014

## Welcome More New Instructors

We are very pleased to welcome another new batch of instructors to our team: Pete Alonzi Balamurugan Desinghu Leonor Garcia-Gutierrez Jeff Holl...
October 16, 2014

## A Research Software Petition

"We must accept that software is fundamental to research, or we will lose our ability to make groundbreaking discoveries." If you agree—and I hope...
October 15, 2014

## Interim Board Meeting: Oct 14, 2014

Software Carpentry Foundation Interim Board Meeting: Oct 14, 2014 Attending Jenny Bryan (Univ of British Columbia) Josh Greenberg (Sloan Foundation) Katy Hu...
October 14, 2014

As an appendix to the splitting the repository post, Greg recently posted a straw man template for how lessons might be structured after the repo ...
October 14, 2014

## A New Template for Lessons

Note: this post has been superseded by this one. Please post comments and feedback there. We blogged two weeks ago about a new template ...
October 14, 2014

## Announcing the Creation of the Software Carpentry Foundation

In order to foster Software Carpentry's continued growth, we are pleased to announce that we are creating an independent Software Carpentry Foundation (...
October 08, 2014

## A Reproducible Science Hackathon

NESCent is organizing a "Reproducible Science Hackathon" where participants will develop material and tools for teaching and facilitating a broad adop...
October 04, 2014

## Congratulations to the Moore Investigators

The Gordon and Betty Moore Foundation has just announced \$21 million in grants to fourteen investigators in the emerging field of data-driven discover...
October 04, 2014

## Browsercast

As we mentioned back in April, Gabriel Ivanica spent the summer working on a Google Summer of Code project called Browsercast. His goal was to build a...
October 04, 2014

## A New Template for Workshop Websites

The first step in reorganizing the bc repository is making it easier (much easier) for people to create websites for workshops. The current instruc...
October 04, 2014

## Welcome Our New Instructors

We are very pleased to welcome a new batch of instructors to our team: Russell Alleen-Willems Catalina Anghel Christie Bahlai P...
October 03, 2014

## A Better Software Engineering Course

I've taught several university courses on software engineering over the years, and haven't been happy with any of them. Like most professors, I buil...
October 02, 2014

## Interim Board Meeting: Sep 30, 2014

Software Carpentry Foundation Interim Board Meeting: Sep 30, 2014 Attending JB: Jenny Bryan (Univ of British Columbia) CG: Carole Goble (U. Manchester) JG: ...
September 30, 2014

## Splitting the Repository

United Airlines messed up my travel again last weekend, so I finally had a chance to think some more about how Software Carpentry works and how we can...
September 29, 2014

## UCOSP as a Model

Software Carpentry's two-day workshops are just one of many ways to teach people practical skills. Term-long group projects are another model that I'm v...
September 28, 2014

## September 2014 Lab Meeting Report

After a two-month break for a sprint and some holidays, we held another monthly lab meeting this week. About 50 people showed up to talk about issues ...
September 26, 2014

## A Proposal for Topic Maintainers

I can lift ten pounds. I can even still lift a hundred pounds, though my back won't thank me, but I can't lift a thousand pounds. Similarly, while...
September 18, 2014

## Interim Board Meeting: Sep 16, 2014

Software Carpentry Foundation Interim Board Meeting: Sep 16, 2014 Attending NCH: Neil Chue Hong (Software Sustainability Institute) - chair GW: Greg Wilson ...
September 16, 2014

## Mentioned in the Paris Review

Blake Winton pointed me at this article by Vikram Chandra in the Paris Review titled "The Beauty of Code". It opens with a hairball of a dependency ...
September 16, 2014

## Stray Thoughts

My friend Bob told me a story once. He spent a winter in a cabin outside Whitehorse with only a dog for company. When the thaw finally came, he and ...
September 15, 2014

## September 2014 Lab Meeting

After taking a break in July for our sprint, and in August because people were on holiday, doing fieldwork, or both, we will resume our monthly online...
September 12, 2014

## Videos from Stanford

Stanford University has posted videos from the Software Carpentry workshop held there in August featuring Azalee Bostroem, Chris Lonnen, Dani Traphagen,...
September 12, 2014

## What Sciences Are There?

The Software Carpentry pre-assessment questionnaire for bootcamp participants ask them to tell us what field they're in. The options we give them are ...
September 11, 2014

Naomi Ceder's talk at PyCon 2014 about her transition from male to female was the highlight of the conference for a lot of people. She recently post...
September 10, 2014

## An Update on Upcoming Bootcamps

So it turns out we have more events coming up than I realized: University of Delaware bootcamp Sep 11-12, 2014 Univ...
September 06, 2014

## Building Better Teachers

Some books are intrinsically great. (I've read Going Postal half a dozen times, and enjoyed it just as much at each encounter.) Other books feel gre...
September 04, 2014

## Fall 2014 Bootcamps (So Far)

Our calendar for the fall is filling up pretty quickly: we've added the following bootcamps in the last couple of weeks, and have more on the way. I...
August 30, 2014

Over the last few days, there have been four related discussion threads on the Software Carpentry mailing lists about what we use, what we t...
August 18, 2014

## A MOOC on Practical Numerical Methods with Python

As announced at SciPy'14 last month Prof. Lorena Barba will be teaching a MOOC titled Practical Numerical Methods with Python this fall, and the c...
August 14, 2014

## News from Australia

Damien Irving summed up Software Carpentry activities in Australia in a short talk at PyCon Australia last week, and talked a bit as well about lesson...
August 13, 2014

## Inessential Weirdness in Software Carpentry

Sumana Harihareswara, of the Wikimedia Foundation, has started compiling a list of inessential weirdness in open source. (It was inspired by this ar...
August 11, 2014

## Sustainability

I took part in a meeting about sustainable scientific software at last month's SciPy conference. Much of it was taken up with discussion of getting ...
August 04, 2014

## Summer Sprint Summary

Last week, the Mozilla Science Lab hosted its first-ever global sprint. Dozens of people joined in from 18 cities (and a few from home) to work for ...
July 29, 2014

## Summer Sprint FAQ

The Mozilla Science Lab's first-ever two-day sprint is less than three weeks away, so here's a short FAQ to tell you who can take part and how. ...
July 21, 2014

## Using a Package Manager for Lessons and Papers

I've been musing for a couple of years now about ways in which we could re-purpose off-the-shelf software engineering tools and techniques to serve th...
July 21, 2014

## SciPy 2014 Talks and Lessons

Talks from SciPy 2014 are now online, and include several from people associated with Software Carpentry. I particularly enjoyed Lorena Barba's key...
July 21, 2014

## Scientific Groupware Revisited

16 years ago, Jon Udell wrote a white paper titled "Internet Groupware for Scientific Collaboration" that profoundly changed how I thought about the...
July 05, 2014

## Summary of June 2014 Lab Meeting

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 not...
June 27, 2014

## Our IUSE Proposal Was Rejected

We got word a few days ago that our proposal to the NSF's Improving Undergraduate STEM Education program had been rejected. The panel summary agreed...
June 27, 2014

## Help Us Build an Admin Tool for Bootcamps

It takes a lot of work behind the scenes to match instructors to bootcamps, keep track of who taught (or learned) where, and manage our mailing lists....
June 20, 2014

## An Update on Our Sprint Plans

Plans for our two-day sprint in July are coming together: full details are being compiled on our Etherpad, but we hope the summary below will give y...
June 15, 2014

## A Double Handful of Bootcamps

The next couple of days are going to be busy, with bootcamps in Amman and Toronto, and at Duke, UC Davis, and Claremont Colleges. The week aft...
June 15, 2014

## Planning Our Summer Sprint

As a warm-up for our lab meeting on June 26, we have some more information to share about our two-day sprint in July. Please see our Etherpad for de...
June 09, 2014

## Introducing Scientists to Testing and Code Review

As part of our two-day sprint in July, the khmer project will be offering a mentored open source contributathon. This will provide an opportunity fo...
June 05, 2014

## Instructor Training in Norwich, October 2014

We are pleased to announce that we will be running a two-day version of our instructor training course at The Genome Analysis Centre in Norwich, UK, on ...
June 05, 2014

A lot of people have been writing about Software Carpentry on other blogs of late. Here, in no particular order, are a few of their posts: Damie...
June 05, 2014

## Announcing Two More WiSE Bootcamps

Thanks to generous support from Waterfront International and Stevens Capital Management, we are pleased to announce that we are running two bootca...
May 26, 2014

## Summary of May 2014 Lab Meeting

Our monthly online lab meeting took place this past Thursday (May 22), and for the first time it included voting on pull requests and other issues. Al...
May 24, 2014

## Behind the Scenes

A lot of people work behind the scenes to organize bootcamps, keep our website going (and readable), and generally make it possble for the rest of us ...
May 20, 2014

## A Lot of Bootcamps in the Works

Last week, we ran our first bootcamp in Brazil—many thanks to Raniere Silva for this writeup about what worked and what didn't. We'll visit ...
May 20, 2014

## Agenda for This Month’s Lab Meeting

The next Software Carpentry lab meeting will be held at 10:00 Eastern on Thursday, May 22, and repeated at 19:00 Eastern on the same day. (You can use...
May 13, 2014

## Knocking on the Future’s Door

Once again I feel like I'm knocking on the future's door but nobody's answering. The task we set ourselves seemed simple: produce a nicely-formatted P...
May 08, 2014

## A Multi-Site Sprint in July

We'll be holding our first-ever global sprint on July 22-23, 2014. This event will be modeled on Random Hacks of Kindness: people will work with frien...
May 05, 2014

## Playing the Kazoo

Yesterday, Matt Davis quoted Peter Wang as saying, "A violin is to a kazoo as Python is to Excel." To which I replied, "Exactly: anyone who want...
May 05, 2014

## How to Improve Instructor Training

We ran a three-day intensive version of our instructor training course in Toronto earlier this week. The 40 attendees seemed to find it useful, an...
May 02, 2014

## Wise as Athena…

Katy Huff has written an article for the Berkeley Science Review about our recent bootcamp for women in science and engineering in California. It'...
May 01, 2014

## PyCon 2014 Videos

A double handful of people associated with Software Carpentry gave talks at PyCon 2014 in Montreal two weeks ago. Thanks to Sheila Miguez and Will Kah...
April 27, 2014

## April 2014 Lab Meeting

We held another online lab meeting yesterday, which covered a fairly wide range of topics. The notes are below; comments about what we missed, and...
April 25, 2014

April 24, 2014

## Mr. Biczo Was Right

I didn't have nearly enough time to enjoy everything that was going on at PyCon 2014 last week. One event I particularly regret missing was a sprint ...
April 23, 2014

## Import Lesson

Lorena Barba has done it again. Having created a wonderful 12-step introduction to the Navier-Stokes equations using the IPython Notebook, she has...
April 23, 2014

## GSoC Projects for 2014

We're very pleased to announce that two students will be working on Google Summer of Code projects we put forward, and that one of our regular contr...
April 22, 2014

## Changing the Channel

A lot of open source projects use an antiquated-but-reliable chat system called IRC for long-running conversations. We've had an IRC channel for Sof...
April 18, 2014

## Do Not Be Worried

Sage advice for our instructors and learners from an eight-year-old:
April 16, 2014

## This Is Why I Don’t Write Any More

Thursday: fly to Montreal for PyCon. Friday: give a talk at McGill. Saturday: tell people at PyCon what I know about education. Sunday: help M...
April 15, 2014

## Summarizing Our Instructors’ Skills

We've been asking bootcamp participants to tell us about themselves for a while now, so it seems only fair to share some information about our instructo...
April 15, 2014

## Bridging the Writing Gap

A few months ago, we had an interesting discussion about what Software Carpentry should teach about writing and publishing in the 21st Century. One ...
April 06, 2014

## Does Continuous Publication Require Continuous Attention?

I read this post by Martin Fenner a couple of weeks ago. His thesis is that scientific publication is still very much a manual process, which ma...
April 05, 2014

## Announcing NBDiff

I am very pleased to announce the first release of NBDiff, a tool for diffing and merging IPython Notebooks that is now available on GitHub and ...
March 30, 2014

## One of Our Inspirations

Last week's post about our original logo reminded me that I'd never blogged about one of the books that inspired Software Carpentry in the first place: ...
March 27, 2014

## Changing Our Core Curriculum

We currently say that people must teach task automation, structured programming, version control, and unit testing in order to use the Software Carpen...
March 27, 2014

## Building a Minimal Online Presence

Titus Brown and Ethan White led a half-hour discussion today of the minimal online presence people in academia ought to have. Notes from the call are ...
March 27, 2014

## Not on the Shelves

Every few years, I indulge in a bit of sympathetic magic by writing reviews of books that don't actually exist in the hope that it will inspire some...
March 23, 2014

## Empirical Software Engineering Papers

When I teach scientists programming, I frequently cite empirical studies in software engineering to back up my claims about various tools and practice...
March 19, 2014

## Our Original Logo

How old is Software Carpentry? So old that the only surviving copy of our original logo is an unanimated GIF:
March 18, 2014

## A Letter from John von Neumann

Plans to standardize and publish codes of various groups have been made in the past, and they have not been very successful so far. The difficulty is ...
March 14, 2014

## You and Jimi Hendrix

I had a discussion a couple of weeks ago about software development tools and processes with some undergraduate students I'm mentoring. They asked w...
March 14, 2014

## Is Learning at Scale Just Another Name for Ubiquitous Surveillance in the Classroom?

Last week, I attended an ACM conference called Learning@Scale. It was the most depressing meeting I've been to in years, both because of what was sa...
March 14, 2014

## Everything Old is New Again

Yesterday, the New York Times R&D Lab announced streamtools, a web-based graphical tool for working with streams of data. It lets users create d...
March 14, 2014

## Anatole France, Updated

Anatole France (1844-1924) Then The law, in its majestic equality, forbids the rich and poor alike to sleep under bridges, to beg i...
March 07, 2014

## A Workshop for Librarians at PyCon

We are very pleased to announce that we will be running a two-day workshop on programming skills for librarians during the PyCon sprints in Montreal o...
March 04, 2014

## Learn How to Teach People to Program

We are very pleased to announce that we will be running two one-day workshops on how to teach programming during the PyCon sprints in Montreal on Apri...
March 04, 2014

## Summary of Feb 2014 Lab Meeting

We held a lab meeting last week. 48 people attended in two sessions (to accommodate different time zones); the main points are summarized below. C...
March 03, 2014

## Software Carpentry on the CBC

Greg Wilson was recently interviewed by CBC Radio's "Spark" program: you can listen to the interview online, or catch it live this Sunday at 1:00 pm.
March 01, 2014

## The Open Scoop Challenge

Sooner or later, in every discussion of open science, someone will say there's a risk of being scooped if you share your code or data with your peer...
February 25, 2014

## Lab Meeting (Feb 2014)

We're having our first lab meeting of 2014 this week. As usual, we'll hold it twice to accommodate different time zones: once at 20:00 Eastern on Wedn...
February 23, 2014

## From Training to Engagement

I was interviewed about Software Carpentry earlier this week, and the interviewer's second question was, "Don't scientists all learn how to program th...
February 21, 2014

## Lessons Learned Has Been Published

I'm pleased to announce that "Software Carpentry: Lessons Learned" has been published on F1000Research. A paper like this is necessarily incomplete, ...
February 19, 2014

## Our Biggest Event Ever

If you have friends or colleagues in or near Montreal, please let them know that we're running our largest bootcamp ever on April 14-15 in conjuncti...
February 13, 2014

## An Online Peer Instruction Tool

Peer instruction is a teaching technique originally developed by Eric Mazur and colleagues in the early 1990s. Study after study has shown that peer i...
February 09, 2014

## Wrapping Up Round 7 (and a Reminder About Instructor Training)

We had the wrap-up meetings for Round 7 of instructor training this past Thursday. The full summary is on the training blog, but the key points are: ...
February 09, 2014

## Workshops at the Data Science Centers

We are pleased to announce that we will be running workshops simultaneously at the data science centers at UC Berkeley, New York University, and the U...
January 30, 2014

## An Empirical Investigation into Programming Language Syntax

Andreas Stefik and Susanna Siebert: "An Empirical Investigation into Programming Language Syntax." ACM Transactions on Computing Education, 13(4), Nov. 2013.
January 29, 2014

## Workshop for Women in Science and Engineering: April 14-15 at LBL

We're very pleased to announce that registration is now open for our second workshop for Women In Science and Engineering, which will be held at Law...
January 28, 2014

## Workshops at PyCon in Montreal This April

We are pleased to announce that registration is now open for our largest event ever: on April 14-15, 2014, in association with PyCon 2014 in Montreal,...
January 28, 2014

## Teaching Online (Sort Of) in 2014

We have tried several times to teach Software Carpentry online, but the results have always been disappointing. We are therefore going to try somethin...
January 28, 2014

## The Other One Per Cent

Over the past year, there's been a minor rage storm on the internet (and oh yeah, in print, I guess) about the widening gulf between academic haves ...
January 24, 2014

## Why Not a MOOC?

We got mail yesterday asking us whether we were going to run Software Carpentry as a MOOC. The short answer is, "No." The full answer has several part...
January 19, 2014

## From 0 to 1 to 10

Andromeda Yelton has written a great blog post about her experiences teaching a bootcamp for librarians in Toronto earlier this week. It includes th...
January 15, 2014

## Publishing on the Web

Back in December, I asked a question on the Software Carpentry issue track: What should we teach about writing/publishing papers in a webby world? I...
January 15, 2014

## Code Review, Round 2

Short version: we will launch a second pilot study of code review for scientific software in February 2014, in which experienced mentors will teach sm...
January 14, 2014

## ‘Best Practices’ Has Been Published

I'm very pleased to announce that our paper Best Practices for Scientific Computing has been published in PLOS Biology. It presents 24 specific thin...
January 07, 2014

## We Need More of These

Michael Nygard's Release It! is one of my favorite books about the practical side of computing—I gave it five stars when it first came out, and ...
January 07, 2014

## Mental Models and Vicious Circles

A few days ago, Konrad Hinsen asked this on our discussion list: Is anyone aware of teaching methods that aim at either developing or verifying th...
January 07, 2014

## Tools, Conversations, and Cultures

Philip Guo is best known these days for The Ph.D. Grind, but I first met him through his Online Python Tutor. He helped teach a bootcamp for librari...
December 31, 2013

## Catch and Hold

I'm a big fan of Mark Guzdial's work on computing education. Last week, he tweeted this: Google is made of people who succeed in current CS teac...
December 27, 2013

## Oxford, One Year On

Philip Fowler recently posted a nice study of the impact last year's Software Carpentry bootcamp at Oxford had on its participants. The key findin...
December 25, 2013

We're very pleased to announce that Andromeda Yelton will be coming to Toronto in mid-January to help teach a bootcamp for librarians. Her advice ...
December 19, 2013

## So How Is Instructor Training Going?

We recently wrapped up the latest round of instructor training, which makes this a good time to look at how well the program is doing. Here are stats ...
December 19, 2013

## There Ought to Be a Badge

I feel like there should be a Software Carpentry badge for drawing one of these for someone for the first time. — Amy Brown on Twitter
December 10, 2013

## Two to the Fifth New Instructors

We are very pleased to welcome 32 new instructors from six different countries to the Software Carpentry team: we look forward to working with them ...
December 05, 2013

## WiSE Bootcamp at Lawrence Berkeley National Laboratory

We are very pleased to announce that our second bootcamp for women in science and engineering will be held at Lawrence Berkeley National Laboratory ...
November 29, 2013

## Registration Now Open for Instructor Training Course

As announced last week, we are offering a live version of our instructor training course on April 28-30, 2014, at the Mozilla office in Toronto. ...
November 25, 2013

## Centre for Doctoral Training at Southampton

Hot on the heels of the announcement of three new data science centers in the US comes this: £350 million for PhD training centers in the Un...
November 24, 2013

## Thanks from Woods Hole

We ran a bootcamp last week at Woods Hole Oceanographic Institute. It seems to have gone well: I just want to say that Will and Ross are rock stars....
November 17, 2013

## Workshop at SIGCSE 2014

We are very pleased to announce that Fernando Pérez, Peter Norvig, and Greg Wilson will be running a three-hour workshop on teaching with t...
November 16, 2013

## A Modest Proposal

Here's an idea: when conferences and journals send CS research papers out to academics for peer review of content, they should also send them to a cou...
November 16, 2013

## Citing Us In Your CV

People volunteer to teach Software Carpentry bootcamps for many reasons. We're always grateful that they do, and would like them to get all the cred...
November 16, 2013

## Creating a Forum

Every few months, someone asks why we don't have some kind of forum or bulletin board for Software Carpentry. The answer is that we've tried setting o...
November 16, 2013

## Instructor Training in Three Days

Update: see this post for information on registration. We are pleased to announce that we will be running a live version of our online instructo...
November 16, 2013

## Data Science Centers at UCB, UW, and NYU

Yesterday, the Gordon and Betty Moore Foundation and the Alfred P. Sloan Foundation (who are Software Carpentry's main backer) announced \$37.8M ...
November 13, 2013

## Women in Tech Workshop at PyData NYC

Software Carpentry has always focused on scientists at the graduate level and above, but getting people into the pipeline is even more important as gett...
November 13, 2013

## Report on the PLOS/Mozilla Code Review Pilot

Marian Petre and I have written a report on the pilot study of scientific code review done jointly by PLOS and Mozilla; you can read this summary ...
November 12, 2013

## Three Old Men Drinking Tea

Years ago, a friend took me to see an exhibit of Chinese paintings in Edinburgh. I liked one so much that I picked up a print (which I have long sin...
November 10, 2013

## Software Carpentry’s Scope

To help people figure out what's in and what out as we're reorganizing our material, I've drafted an explicit description of our scope inspired in p...
November 02, 2013

## Reorganizing

TL;DR: We're going to: split our lesson materials for absolute beginners and people with some previous experience; build some tools to mana...
November 02, 2013

## November 2013 Lab Meeting

The first Mozilla Science Lab meeting is happening at 11:00 am Eastern time on Thursday, November 14; its agenda and connection details are on this Ethe...
November 02, 2013

## A Simple Exercise

Every teacher has a few favorite assignments. Here's one of mine, which I gave to two undergraduate software engineering classes that I taught at th...
October 23, 2013

## You Keep Using That Word

The first Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE) is going to be held in conjunction with Supercomputing 2013 ...
October 17, 2013

## The State of Open Science

As part of the biannual Mozilla Summit a couple of weeks ago, John Jensen presented a report on the health of the open web. The details were fascinati...
October 17, 2013

## Curriculum Design

I spoke with three different people about curriculum design last week, so this seems like a good time to summarize what I know about doing that properly...
October 14, 2013

## Enrolment Figures (Fall 2013)

Our total enrolment (or enrollment, if you're American) continues to grow steadily: if we stay on the curve below, we'll have our four thousandth learner by ...
October 09, 2013

## Assuming the Problem

Gizmodo ran a piece recently titled What Happens When Cities Fall Apart? about the work of David Kilcullen, an Australian military theorist who beli...
October 08, 2013

## Our Biggest Bootcamp Ever at PyCon 2014

Thanks to the generous support of the Python Software Foundation, we will be running our biggest bootcamp ever in conjunction with PyCon 2014 in Mon...
October 04, 2013

## October 2013 Lab Meeting

25 people attended our monthly (ish) online lab meeting yesterday, during which we announced and discussed a wide variety of topics. The detailed summ...
October 04, 2013

## The Future: Today

Two papers appeared on my radar this week that give a taste of the kind of science we want everyone to be able to do in five years' time. The first, ...
September 27, 2013

## Code and Data for the Social Sciences

Matthew Gentzkow and Jesse Shapiro have written an excellent guide "Code and Data in the Social Sciences". It's short (only 38 pages), very readable...
September 26, 2013

## To Tell You the Truth…

September 24, 2013

## How Much Testing Is Enough?

When we teach testing, we are sometimes asked, "How much is enough?" The short answer is, "It depends." To help construct a longer answer, we'd like to fin...
September 24, 2013

## PyCon 2014 Proposal

I submitted this proposal to PyCon 2014—win or lose, I hope to see you all there. Submitted by: Greg Wilson Category: ...
September 15, 2013

## Still

I am pleased to announce that my YA novelette Still is now available in paperback at Lulu.com and as a Kindle e-book on Amazon.com. The story is...
September 05, 2013

## Introducing Citation Files

Robin Wilson, of the University of Southampton, recently posted a note on the Software Sustainability Institute's blog about CITATION files. In br...
September 02, 2013

## Teaching Librarians at Harvard

Last weekend, we ran a bootcamp at the Harvard-Smithsonian Center for Astronomy aimed primarily at librarians. It was a bit of a new venture for us,...
September 02, 2013

## Does Task Automation Improve Code Reviews?

Alex Gaynor, who is active in several open source communities, asked an interesting question on Twitter today: Looking for studies as to whether a...
August 31, 2013

August 31, 2013

## Open Access Button Hackathon is Sept 7-8

Millions of people a day are denied access to the research they both need and paid for because of paywalls. It doesn't have to be like this, but we need...
August 30, 2013

## Jonathan Dursi Joins Compute Canada

Jonathan Dursi, a long-time supporter of Software Carpentry and one of our first instructors, has been named Interim Chief Technology Officer for ...
August 30, 2013

## Why Open Access?

Mark Guzdial's group at Georgia Tech does world-class work on how to teach programming: over half of the links in the recommended reading for our in...
August 25, 2013

## Instructor Training Statistics

We started running an online training course for Software Carpentry instructors last fall. It's been going pretty well: 72 people signed up...
August 23, 2013

## Two Cheers for GitHub

There's been a micro-flurry of excitement in the scientific world about GitHub's recent announcement that they will now render tabular text files (i.e...
August 23, 2013

## August 2013 Lab Meeting

We held another of our semi-regular online lab meetings yesterday, complete with a theme song. We ran the meeting twice to accommodate different tim...
August 23, 2013

## August 2013 Lab Meeting

We will have an online lab meeting on Thursday, August 22, 2013 to discuss changes to the website, plans for the coming few months, and common quest...
August 19, 2013

## Bootcamp Questionnaires

Thanks to some hard work by Jory Schossau and others, we have developed three standard questionnaires for bootcamp participants: Pre-assessment for ...
August 19, 2013

## Summary of Host Survey

Earlier this summer, we asked people who had hosted Software Carpentry bootcamps to give us some retrospective feedback. Their answers are summarized ...
August 14, 2013

## What We Cover in Instructor Training

The sixth round of our online training class for Software Carpentry instructors is kicking off this week with 28 participants. Our main text is Ho...
August 13, 2013

## Offering a New Order

Every movement that seeks to change society faces two great tasks. The first is to discredit the old order. The second is to offer a new one. Without the...
August 12, 2013

July 28, 2013

## Rebooting

After repeated hackage (and half-hearted tech support from Dreamhost, which seems to have lost all interest in its customers), I've rebooted this blog using ...
July 28, 2013

## Report on the Indiana Bootcamp

Mike Hansen, Jeff Shelton, and Aleksandra Pawlik posted a summary of their recent bootcamp at Indiana University on the Software Sustainability ...
July 26, 2013

## Miscellaneous Videos

People have been talking about Software Carpentry in a bunch of different venues recently. Katy Huff and Matt Davis did a tutorial at SciPy'13 that was ...
July 20, 2013

## The Fourteenth Anniversary

Fourteen years ago this October, I had the good fortune to attend a one-day workshop titled Open Source/Open Science at Brookhaven National Laboratory...
July 19, 2013

## Welcome Our New Instructors

We're very pleased to welcome a dozen new instructors to the Software Carpentry team: Diego Barneche John Blischak Daniel Falster Rich FitzJohn St...
July 19, 2013

## Data Science Workflows

Half a dozen of us got together yesterday morning to chat about The Bad Data Handbook, what the curriculum for a Software Carpentry-style bootcamp for...
July 18, 2013

## Biological Computing User Stories

Three years ago, when we rebooted Software Carpentry, we wrote some brief descriptions of our intended audience and how we thought we could help the...
July 17, 2013

## Computational Competence for Biologists

On July 8 and 9, I had the pleasure of taking part in a two-day workshop at SESYNC to discuss what we ought to teach biologists about computing. It ...
July 16, 2013

## WiSE Bootcamp Roundup

It's been over a week since our first bootcamp for women in science and engineering wrapped up in Boston, and feedback has been coming in pretty steadily. I...
July 05, 2013

## Sloan Foundation Proposal Round 2

From our "better late than never" department: we submitted a proposal to the Sloan Foundation last August to create what we're now calling the Mozilla Scienc...
July 05, 2013

## Software Carpentry: Lessons Learned

With contributions from: Azalee Bostroem (Space Telescope Science Institute) Chris Cannam (Queen Mary, University of London) ...
June 20, 2013

## The Twelve Bar Blues of Open Science

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 struct...
June 19, 2013

## Salk Institute Feedback

Preston Holmes recently posted a detailed analysis of his experiences helping out at our Salk Institute bootcamp. It contains a lot of insights, a...
June 17, 2013

## Problems with Pandoc

People have been asking me to write the Software Carpentry instructor's guide in Markdown instead of HTML, mostly so that it will be easier for other people ...
June 13, 2013

## Keynoting at SPLASH 2013

I will be giving a keynote talk at SPLASH (formerly OOPSLA) in Indianapolis on Wednesday, October 30. Hope to see you there!
June 13, 2013

## Formal Specifications Better Than Function Points for Code Sizing

Mark Staples, Rafal Kolanski, Gerwin Klein, Corey Lewis, June Andronick, Toby Murray, Ross Jeffery, and Len Bass: "Formal Specifications Better Than Function...
June 13, 2013

## It’s Not a Bug, It’s a Feature: How Misclassification Impacts Bug Prediction

Kim Herzig, Sascha Just, and Andreas Zeller: "It's not a Bug, it's a Feature: How Misclassification Impacts Bug Prediction". ICSE'13, 2013, http://www.st.cs....
June 13, 2013

## The MSR Cookbook: Mining a Decade of Research

Hadi Hemmati, Sarah Nadi, Olga Baysal, Oleksii Kononenko, Wei Wang, Reid Holmes, and Michael W. Godfrey: "The MSR Cookbook: Mining a Decade of Research". ICS...
June 13, 2013

## UML in Practice

Marian Petre: "UML in practice" ICSE'13, 2013. http://oro.open.ac.uk/35805/. UML has been described by some as "the lingua franca of software engineering". E...
June 13, 2013

## June 2013 Lab Meeting

Earlier this week, Software Carpentry had its first online lab meeting since October 2012. In attendance were: Greg Wilson ...
June 13, 2013

## Heroes

All that is necessary for evil to triumph is for good men to do nothing. — Edmund Burke
June 09, 2013

## Is There Only Room for One Utopia?

The title of Samuel Moyn's The Last Utopia: Human Rights in History is misleading. It isn't really a history of human rights; instead, it's an outline of how...
June 07, 2013

## Running Bootcamps

It's been eighteen months since we started running two-day bootcamps. We've grown rapidly: Cumulative Number of Bootcamps Cumulative Enrolm...
June 07, 2013

## First Impressions of MSR

Mike Hoye, Mozilla's Engineering Community Manager, attended the Mining Software Repositories conference for the first time this year. Here are his impressio...
June 04, 2013

## The Great Licenceathon

The Software Sustainability Institute's Simon Hettrick writes: Intellectual Property (IP) is a thorny issue in academia, generally because people do...
May 30, 2013

## What Does Victory Look Like?

A lot of changes are happening to science as I write this. Crowdsourcing, open reviews, citeable data, new ways to measure contributions, automa...
May 26, 2013

## What Does Done Look Like?

After recent posts about where we are, our infrastructure, and our plans for the summer break, it seems like a good time to raise our sights and...
May 26, 2013

## Our Infrastructure

As described in these posts from May, and October 2012 (which build on this one from April 2012), we use a complicated collection of tools...
May 25, 2013

## Where We Are (More or Less)

In January 2012, John Cook posted this to his widely-read blog: In a review of linear programming solvers from 1987 to 2002, Bob Bixby says that solve...
May 24, 2013

## Planning for the Break

We've had a busy nine months: 55 bootcamps since we restarted bootcamps last September, with 19 more in the next two months. We're taking a break th...
May 24, 2013

## Browsercast

David Wolever (a freelance developer here in Toronto) has released the first version of BrowserCast, an IPython Notebook plugin that allows you to s...
May 24, 2013

## Wrapping Up at UC Davis

Jenna Lang has posted a great wrap-up on the bootcamp at UC Davis — with Python cookies!
May 17, 2013

## A Mention in Science Careers

Vijee Venkatraman has written a good article for Science Careers titled "When All Science Becomes Data Science", which mentions Software Carpentry.
May 14, 2013

## Git vs. Subversion and Feedback in General

Software Carpentry's mission is to help scientists teach other scientists how to be better programmers. If we want to do that successfully, we need to be sc...
May 10, 2013

## If Anything, They Overestimate My Javascript

From my open source report card: More seriously, there's a whole lotta unhealthy spin goin' on when "open source" means "what you did on GitHub".
May 08, 2013

## Make It Easier to (Re)use Your Data

Software Carpentry has focused on computing for most of its 14 years (primarily because that's what I'm most familiar with) but it's increasingly clear that ...
May 03, 2013

## More Detailed Feeback from Melbourne

The hosts of our February bootcamp at the AMOS conference in Melbourne have collected some more detailed feedback from participants. I'm pleased that two th...
May 03, 2013

Digital badges are a hot meme right now. They let anyone, anywhere, issue credentials that are finer-grained than degree certificates or driver's licenses. ...
May 02, 2013

## A Rational Computing Process: How and Why to Fake It

Parnas and Clement's 1986 paper "A Rational Design Process: How and Why to Fake It" [1] is one of the most widely read in the history of software engi...
May 02, 2013

## Merging is the Real Revolution

Many people think that Javascript and HTML5 are the future of the web. Respectfully, I think they're both red herrings: I think what makes successful open so...
May 01, 2013

## Pre-Assessment Results

Of the 29 people who responded to a brief questionnaire before a recent bootcamp, we have: 18graduate students 4postdocs 4staff 1faculty member 1g...
April 30, 2013

## An Update on Cumulative Enrolment

It's been a busy few months, and the next three promise to be busier still. Somewhere in there we helped our two thousandth learner, and if everything goes ...
April 29, 2013

## Manchester Once Again

Mike Jackson has posted a summary of Software Carpentry's second bootcamp in Manchester this month. We're hoping to visit again before the year's end—...
April 24, 2013

## Cameron Neylon Speaking in Toronto on May 1, 2013

Network Enabled Scholarship — Reconfiguring Research for the Web Dr. Cameron Neylon Director of Open Access Advocacy, Public Library of Science 4:00 p....
April 19, 2013

Just in case there's any misunderstanding: I'm not suggesting that scientists should use Excel. Now, with that out of the way… Guy Deutscher's wonde...
April 19, 2013

## A Characteristic Study on Failures of Production Distributed Data-Parallel Programs

Sihan Li, Hucheng Zhou, Haoxiang Lin, Tian Xiao, Haibo Lin, Wei Lin, and Tao Xie: "A Characteristic Study on Failures of Production Distributed Data-Parallel...
April 16, 2013

## Installation Revisited

Regular readers (and anyone who has attended a bootcamp) will know that getting learners' laptops set up is the single biggest headache we have. Titus...
April 08, 2013

## Evaluation Revisited

Caitlyn Pickens (a graduate student at Michigan State who is interning with us this summer) has just posted an article about the validity of differe...
April 08, 2013

## Announcing a Bootcamp for Women in Science and Engineering

On June 24-25, 2013, Software Carpentry will run a computing skills bootcamp in Boston for women in science, engineering, and medicine. With three r...
April 07, 2013

## That’s My Secret, Captain…

...I'm always proud:
March 28, 2013

## Using the IPython Notebook as a Teaching Tool

I had a fruitful discussion with Jon Pipitone today about using the IPython Notebook for teaching. Long story short, there are several possible approaches, b...
March 24, 2013

## Comments on Firefox Available for Analysis

A team of Mozilla developers ran a Reddit "Ask Me Anything" on Firefox two weeks ago. Several thousand comments were submitted, and Blake Winton has now sort...
March 24, 2013

## Testing Image Processing

Testing has always been part of Software Carpentry, but it's also always been one of our weak spots. We explain that testing can't possibly uncover al...
March 17, 2013

## Cumulative Enrollment

One measure of how well we're doing is the number of people we've helped. Here's what the last 15 months have looked like:
March 17, 2013

## Snowstorms and Blackouts in Virginia

Despite inclement weather, last week's bootcamp at the University of Virginia went well. According to Steve Crouch, 33 researchers spent two days learning so...
March 15, 2013

## A New Testing Framework for MATLAB

Steve Eddins just announced a new unit testing framework for MATLAB. Based in part on lessons learned from his earlier mUnit framework, it has everything yo...
March 12, 2013

## Halving Fail Rates using Peer Instruction

Leo Porter, Cynthia Bailey-Lee, and Beth Simon: "Halving Fail Rates using Peer Instruction: A Study of Four Computer Science Courses". Proc. SIGCSE 2013. Pee...
March 08, 2013

## First Round at Lawrence Berkeley

We just wrapped up a two-day workshop at the Lawrence Berkeley National Laboratory, and another is due to start tomorrow. Here's what worked and what didn't...
March 05, 2013

## Washington Went Well

Last week, we put on the largest Software Carpentry bootcamp ever at the University of Washington: three rooms, six instructors, ten helpers, and 93 students...
March 01, 2013

## Alternative Teaching Models

Our two-day bootcamps are working well, but that doesn't mean they're the best—or only—way to teach basic computing skills to scientists. We've ...
March 01, 2013

## A Software Carpentry Boot Camp for Women in Science and Engineering

Software Carpentry is pleased to announced a two-day software skills boot camp for women in science and engineering, to be held in Boston this June. We're cu...
February 28, 2013

## A Bootcamp for Women in Science and Engineering

This summer NumFOCUS and Software Carpentry are hosting a software skills bootcamp for women in science and engineering in Boston. We are seeking sponsorship...
February 27, 2013

## Congratulations to Christian Muise

U of Toronto PhD student Christian Muise created an application that was selected as a winner of Google's Places API Challenge. The competition brought toget...
February 15, 2013

## Wrapping Up in Melbourne

Two long but useful days at Melbourne Uni have just wound down, and five dozen meteorologists and climate scientists have given us feedback on a well-run boo...
February 15, 2013

## More News from the UK

Two pieces of news from the UK: The folks at Queen Mary, University of London just ran a two-day bootcamp for students in Media and Arts Technology, and w...
February 14, 2013

## Partnering with the SSI

February 12, 2013

## UBC Went Well

Ted Hart and Ethan White just wrapped up a bootcamp at the University of British Columbia, and by all accounts it went very well: Good Bad ...
February 11, 2013

## Correctness Isn’t Compelling

The final report from the ICERM workshop on Reproducibility in Computational and Experimental Mathematics is now available, and its appearance has prompted m...
February 11, 2013

## Why Don’t I Just Go Ahead And Frame That Debate In A Way That Guarantees I’ll Win?

Clay Shirky's latest piece, which points out that offline colleges are broken, has been attracting a fair bit of attention. What isn't is the way he and othe...
February 10, 2013

## The Larch Environment

G.W. French, J.R. Kennaway, and A.M. Day: "Programs as visual, interactive documents." Software – Practice and Experience (2013), DOI: 10.1002/spe.2182...
February 09, 2013

## Macquarie Went Well

Last week's bootcamp at Macquarie University went well: I fumbled the introduction to Python on Friday morning (which I haven't done in a long time), but wit...
February 08, 2013

## The Missing Side of the Triangle

A few weeks ago, John Cook posted the following:
February 03, 2013

## Features and Scope in Open Courseware

A couple of weeks ago, Brian Granger (one of the core developers of IPython) posted some thoughts on features and scope in open source software. In it, he e...
February 03, 2013

## A Short Report from Tuebingen

Luis Figueira has posted a short summary of last week's bootcamp at the Max Planck Institute in Tuebingen, Germany. Judging by the number of people who have...
February 03, 2013

## A Bunch of Bootcamps

We've had a busy month: we've run bootcamps at the Max Planck Institute in Tübingen, the Technische Universiteit München, Mozilla's office in Toron...
February 01, 2013

## Releng 2013

Releng 2013 is a one day workshop (co-located with ICSE) to bring together release engineers and researchers to discuss the challenges in release engineering...
January 30, 2013

## A Bootcamp at Mozilla

We ran a two-day bootcamp at Mozilla's office in Toronto last week for people from local research hospitals. It seemed to go well: only 28 of the 37 who'd r...
January 30, 2013

## Half a Hundred

And then Maddie said, "Daddy, guess what? You're half a hundred years old!"
January 30, 2013

## Novelty, Efficiency, and Trust

I've spent a lot of time trying to figure out what the "big picture" is for Software Carpentry. What are the best practices every scientist should master? ...
January 28, 2013

## How to Become an Instructor

As we've mentioned elsewhere, our instructors are volunteers who donate their time because it's fun, because it makes the world a better place, because they ...
January 23, 2013

## Record and Playback in the IPython Notebook

We decided last fall to start teaching Python using the IPython Notebook rather than a plain old command-line interpreter. It will take us a few months to c...
January 22, 2013

## Why Web Literacy?

Last week, Mark Surman (director of the Mozilla Foundation) posted an article titled, "I need help explaining 'why?'" In it, he roughed out a five liner to e...
January 21, 2013

## Teaching Commercially

A couple of people have contacted us recently to ask about running Software Carpentry bootcamps for companies. Our material is all Creative Commons licensed...
January 11, 2013

## The Last Policeman

I finished Ben H. Winters' The Last Policeman; it's one of those "wish I had written it" books. A few passages here and there don't quite ring true, but then...
January 09, 2013

Another day, another flood of defensive, ill-informed commentary on the Internet about women in technology. (I'm thinking particularly of some of the respons...
January 07, 2013

## Five Things

Inspired (as always) by Geeky Mom, here are: Five things I'm thankful for this week: Tobogganing with my daughter (I got to go four times, and I got to be ...
January 04, 2013

## Why We Teach

Data Sharing and Management Snafu in 3 Short Acts: you have to laugh, because otherwise you'd cry...
January 04, 2013

## Advice From a Newbie No More

Adina Chuang-Howe recently wrote a great blog post titled "Advice from newbie to newbie", in which she gives some advice to her younger and not-yet-computati...
January 04, 2013

## Why We Need Evidence

Our previous post, "Empirical Evidence for the Value of Version Control", generated a lot of comments. Many sought to explain why version control is helpful,...
December 30, 2012

## What Will Programming Look Like in 2020?

Over on Lambda the Ultimate, Sean McDirmid has asked: What will programming look like in 2020? Keep in mind that programming in 2012 mostly resembles program...
December 29, 2012

## Why I Didn’t Like "The Dark Knight Rises"

Looking back on 2012, The Dark Knight Rises was probably my least favorite film. The visuals were OK, I guess, but Christian Bale somehow managed to make the...
December 26, 2012

## Computer Science Curricula 2013

Following a roughly 10 year cycle, the ACM and IEEE Computer Society jointly sponsor the development of a Computing Curricula volume on Computer Science. The...
December 23, 2012

## Sample Data Management Plans

Neil Chue Hong recently pointed us at DataONE's Data Management Planning page, which has two really useful things: a link to DMPTool, which will help you ...
December 21, 2012

## Code of Conduct

Software Carpentry is dedicated to providing a harassment-free learning experience for everyone, regardless of gender, sexual orientation, disability, p...
December 21, 2012

## Internet Humor from my Mum

December 19, 2012

## Minutes from 2012-12-19 09:00:00 All-Hands Meeting

Our second all-hands meeting was held on Wednesday, December 19, from 12:00-13:10 Eastern time.
December 19, 2012

## You’ve Shown Me the C, Now Where’s the Python?

The W3C's Provenance Working Group recently published a new draft of their proposed standard for tracking provenance on the web. It's pretty dense stuff: ev...
December 16, 2012

## Lorena Barba’s Reproducibility PI Manifesto

Prof. Lorena Barba, of Boston University, presented an excellent manifesto at the ICERM meeting on reproducible research: I will teach my graduate student...
December 15, 2012

## Would You Like Your Programming Language to Have a Million Users?

Would you like your new programming language to have a million users in a couple of years? You would? Cool—here's how to do it. Instead of asking yours...
December 14, 2012

## Empirical Evidence for the Value of Version Control?

We received this by email: I use version control for my software, and I encourage others to do so, but I have no experimental evidence to base that decision...
December 12, 2012

## IPython Funding: Hurray!

Via email: We are proud to announce that we've received funding from the Alfred P. Sloan Foundation that will support IPython development for the next two y...
December 12, 2012

## Some of the Things We’ve Learned About Teaching Git

We've tried teaching Git six or seven times now; here's what some of the instructors have learned. Instructor #1 I spent too much time explaini...
December 11, 2012

## What To Work On In 2013

Votes are in and tallied: here's what you'd like us to work on in 2013.
December 09, 2012

## ElmCity Reaches Toronto

For the past few years, Jon Udell has been working on a project called ElmCity. Its ostensible aim is to do for calendars what the RSS ecosystem has done for...
December 08, 2012

## Two Solitudes Illustrated

Jorge Aranda and I submitted a short opinion piece to Communications of the ACM in February 2012 that discussed some of the reasons people in industry and ac...
December 06, 2012

## Why Be an Instructor

Our instructors are all volunteers—bootcamp hosts cover their travel and accommodation costs, but they're not paid for their time. So why do they do i...
December 05, 2012

## Who Can Run a Software Carpentry Workshop?

A couple of people have mailed us in the past week to ask if they can use our materials and run a workshop on their own. The short answer is "yes"; the long...
December 05, 2012

## Sustainability

Software Carpentry wouldn't exist without support from the Sloan Foundation, Mozilla, and a lot of other supporters, but that support won't last forever. Ov...
December 05, 2012

## Six Years Later

I'm giving a short talk next week at an ICERM workshop on Reproducibility in Computational and Experimental Mathematics, which has prompted me to look back a...
December 05, 2012

## Our First Hackathon

We'd like to invite our friends to a week-long hackathon at Mozilla's office in Toronto in June to: create new teaching material give each other feedbac...
December 05, 2012

## Moving Up and Moving Down

Our existing workshops/material are aimed at people who know enough to write a hundred-line script, but don't yet use version control or do any systematic te...
December 05, 2012

## Good News About Software Carpentry (and More)

We're pleased to announce that Mozilla and Software Carpentry will be continuing and expanding our work to empower scientists with computer science and webma...
November 30, 2012

## Alpha Testing Ideas for the IPython Notebook

Before I post any of these ideas on the IPython Notebook wiki, I'd be grateful for feedback from our learners and instructors. Most of these (maybe all of th...
November 27, 2012

## Titus Brown on the Scripps Institute Bootcamp

Hot on the heels of Cait Pickens' posts about our workshop at the Scripps Institute comes this post-mortem from Titus Brown. Again, there's lots of good anal...
November 25, 2012

## If Udacity is Napster, Who Will Be iTunes?

My Who Decides? post has produced some rather heated email. In answer, no, I am not defending the existing university system: I quit my faculty position at t...
November 19, 2012

## Who Wants To Build a Faded Example Tool for the IPython Notebook?

While I'm asking people to write code for me, here's a small addition to the IPython Notebook that someone should be able to knock off in an hour. The starti...
November 19, 2012

## The Tool (I Think) We Need To Do Peer Instruction Online

Clay Shirky's recent essays "Napster, Udacity, and the Academy" has attracted a fair bit of attention. I've written about some of the things it doesn't discu...
November 19, 2012

We're planning to launch an update to this web site in the next few days, and as part of that, we're revisiting some of our content. For example, we'd like t...
November 17, 2012

## Who Wants To Write a Little Code?

We have always steered away from building libraries to use in teaching—we want to show people the "real" stuff, and we can't afford to maintain things....
November 16, 2012

## Matt Davis’s Great Californian Adventure

Matt Davis (who works at the Space Telescope Science Institute, and has become one of our regular instructors) taught three bootcamps in eight days back in O...
November 16, 2012

## This Is What We Do

Day 1 of the workshop at the Scripps Institute: a room full of biologists learning how to do better science faster by building things the right way.
November 15, 2012

## FOSDEM 2013

Via Sylwester Arabas (one of the organizers): A day-long session ("devroom") on Free/Libre and Open Source Software (FLOSS) for scientists will be held duri...
November 14, 2012

## Web 4 Science

Titus Brown (a long-time supporter of, and contributor to, this project) has a series of posts on his blog about using the web for science. As he's well ahea...
November 13, 2012

## Pre-Assessment

One of the recurring problems in our bootcamps is that at any point, about 1/4 of people are lost, and 1/4 are bored. The only fix we can think of is to let ...
November 13, 2012

## UCOSP Has Grown

One of the last things I did before leaving the University of Toronto was start UCOSP, which gives students in CS a chance to work in cross-country teams on ...
November 07, 2012

## More Tips

Philip Fowler, who recently hosted a bootcamp at Oxford, has written a 5-point guide for people who are thinking about doing it themselves—we hope you'...
November 06, 2012

## Who Decides?

Sal Khan and Michael Noer recently recorded an 11-minute webisode on the history of education from 1680 to 2050. It angered Audrey Watters, and I think my ta...
November 05, 2012

## How to Help at a Bootcamp

Aleksandra Pawlik has written a five-point guide to helping out with Software Carpentry bootcamps: Familiarity is not enough. You're not just there to t...
November 03, 2012

## I’d Like an Argument, Please

Twice this week I've heard the claim that ignorance is strength—that not knowing what's been done before in an area is actually an advantage, because t...
November 02, 2012

## Oxford Wrap-Up (with charts!)

The first Software Carpentry workshop in Oxford has wrapped up, and by all accounts was a big success. Philip Fowler, the host, has posted about running the ...
November 01, 2012

## Charging and Being Charged

As noted in the minutes from our meeting on Monday, one of the many things we want to improve about our workshops is the attendance rate. While we get near-c...
November 01, 2012

(The yellow raincoast isn't really part of the costume—blame Hurricane Sandy for that.)
October 31, 2012

## Minutes from 2012-10-29 All-Hands Meeting

We held our first online all-hands meeting yesterday (Monday, October 29), and despite Hurricane Sandy, 28 people were able to attend. Minutes from the meeti...
October 30, 2012

## Usability Testing and Instructional Design

This is a story in several parts.
October 28, 2012

## Why This Is Hard (Part Deux)

I pointed a grad student at the IPython tutorial and made some notes as she started to work through it. (She has used the vanilla Python interpreter before, ...
October 27, 2012

## Two Self-Assessments

A recurring problem with our workshops is the diversity of learners' backgrounds. Below are the results of two pre-workshop self-assessments (on different gr...
October 26, 2012

## Counting to Five (or, A Plan for Online Tutorials and What’s Wrong With It)

My daughter is five and a half years old, and some time in the last couple of weeks, she made a small cognitive breakthrough. It used to be that if I asked h...
October 26, 2012

## Prime Numbers, Biologists, and Data Visualization

A couple of days ago, Titus Brown posted a question from Randy Olson: are there relevant, non-abstract problems (for biologists) that you can solve with mini...
October 25, 2012

## An Apology to the OSC (was: Calling All [Male] Junior Aerospace Engineers)

We received an email from the Ontario Science Centre this morning about their upcoming sleepover camps. It said: SPACE ODYSSEY: Families, Beavers, Cubs, Sco...
October 24, 2012

## Twenty Percent

I realized a couple of days ago that I'd never blogged about what Software Carpentry needs to accomplish in order to change the practice of science fundament...
October 23, 2012

## Key Points

On the flight back from Vancouver yesterday, I finally did what I should have done eight months ago and compiled the key points from our core lesson content....
October 23, 2012

## 25 Questions

We've tried several times to define Software Carpentry's aims and content in terms of the questions that researchers ask (see for example our competence matr...
October 23, 2012

## Getting Credit

A recurring theme in our discussion with scientists is how hard it is to get academic credit for building software, but there are some hopeful signs. As Caro...
October 22, 2012

## Excel Isn’t Intrinsically Evil

Excel and other spreadsheets aren't intrinsically evil, but like any power tool, they can easily take off fingers when used carelessly. From Neil Saunders' b...
October 22, 2012

## Why Teaching People to Program Is Hard

Update: it's clear from comments that I explained myself poorly in this post. We don't ever teach by starting with a big example like the one below—w...
October 21, 2012

October 20, 2012

## I Screwed Up (or, Why Automation Isn’t Always a Good Thing)

A couple of months ago, a group of astronomers asked us to run a workshop at Caltech in conjunction with their annual get-together: they'd cover travel costs...
October 17, 2012

## Offline Rendering of WordPress Blog Posts?

I’d like to take a few tens of thousand WordPress blog posts and turn each into a standalone HTML page. I have the text that WordPress stores in its database...
October 16, 2012

## Rebuilding Redux

The time has come to replace our creaking combination of web tools with something that will let us do more for more people while spending less time switching...
October 12, 2012

## Two Views

How I think of myself when I'm giving a talk:
October 10, 2012

## Dark Matter, Public Health, and Scientific Computing

This is the text of a talk given at the 8th IEEE International Conference on eScience, October 10, 2012. The slides are also available. Back in March, Scott ...
October 10, 2012

## Convergent Evolution

Earlier this week, a Google search turned up a Software Carpentry workshop at the ICHEC in Dublin—which was surprising, because we didn't know they wer...
October 05, 2012

## USV’s "Research" on Online Education: Well, That’s Depressing

Union Square Ventures (a venture capital outfit) posted their "research" into online education yesterday (blog post , links page). I put quotes around the wo...
October 04, 2012

## Wanted: An Entry-Level Provenance Library

One of the reason we keep teaching Subversion is that it allows us to show students a simple but useful trick. If you add the following to a text file: \$Revi...
October 04, 2012

## Best Practices for Scientific Computing

The following pre-print is now available on arXiv: Best Practices for Scientific Computing D.A. Aruliaha, C. Titus Brownb, Neil P. Chue Hongc, Matt Davisd...
October 03, 2012

## UCOSP

This term, 58 students from 16 universities are working on 8 projects as part of UCOSP. I'm really pleased this has continued to thrive, and impressed once a...
October 01, 2012

## What Would You Like in an Instructor’s Guide?

One of our goals for the next three months is to create an instructor's guide for Software Carpentry to help people teach this material more effectively: som...
October 01, 2012

## The Real Hard Work

I spent a couple of thought-provoking hours at Codecademy's office in New York on Thursday, during which my host said, "It's so different from Silicon Valley...
September 30, 2012

## Oslo and Columbia

Here's some feedback from participants in our Oslo workshop: Good Discovered a dishwasher Test-driven development Lots of anecdotes Power plugs and coffe...
September 30, 2012

## Computational Thinking and Ice Floating in Bathtubs

I've been thinking about what "computational thinking" actually means ever since a workshop at Microsoft in 2007, where I found that everyone's definition se...
September 26, 2012

Over on the Architecture of Open Source Applications blog, we've posted a plea to GitHub to let people build Facebook-style plugin applications. Please give...
September 23, 2012

## Why This Stuff Is Hard To Teach

If we get funding to continue our work (we hope to find out in a month), one of the first things we want to do is put together an introduction to web program...
September 20, 2012

As a long-delayed follow-up to a conversation with Travis Oliphant: based on our experience, researchers who are computational novices want more than numeric...
September 18, 2012

## Does Your Software Look Like This?

I have a Mac. It has a power adapter:
September 16, 2012

## Systematic Curriculum Design

Executive summary: we'd appreciate your help organizing and motivating our material better. One of the good things about traveling is that it gives me time t...
September 16, 2012

## Patterns Wanted

At some point or other, most programmers have encountered the idea of design patterns in software, and many (including myself) have been zealous about them, ...
September 12, 2012

## A Few Books I’ve Enjoyed Recently

The first of Philip Reeve’s prequels to the “Hungry Cities” books for young adults is Fever Crumb; the same would also enjoy Ian McDonald’s Planesrunner. The...
September 09, 2012

## How Quickly Do Workshops Fill Up?

I had to compile some data on signups anyway, so here's a graph showing cumulative registration per workshop over time (counting from the day registration op...
September 06, 2012

## Not Really Disjoint

The twinned discussions in bioinformatics about openness and software quality are heating up. A recent salvo on Gas Stations Without Pumps is titled "Account...
September 04, 2012

## Free As In Pretty Much Whatever You Want

A couple of different people have asked us recently whether they can use our materials in their courses. The answer is an emphatic "yes": all of our slides, ...
September 04, 2012

## Final Results of Demographic Survey

192 people have now responded to the demographic survey we reported two weeks ago. Results are shown below; I'll hold off posting breakdown by discipline unt...
September 04, 2012

## Lifted by the Audience

I spent Thursday and Friday recording most of the material we've been using in workshops for the past six months [1]. One thing that kept bugging me was how ...
September 02, 2012

## Shaping the Next Generation (or, the exam defines the course defines the discipline)

As we reported a few days ago, one of our contributors, Greg Wilson, gave a keynote at the MSR Vision 2020 workshop in Kingston on August 20. In that, he exp...
September 01, 2012

We are very sad to report that John Hunter, the principal author of the widely-used Python plotting package Matplotlib, is losing his battle with cancer. If ...
August 29, 2012

## Linking Forward From a Bibliography?

This web site's bibliography lists 116 papers related in some way to the practice of scientific computing. I'd like to know: what related papers I've missed...
August 29, 2012

We issued the first learning badges for Software Carpentry a couple of weeks ago, and in doing so, uncovered a significant flaw in the design of existing bad...
August 29, 2012

## An Interview with Titus Brown

The folks at Simply Statistics interviewed Prof. Titus Brown earlier this month; there's lots of good stuff in the post for people interested in doing comput...
August 27, 2012

## PyCon 2013 Talks I Would Like To See

I don’t know if I’ll make it to PyCon 2013 or not (lots of other traveling for Software Carpentry == too much time away from family already), but here are so...
August 24, 2012

## Ten Questions for Researchers

I gave the opening talk at MSR Vision 2020 in Kingston on Monday (slides), and in the wake of that, an experienced developers at Mozilla sent me a list of te...
August 22, 2012

## An Updated List of Upcoming Workshops

Here's an update to our upcoming workshop list: Venue Start Date Instructor(s) DAFX Conference (York, UK) 2012-09-13 Greg Wilson University of Oslo ...
August 21, 2012

## Two Solitudes (talk)

The slides from my keynote today at MSR Vision 2020 are now available on Slideshare. Long story short, I proposed that the only way to improve communication ...
August 21, 2012

August 20, 2012

## Who Are You?

We asked participants in this year's workshops to tell us a bit about themselves. So far, 121 have done so, and their responses are summarized below. Age ...
August 17, 2012

## Slide-Drive is Live

I had the privilege this summer of working with Jeremy Banks, a Google Summer of Code student whose project, Slide-Drive, explored what a web-native presenta...
August 16, 2012

## Alpha Test of Driver’s License Exam

As we announced back in June, we're working with the Software Sustainability Institute to create a "driver's license" exam for the DiRAC supercomputing facil...
August 16, 2012

## Is This Really Necessary?

I was very excited by today's announcement that the Khan Academy is going to start offering programming courses—until I read the whole post. I'm not a ...
August 15, 2012

## Cover Stories

I told someone earlier today that I don’t miss academia, but I do miss teaching. Upon reflection, though, that’s not quite true. The ache I feel when I think...
August 14, 2012

## Interview about Software Carpentry (and Education)

Chris Gammell and Jeff Shelton interviewed me a couple of weeks ago for their Engineering Commons podcast series. The interview turned out to mostly be about...
August 14, 2012

## Applying Pedagogical Principles in This Course

I've talked a bit about instructional design and educational principles in this blog in the past; here's a concrete example of how we try to apply those idea...
August 14, 2012

## A Question and Answer Matrix for Software Carpentry

Following up on yesterday's post about applying educational principles to this course, here's a not-yet-completed Q&A matrix for this course. The section...
August 14, 2012

## We’re Going to Be Busy

We're going to be busy—and these are just the ones we have confirmed. Sep 13-14, 2012: DAFX Conference (York, UK) Sep 17-18, 2012: University of O...
August 01, 2012

## Record and Playback

The biggest bottleneck Software Carpentry faces right now is a shortage of experienced instructors. To help fix that, we are going to record a complete prese...
July 30, 2012

## Software Carpentry Needs You!

Software Carpentry needs you! If you found our workshops, tutorials, or online material useful, there are many ways you could help us grow: Send us a testimo...
July 28, 2012

## IPython Notebook + Towtruck + Etherpad + Slide Drive = Win

Executive summary: the tool I want for teaching programming doesn't yet exist, but could be built by combining the IPython Notebook, Towtruck, Etherpad, and ...
July 22, 2012

## How Robust Is Your Programming Language?

One of the biggest problems in teaching novices how to program is that most programming systems are not robust. A car can go quite a long distance on a sligh...
July 21, 2012

## Eyes, Brains, and Fingers

Here’s an experiment you can do at home: for just one day, keep track of how many email messages, blog posts, tweets, and Yammer [1] updates reach your eyeba...
July 18, 2012

## A Story for Kids About Email

Years and years ago, I wrote a story for kids about how email gets delivered. It’s a bit dated—it talks about modems, and the graphics are GIFs—but I hope it...
July 18, 2012

## Wrapping Up in Halifax

Things went pretty well here in Halifax—thanks to the local helpers, and to Justin Ely from STScI for coming up to teach. Next stop, Scarborough! Go...
July 17, 2012

## Wrapping Up in Boston

We just wrapped up a two-day workshop in Boston with learners from several universities. It seems to have gone pretty well; we look forward to coming back so...
July 10, 2012

## Independent Assessment of the Past Six Months

As many of you know, Dr. Jorge Aranda has been doing an independent assessment of Software Carpentry's effectiveness over the past six months. His brief was ...
July 05, 2012

1997
June 29, 2012

## Where We Are (June 2012 edition)

Last week, a double dozen friends and colleagues gathered physically and virtually to review what we've done and where we should go next. I'll postpone discu...
June 27, 2012

## Fortran Format Statements and Regular Expressions

One of our learners has a large number of Fortran format statements embedded in a program he's inherited, and would like to come up with equivalent regular e...
June 27, 2012

Software Carpentry and the Software Sustainability Institute are working together to develop a "driver's licence" for researchers who wish to use the DiRAC i...
June 27, 2012

## Two Posts on Scientific Workflows

Carly Strasser recently posted two articles on informal and formal scientific workflows, both of which are likely to be interesting to readers of this blog.
June 26, 2012

## Pessimism and Doom

According to recent research, an absence of optimism plays a large role in keeping people trapped in poverty: This hopelessness manifests itself in many ways...
June 26, 2012

## Handling Variant Configuration Files

One of our learners came to us with a problem last week. The program she uses depends on some complex configuration files, which she'd like to store in versi...
June 26, 2012

## If You Want to Teach, Isn’t It Only Fair to Learn a Few Things First?

Carla, a high school student, is doing a class project comparing climate change in the Northern and Southern hemispheres. She wants to see whether the gap be...
June 25, 2012

## A Busy Week (And Schwag!)

We have a busy week coming up: Monday: Start of a two-day workshop at Johns Hopkins University Online tutorial for participants in the London workshop ...
June 18, 2012

## Combining Functional and Imperative Programming for Multicore Software: An Empirical Study Evaluating Scala and Java

Victor Pankratius, Felix Schmidt, and Gilda Garretón: "Combining Functional and Imperative Programming for Multicore Software: An Empirical Study Eval...
June 18, 2012

## This Week’s Tutorials

We ran five and a half online tutorials this week: one each for the workshop participants from UCL, Newcastle, UBC, and Edmonton, one for students combined f...
June 15, 2012

## Pretty Well Sums It Up

Speaking at a conference in the UK today, Andrew Eland (of Google) said: Think of the things scientists won't build because they're not exposed to computing ...
June 15, 2012

## Tiny Transactions on Computer Science

TinyToCS seeks papers describing significant research contributions to the field of computer science. Submissions can be up to 140 characters in length, with...
June 15, 2012

## The Past Is Here Too

Earlier today, a friend of mine used his iPhone to shell into a remote machine, edit a file with Vi, and commit it to version control:
June 14, 2012

## All Entries for the Executable Paper Grand Challenge

I don't know how I missed this, but at last year's International Conference on Computational Science, two dozen different groups presented papers in response...
June 14, 2012

## "My daughter cannot speak without this app."

Maya is a little girl who faces some big challenges:
June 12, 2012

## Who Else Do You Know?

I’m trying to compile a list of grassroots “learn to program” organizations that are explicitly trying to broaden participation in computing beyond the curre...
June 12, 2012

## PPIG 2012 Workshop

PPIG Workshop 2012, Newcastle upon Tyne, UK 5th-th-7th September.
June 11, 2012

## Where the Time Goes

Here’s a typical day: Time Activity 0:15 Clear overnight mail/blogs/Twitter 0:15 Organize Software Carpentry tutorials Set up mailing lists for Edm...
June 10, 2012

## First Workshop on Maintainable Software Practices in e-Science

First Workshop on Maintainable Software Practices in e-Science 9 October 2012 Co-located with 8th IEEE International Conference on eScience, Chicago This wo...
June 10, 2012

## We Get Mail

Hi Greg and Adina! Two days ago I filled out the Software Carpentry survey which asked me, among other things, how much time I had saved using my new Softwar...
June 08, 2012

## But the Greatest of These Is…

In her EAGE keynote earlier today, Victoria Stodden talked about the central role of geophysics in the reproducible research movement. After discussing the p...
June 08, 2012

## Responsibility, Timidity, and the Bird’s Eye View

From George Orwell’s diary, June 6, 1942: I saw that I was up against the official mind, which sees everything as a problem in administration and does not gr...
June 07, 2012

## Ten Simple Rules

The "Ten Simple Rules" series being run in PLoS Computational Biology has a lot of useful gems. Written by editor-in-chief Philip Bourne and others, the enti...
June 07, 2012

## What Skills Are Required to Implement Open Access?

Late last night, local time, the Access2Research petition at whitehouse.gov got 25,000 signatures, which means that the White House is committed to respondin...
June 04, 2012

## Software Carpentry: The E-Book Version?

If I could send email two years into the past, I'd tell myself to spend a lot less time making videos for Software Carpentry, and a lot more time exploring i...
June 04, 2012

## How to Run a Bootcamp

With so many people setting up and running Software Carpentry workshops, I thought it was time to put together a more complete how-to. If I've forgotten anyt...
May 29, 2012

## What to Read If You’re Teaching Software Carpentry

One of our goals—in fact, our biggest goal—is to grow the pool of people who can teach Software Carpentry workshops, so that we can reach more re...
May 27, 2012

## Everything You Need to Know About Standardized Testing

If poor inner-city children consistently outscored children from wealthy suburban homes on standardized tests, is anyone naive enough to believe that we...
May 24, 2012

## No CT Without PL

In a blog post earlier today, Mark Guzdial argues that computational thinking requires learning with a programming language. Unlike many such claims and coun...
May 24, 2012

## Feedback from the University of British Columbia

Aaaand that's a wrap in Vancouver, ladies and gentlemen: our workshop at the University of British Columbia seems to have gone well: Good Bad clarity ...
May 24, 2012

## Responsible Conduct

Titus Brown, Ethan White, and I have been talking about what Responsible Conduct of Research (RCR) standards would look like in computational science. Titus ...
May 23, 2012

## Alone and Misunderstood

Jeffrey Mirel and Simona Goldin's recent article in The Atlantic titled "Alone in the Classroom" initially struck a chord with me, particularly when they sai...
May 23, 2012

May 22, 2012

## Citing Versions

We got mail yesterday from a workshop participant saying, "My question is how does one show in a research paper that the underlying data and the software is ...
May 22, 2012

## What’s Wrong With All This?

Titus Brown doesn't like this web site. He's OK with the content (I think), but he finds it awkward to use, and while I don't feel as strongly as he does, I ...
May 20, 2012

## Space at Upcoming Events

Here's how registration is going for upcoming events: University of British Columbia May 22-23 39/40 Johns Hopkins University June 18-19 7/20 Paris Ju...
May 19, 2012

## The Most Important Scientific Result Published in the Last Year

J.M. Wicherts, M. Bakker, and D. Molenaar: "Willingness to Share Research Data Is Related to the Strength of the Evidence and the Quality of Reporting of Sta...
May 18, 2012

## Feedback from Alberta

Our two-day workshop at the University of Alberta wound up a couple of hours ago. We had quite a few no-shows this time (which was annoying, given how many ...
May 18, 2012

## Willingness to Share Research Data Is Related to the Strength of the Evidence and the Quality of Reporting of Statistical Results

J.M. Wicherts, M. Bakker, and D. Molenaar: "Willingness to Share Research Data Is Related to the Strength of the Evidence and the Quality of Reporting of Sta...
May 18, 2012

## Do Faster Releases Improve Software Quality?

Foutse Khomh, Tejinder Dhaliwal, Ying Zou, and Bram Adams: Do Faster Releases Improve Software Quality? An Empirical Case Study of Mozilla Firefox. MSR 2012 ...
May 17, 2012

## Fooling the Internet

A recent article in The Atlantic titled, "How the Professor Who Fooled Wikipedia Got Caught By Reddit" describes how GMU's Prof. T. Mills Kelly has had stude...
May 15, 2012

## Why We Built It

If you want to know why we created The Architecture of Open Source Applications (now in two volumes), you need look no further than the descriptions of other...
May 14, 2012

## Feedback from Michigan State

Our workshop at Michigan State University this week was three days long instead of two, and included two topics (Git and the IPython notebook) that we haven'...
May 12, 2012

## Teach Teachers What They Use, Teach Kids Where They Are

Gary Stager isn't the first person to point out that we've been dumbing down computing education for the last 30 years—that we've gone from teaching ki...
May 11, 2012

## Run My Code

RunMyCode is a web site and service intended to support reproducible research (initially in computational economics). Authors create companion web sites for ...
May 11, 2012

## Fish and Bugs

The May/June 2012 issue of Washington Monthly has an article by Alison Fairbrother titled "A Fish Story". Near the top, it says, "In 2009, a routine methodol...
May 10, 2012

May 09, 2012

## Architecture of Open Source Applications: Volume 2

We are very pleased to announce that The Architecture of Open Source Applications: Volume 2 is now available from Lulu. A PDF version will go on sale in the...
May 08, 2012

## The Architecture of Open Source Applications: Volume 2

We are very pleased to announce that The Architecture of Open Source Applications: Volume 2 is now available from Lulu. A PDF version will go on sale in the...
May 08, 2012

## Cohesive and Isolated Development with Branches

Earl T. Barr, Christian Bird, Peter C. Rigby, Abram Hindle, Daniel M. German, and Premkumar Devanbu: Cohesive and Isolated Development with Branches. FASE 20...
May 06, 2012

## A Review of ‘Code Simplicity’

Max Kanat-Alexander: Code Simplicity: The Science of Software Development (Kindle edition). O'Reilly, 2012, B007NZU848. The goal of this ambitious new book f...
May 03, 2012

## Stop Me If You’ve Heard This One

I used to tell this joke: An engineer says, "Theory approximates reality." A mathematician says, "Reality approximates theory." A sociologist says, "Would yo...
April 28, 2012

## Slide Drive

I’m pleased to announce that Jeremy Banks has been accepted by Google Summer of Code 2012 to work on Slide Drive, a web-native presentation tool. You can fol...
April 25, 2012

## Behind the Scenes (or, the Ethics of Cultivating Discontent)

A lot goes on behind the scenes here at software-carpentry.org: The site itself is WordPress with a partly-customized theme. We use the blog for topics like...
April 18, 2012

## In Search of Prior Arguments

A faculty member whose research involves building some fairly complex scientific software would like to make all his work open source. He is repeatedly havin...
April 17, 2012

## Halfway Home

We're half-way through our current round of work, so it's time to start thinking about what we've accomplished, what we've learned, and what we'd like to do ...
April 17, 2012

## GitHub for Education

In my experience, most teachers don't develop courses from scratch. Instead, they take whatever material is at hand, modify it to meet their needs, and then&...
April 17, 2012

## Utah State University Wrap-Up

Our bootcamp at Utah State University finished earlier today—many thanks once again to Ethan White and his friends for hosting us. Here's what the stu...
April 16, 2012

## We’re Neutral (but Not Really)

From Wikipedia: Open science is the umbrella term of the movement to make scientific research, data and dissemination accessible to all levels of an inquirin...
April 14, 2012

## Lives Lived

My sister-in-law, Sarah Harrison, wrote a “Lives Lived” about my sister Sylvia which appeared in today’s Globe and Mail. I wish Sylv was here to read it…
April 11, 2012

## Straw Man for Web Programming

Last week, I asked what we should teach researchers about the web. I think that I have an answer, and that the easiest way to describe it is by describing wh...
April 10, 2012

## …Which Is Wrong

For every complex problem, there is a solution that is simple, neat, and wrong. — H.L. Mencken Over at The Atlantic, Philip Howard is trying to convin...
April 09, 2012

## A Future Student

I don't know what we'll be teaching in 20 years, but I hope Tristan Davis will be there to learn.
April 09, 2012

## Greener Grass

I've been reading Beneath Ceaseless Skies, an online SF&fantasy magazine, for about a year now. Most of the stories are pretty good, but there's a samene...
April 06, 2012

## Titus Brown Finds a Theme

Titus Brown just posted "Big Data Biology — why efficiency matters", in which he explains the academic, practical, and algorithmic reasons why efficien...
April 06, 2012

## On Crossing Australia (or, Further Thoughts on What to Teach Researchers about the Web)

A while back, I blogged about Bret Victor's "Inventing on Principle" talk at CUSEC'12, which is an inspiring vision of what programming could be. Ned Gulley'...
April 06, 2012

## Seventy Years After

On April 1, 1942, George Orwell wrote: Connolly wanted yesterday to quote a passage from Homage to Catalonia in his broadcast. I opened the book and came on ...
April 03, 2012

## Maybe That’s Why

I have a lot of respect for Heather Payne (founder of Ladies Learning Code): she’s working hard to get women into technology, and has been more creative abou...
April 03, 2012

## Congratulations to Max and Marcus

Marcus Lau and Maxwell Elendt, two high school students whose science project I was mentoring, picked up a silver medal at the Toronto Science Fair on the we...
April 03, 2012

## A Four-Day Curriculum

In response to my weekend post about what we teach in two days, Steve Haddock sent me this link to a four-day course based on the excellent book Practical Co...
April 03, 2012

## What to Teach Researchers About the Web

One reason I'm reflecting on what I've learned in the last two years is a question that is back on the top of my work pile: what should we teach researchers ...
April 01, 2012

## Sending Email Back in Time

We're about to release the second volume of The Architecture of Open Source Applications, which has indirectly prompted a bit of soul-searching on my part. W...
April 01, 2012

## Wrapping Up in Oakland

We've wrapped up the workshop in Oakland for folks from NERSC, Berkeley, and Stanford. More later (when I'm home and have slept), but here's the students' fe...
March 30, 2012

## What We Teach in Two Days

This week's workshops at MBARI and NERSC both had more lecturing and less hands-on practical work than either I or the students would have liked, but when we...
March 30, 2012

## Maintaining Momentum

For a variety of reasons (which is my way of saying "I don't know why" :-), Software Carpentry has proven really popular in the UK. We have close to 200 peop...
March 30, 2012

## Wrapping Up MBARI Workshop

Steve "Jellyfish" Haddock and Greg Wilson taught a two-day workshop at MBARI this week. It seemed to go well: feedback is below. Good Bad used specifi...
March 28, 2012

## Object-Oriented Programming in Fortran 2003

Damian Rouson is teaching a class in Berkeley March 26-28, 2012, and again April 10-12, on object-oriented programming in Fortran 2003. The March class is fu...
March 23, 2012

## Two Questions After the Audrey Test

Once upon a time, about a quarter of a century ago, I went into a prof's office in Edinburgh and told him that neural networks were the future, because, look...
March 22, 2012

## Informed Choice and the Audrey Test

As I wrote a few days ago, I asked Audrey Watters to put together a "Joel test" to assess how much someone technical knew about education. She has now posted...
March 18, 2012

## The Dark Matter of Computational Science

Scott Hanselman's recent post "Dark Matter Developers" got me thinking once again about what Software Carpentry is about. He says: [We] hypothesize that ther...
March 18, 2012

## Wrapping Up the STScI Course

The online portion of our work with learners at the Space Telescope Science Institute wound up today. 6 of the 14 people who took part in the on-site worksho...
March 16, 2012

## Thank You, Enthought

We are pleased to announce that Enthought has generously given us a grant to support some of the travel costs associated with our bootcamps. Along with hosti...
March 16, 2012

## What I Learned From My P2PU Course

The final meeting of my P2PU course on teaching free-range learners how to program took place this morning. I enjoyed chatting with the people who showed up,...
March 16, 2012

## The Audrey Test

Audrey Watters' writings are a must-read for anyone interested in education and technology. As she's commented many times, many of the techies who want to re...
March 15, 2012

## First Homework for Indiana Students (and a few from Ontario)

We ran our first online tutorial yesterday for students from our recent bootcamp in Indiana (plus a few from Toronto). Despite some technical difficulties wi...
March 15, 2012

## Where Next for the Next-Gen Course (and Software Carpentry)?

Titus Brown's next-generation sequencing course has been a great success: so great, in fact, that he's overwhelmed with applications for this year's run. Tha...
March 14, 2012

## How We’re Doing

The first online session for our Indiana University students will run tomorrow afternoon (assuming we can get web conferencing to work—why is this stil...
March 14, 2012

Titus Brown recently blogged a question about how to organize the files used in a computational science pipeline: by project, by paper, separately, or someth...
March 14, 2012

## An Observation

Someone asked me earlier today if it would be worth Mozilla’s while going to SIGCSE (the big annual computer science education conference in the US). I said,...
March 10, 2012

## What’s the Model, Kenneth?

Over on rwxweb [1], Michelle Levesque has posted and dissected a diagram showing how various webbish skills depend on one another. It's an invaluable design ...
March 09, 2012

## Our Indiana U Workshop Went Well

Our two-day bootcamp at Indiana U. on March 7 and 8 went well—while less than half of the people who registered actually showed up (more on that in a m...
March 09, 2012

## I Resemble That Remark

Titus Brown's recent post "Top 12 Reasons You Know You are a Big Data Biologist" may resonate with some readers of this blog. I particularly like the idea (i...
March 07, 2012

## Programs as Experimental Apparatus

Suppose you have two photographs of a patch of the night sky: and you want to know how different they are. The simplest way would be to see if any of the pi...
March 05, 2012

## Help Us Write Assessment Questions

We have been asking people the questions below before the start of a bootcamp in order to get a handle on how much they already know. As part of evaluating t...
March 05, 2012

## Happy People

Our workshop at the International Center for Theoretical Physics in Trieste has ended, and judging from the participants' smiles, it went well: Thanks once ...
March 05, 2012

## Performance Curves, Curriculum Design, and Trust

Suppose you have a processing pipeline with three stages. Each stage takes one second to run; what's its overall performance? As Roger Hockney pointed out i...
March 04, 2012

## A Week of Retroactive Accountability

I don't like tidying up the house when my wife and daughter are away. I don't mind cleaning, especially the kitchen and bathroom, but picking up toys and she...
March 03, 2012

The Internet has given everyone [1] who wants to say something a way to say it. It, and digital media more generally, have also revolutionized music, and now...
March 01, 2012

## ULP (or, This is tricky and perhaps profound)

Bruce Dawson's "Comparing Floating Point Numbers (2012 edition)" is, as he says of its subject, tricky, and perhaps profound—worthwhile reading for any...
March 01, 2012

## Toronto Bootcamp February 2012: How We Did

Last week's bootcamp at the University of Toronto was not the most successful one we've ever done: quite a few registrants didn't show up, and based on feedb...
March 01, 2012

## Inscight from Trieste

In the latest Inscight podcast, the inimitable Katy Huff talks to several of the participants in the bootcamp she and Tommy Guy are leading at the Internatio...
March 01, 2012

## Why "Do Not Track" Matters

Step 1: install the Collusion plugin for Firefox.
February 29, 2012

## Inbound and Outbound for a Day

My contribution to the #OpenInbox meme summarizing one day’s worth of email—in my case, February 28, 2012. There were 103 inbound (⇒), and 80 outbound (⇐). ...
February 29, 2012

The PLoS Computational Biology article "Ten Simple Rules for Getting Help from Online Scientific Communities" has a lot of good advice. Mark Guzdial's talk ...
February 29, 2012

## Reproducibility Redux

A recent editorial in Nature, and a longer article by Darrell Ince, Les Hatton, and John Graham-Cumming titled "The case for open computer programs", are jus...
February 28, 2012

## Frustration (continued)

It's been a frustrating couple of days. To recap, I want to convert our material from PowerPoint to HTML5 to make it easier for people to fork and merge, to ...
February 27, 2012

We have finalized our first set of Software Carpentry badges—with luck, we'll list the first set of recipients later this week. for people who comp...
February 27, 2012

## Fourth (or Sixth) Online Tutorial

For the past four weeks, I've been meeting online with learners from the Space Telescope Science Institute to work through some Python topics and exercises. ...
February 24, 2012

## Converting PowerPoint to SVG: Help Needed

Software Carpentry has 110 PowerPoint files, each containing between 20 and 120 slides—call it 5000 slides in total. I’d like to convert them to HTML5 for us...
February 22, 2012

## What Deep Thoughts Look Like

Before writing yesterday's post about assessment, I should have explained what I mean by"fundamental concepts". I'll start with Lewis Epstein's wonderful bo...
February 22, 2012

## Watch Me: Trial Run

A dozen people have come forward since I asked last week for volunteers to make short screencasts showing how they program. I just sent them a sample problem...
February 22, 2012

## Granules of Research

Cameron Neylon recently posted an article titled "Github for science? Shouldn't we perhaps build TCP/IP first?" His argument is that the web's a good way to ...
February 22, 2012

## Why Not* Use Python

When we started Software Carpentry back in the late 1990s, we used Perl as a teaching language instead of Python. At the time, it was a no-brainer: Perl had...
February 21, 2012

One of our key deliverables for the Sloan Foundation-funded work is a badging program built on top of Mozilla's Open Badges Initiative. Riffing on our new lo...
February 21, 2012

## Assessment Redux

The single biggest challenge Software Carpentry faces right now is how to tell what impact it's having. This is only partly to satisfy funders—as I sai...
February 21, 2012

## A Flash (well, MP4) from the Past

In July 2009, we held a one-day symposium on open science at the University of Toronto. I recently uploaded video from those talks to YouTube; the audio is a...
February 19, 2012

## Watch Me: Help Wanted

[reposted from the Software Carpentry blog]
February 16, 2012

## How They See Us, Part N

This week's Ed-Tech Podcast from Steve Hargadon and Audrey Watters discusses Software Carpentry a bit around the 23:00 mark [1]. In answer to Hargadon's poin...
February 16, 2012

## Teachers Matter - Do Programmers?

Raj Chetty and John Friedman (Harvard), and Jonah Rockoff (Columbia) recently published a study showing how much long-term impact teachers have on students. ...
February 16, 2012

## I Have Seen the Future…

…and its name is Bret Victor. (Jump ahead to 7:00 and watch for a couple of minutes if you need to be persuaded…)
February 15, 2012

## Slide Drive

I just posted a note on the Software Carpentry site about Slide Drive, a new HTML5+audio slideshow tool from David Seifreid. Please check it out and let us k...
February 15, 2012

## Watch Me: Volunteers Wanted

Back in 2007, Jon Udell observed that screencasts facilitate accidental knowledge transfer in a way that more traditional media don't. As I said yesterday, w...
February 15, 2012

## And Speaking of New…

...check out Bret Victor's talk at CUSEC 2012—jump in around the 7:00 mark and watch for a couple of minutes. You'll want to go back and watch the whol...
February 15, 2012

## Stack Underflow?

Circling back to an earlier post, one of the challenges free-range learners face is where to get help after their workshop or short course is over. Google is...
February 14, 2012

## New Kinds of Content

Mark Guzdial, whose blog on CS education is always interesting, recently posted about using worksheets to help people learn to write programs. As he says, re...
February 14, 2012

## How Many Legs Does Science Have?

Back in 2010, Moshe Vardi wrote an opinion piece titled "Science Has Only Two Legs", in which he argued that computational science is just another form of ex...
February 13, 2012

## Formatting Revisited

David Seifreid has been working for the past week to combine deck.js, a Javascript-plus-CSS slideshow package, with the AudioJS audio player, so that we can ...
February 13, 2012

## He Would Have Appreciated the Irony

February 13, 2012

## Pre-Workshop Questionnaire

I've been asking people to fill in the short questionnaire below before our workshops in order to give us a better idea of what they want and what they alrea...
February 12, 2012

## Audrey Watters on Software Carpentry

Audrey Watters is a prolific, insightful writer on all things related to technology and education. I recently asked her to take a look at this course, and te...
February 10, 2012

## Comparing Software Carpentry to CS Principles

A lot of new educational initiatives in computing have sprung up in the past couple of years, ranging from Mozilla's Hackasaurus to the UK rethinking its gra...
February 09, 2012

## Why We Don’t Teach Parallel Computing in Software Carpentry

Konrad Hinsen recently wrote a blog post that explains why teaching parallel computing with Python is hard. To make a long story short, Python's multiprocess...
February 07, 2012

## We’re Going to Be Busy

Here are the bootcamps we have lined up for the next few months: International Center for Theoretical Physics, Trieste, February 18 — March 2 Universi...
February 03, 2012

## First Online Tutorial

Our first online tutorial with the folks at the Space Telescope Science Institute via Skype, and I think it worked well. Our setup was: The students got tog...
February 03, 2012

## Software Carpentry in Ninety-Five Seconds

I posted a ninety-five second explanation of Software Carpentry on YouTube today. Feedback would be very welcome.
February 03, 2012

## Where To Host Q+A and Discussion?

People have questions and want answers, or ideas and complaints they want to share. Right now, the only ways for them to do this on our site are: Mail us. A...
February 02, 2012

## Bullshit, Appropriation, and Technology in Education

A few weeks ago, a former student who’s now a friend asked me to teach him how to bullshit. At first I couldn’t decide whether I was flattered or offended, b...
February 02, 2012

## On Algorithmic Thinking

“You keep using that word. I do not think it means what you think it means.” – Inigo Montoya
February 01, 2012

## Old Soup in New Bowls

In a recent podcast, the always-interesting Audrey Watters talks about the tension between innovators who want to use technology to disrupt existing models o...
February 01, 2012

## Re-doing the Three-Minute Pitch

It's time to revise Software Carpentry's three-minute pitch. Here's what I think I need to say; as always, comments would be welcome. Opening slide: large lo...
February 01, 2012

## Reorganizing This Web Site

It's time to reorganize this web site. Here's my plan; comments would be welcome. In particular, WordPress might not be the right tool to use going forward, ...
January 31, 2012

## I Hope Someone Has Already Built This

Over the next few months, I want to experiment with at least four new learning formats for Software Carpentry. The baseline is what we have now: each topic i...
January 31, 2012

January 29, 2012

## A Browser-Based Programming Tool That’s Better Than Many Desktop Tools

I don’t know who Philip Guo is, but I think he’s amazing—at least, the software he creates is. Like several other tools, his Online Python Tutor lets you wri...
January 29, 2012

## Terminology

Before going further with the redesign of the Software Carpentry curriculum, I need to define a few terms and their relationships. These definitions refer to...
January 29, 2012

## Learners and Their Needs

I originally wrote these descriptions as part of a post on formats for learning material. I'm finding them useful in other contexts as well, so I'm re-postin...
January 29, 2012

## Work As Though You Lived in the Early Days of a Better Nation

Cam Macdonell teaches computer science at Grant MacEwan University in Edmonton. Last September, he had to deliver a software engineering class for the first ...
January 27, 2012

## Well, That Was Weird

It’s amazing what you can learn when you don’t have cable TV: peaceful.com says "coming soon". joyful.com is a one-man software shop. At least he's Irish....
January 26, 2012

## Thinking Through a 21st Century Replacement for PowerPoint

Over on the Software Carpentry site, I’ve posted another set of musings on what a 21st Century learning content creation tool (i.e., a PowerPoint killer) wou...
January 26, 2012

## Never Mind the Content, What About the Format?

I'm still gnawing on the problem of how to construct content for 21st Century learning—or, more prosaically, what I should use to build the next versio...
January 26, 2012

## The Big Picture

I'm trying to be systematic about re-designing the core curriculum of Software Carpentry. So far, I've identified 11 common questions: Q01: How can I writ...
January 25, 2012

## 21st Century Textbooks

Apple’s announcement, blah blah blah—I think Audrey Watters’ “Apple and the Digital Textbook Counter-revolution” sums it up best. So what should a “textbook”...
January 24, 2012

## Test-Driven Public Speaking

Once again, Cameron Neylon explains things much better than I ever could: "The impact factor of a journal is a better predictor of the chances of a paper bei...
January 24, 2012

## Take Out Agile, and Add…What?

Based on the feedback we've received so far (both as comments and by email), it looks like we should take development methodologies (i.e., agile development)...
January 24, 2012

One of the things we need to do in the next six months along with running workshops and updating our online content is to create some sort of badging to reco...
January 24, 2012

## A Better Solution to the Final Problem

I enjoyed the first three episodes of BBC's Sherlock. I was disappointed by how episode 4 (the first of the newest trilogy) resolved episode 3's hangover, bu...
January 23, 2012

## Welcome to Gravenhurst

OK, so on the one hand we have online education growing by leaps and zounds, until anyone who really wants to do a quality university degree can do so from t...
January 23, 2012

## Revising the Curriculum

I've been thinking some more about what the foundation and core of Software Carpentry actually are (and not just because Jon Pipitone keeps pestering me to d...
January 23, 2012

## We Have Nothing To Give Them

I have sometimes dreamt that when the Day of Judgment dawns and great conquerors and lawyers and statesmen come to receive their rewards&mdas...
January 21, 2012

## The First Bootcamp of 2012

We just wrapped up the first bootcamp of 2012 at the Space Telescope Science Institute. 14 scientists with a wide variety of computational backgrounds spent ...
January 20, 2012

## By Any Means Necessary

I was passionate about politics when I was in my twenties, mostly because I was desperate for something to be passionate about. (I had friends who felt as st...
January 20, 2012

## Our First Challenges

The P2PU course I’m leading on teaching programming to free-range learners [1] officially kicked off this week. The first two challenges are up. First, comp...
January 17, 2012

## A Survey of the Practice of Computational Science

A survey of the practice of computational science. In International Conference for High Performance Computing, Networking, Storage and Analysis, pages 19:1&n...
January 17, 2012

## Why Is This Hard?

I've been teaching scientists to program since 1998 (or 1986, if you want to start with my first lunch-and-learn for grad students in physics at the Universi...
January 15, 2012

## So, Greg, What Are You Up To These Days?

I’m glad you asked: Today was my last day at Side Effects; thanks to a grant from the Sloan Foundation, I start work on Software Carpentry again on Monday....
January 14, 2012

## Ode to Joy on a Punching Bag

The Internet of Things is already here: it’s just strangely distributed. (I’d probably exercise more if I had one of these, and yeah, a gym full of them wou...
January 12, 2012

## Sloan Foundation Grant for Software Carpentry

I’m very pleased to announce that the Sloan Foundation has generously agreed to fund six months of work by Software Carpentry and the Mozilla Foundation. You...
January 12, 2012

## Sloan Foundation Grant to Software Carpentry and Mozilla

We are very pleased to announce that the Sloan Foundation has generously agreed to fund six months of work by Software Carpentry and the Mozilla Foundation. ...
January 11, 2012

## I Have a Cunning Plan (or, Making Money by Doing Good)

If you've ever posted an ad for a programmer, you'll know just how much haystack you have to sift through to find a few needles. At least half of the people ...
January 07, 2012

## Settings Our Sights a Little Bit Lower

A couple of days ago, I posted replies to some of the comments that people had made on my posts about Software Carpentry's future. To recap, I want SC to: o...
January 04, 2012

## The Fire Last Time

Back in November, Justin Reich wrote a post titled "Will Free Benefit the Rich?" (re-posted as "Open Educational Resources Expand Educational Inequalities")....
December 31, 2011

## Some Responses to Some Comments

Several people have written some useful comments on my recent "where are we going?" posts. It's exactly the kind of feedback I was after, so here are my answ...
December 31, 2011

## Rethinking Software Carpentry

I’ve spent some time in the last two weeks thinking about what I’ve learned from Software Carpentry, and how to move it forward. I think a lot of the ideas a...
December 30, 2011

## Fork, Merge, and Share

As George Pòlya said, sometimes the best way to solve a problem is to solve a more general one. In that spirit, this post was originally going to be a...
December 30, 2011

## To Be Assimilated in French…

December 26, 2011

## What Success Looks Like Five Years Out

Having talked about what I've learned and how well our teaching measures up, I'd like to explore what success would actually look like for Software Carpentry...
December 24, 2011

## Organizing Instruction and Study to Improve Student Learning

I had breakfast a couple of days ago with Jon Pipitone, a former student who has helped out with Software Carpentry off and on in the past. When we discussed...
December 24, 2011

## Well, I Think the Gray Makes Me Look Distinguished

December 21, 2011

## What I’ve Learned So Far

I worked on Software Carpentry full-time for a year starting in May 2010. In that time I created over 140 PowerPoint decks, about 12 hours of video, and taug...
December 20, 2011

## It Just Keeps On Hurting

I received email a few days ago from someone who had just found this site (reproduced here with permission): I am working on getting myself set up to do scie...
December 20, 2011

## What I’ve Learned So Far About Online Teaching

I just posted 1500 words plus footnotes on the Software Carpentry site summarizing what I’ve learned so far about online teaching. The takeaways are: Onlin...
December 20, 2011

## Na Shledanou

He made the world a better place, and he never took himself too seriously. Really, can any of us hope for a better epitaph?
December 19, 2011

## Looking for Grassroots Teaching Groups

I’m looking for grassroots organizations that are trying to teach webcraft and programming to free-range (non-classroom) learners of all ages. So far, I know...
December 18, 2011

## PowerPoint + Visio, but in Javascript?

I’ve been complaining for a couple of years now about not being able to use HTML + Javascript as a replacement for PowerPoint. Yes, it’s easy to put images a...
December 16, 2011

## Research In Progress: How Mozilla Builds Software

WebFWD recently posted a video presentation by UC Berkeley's Prof. Homa Bahrami and her student Claire Rudolph, who studied how Mozilla builds software. It'...
December 13, 2011

## A decade of research and development on program animation: The Jeliot experience

Mordechai Ben-Ari and Roman Bednarik and Ronit Ben-Bassat Levy and Gil Ebel and Andrés Moreno and Niko Myller and Erkki Sutinen: "A decade of research...
December 10, 2011

## How to Teach Webcraft and Programming to Free-Range Students

I will be running a P2PU course starting in January on teaching free-range learners how to program and build stuff on the web. The blurb is below; anyone who...
December 07, 2011

## Lest We Forget

December 06, 2011

## Empirical Software Engineering's Greatest Hits

Here are a couple of videos (the first about 8 minutes long, the second over an hour) discussing empirical studies in software engineering, and why they matt...
December 05, 2011

## Online vs. Face-to-Face Pedagogical Code Reviews: An Empirical Comparison

Christopher Hundhausen, Pawan Agarwal, and Michael Trevisan: "Online vs. Face-to-Face Pedagogical Code Reviews: An Empirical Comparison." SIGCSE 2011. Given ...
December 04, 2011

## Remember When…

December 03, 2011

## Iron Triangles Are Great — Everyone Should Have One

I read Power and Gould-Morven’s paper “Head of Gold, Feet of Clay: The Online Learning Paradox” on the ride in this morning. In it, they summarize John Danie...
December 02, 2011

## The FCS1: A Language Independent Assessment of CS1 Knowledge

Allison Elliott Tew and Mark Guzdial: "The FCS1: A Language Independent Assessment of CS1 Knowledge". SIGCSE'11, March 2011. A primary goal of many CS educat...
December 02, 2011

## And Then… A Preview

A free preview of And Then…, the children’s book Ellen Hsiang and I created, is now online. We hope you enjoy it (and there’s still time to order a printed c...
December 02, 2011

## Direct Reports and Self-Directed Learning

Imagine you’ve just been hired for a creative, thinking-intensive job, and then you discover that your boss has 19 other people reporting to her as well. How...
December 01, 2011

## Where’s My Shell?

My first programming language was PL/1. (Look it up if you need to, kid.) My second was Pascal, and then in the summer of 1982 I was introduced to two more: ...
November 30, 2011

## Good News and Bad News

The good news is, the Khan Academy has finally added some lectures on programming. The bad news is, the lectures build toward Fibonacci sequences and sorting...
November 30, 2011

## The Greatest Story Never Told

A good TV drama needs heroes and villains, romance, momentum, crackling dialog, and the occasional chase scene (gunplay optional). Which makes me wonder: why...
November 30, 2011

## Rewind

I have an idea for a game, but no time to implement it, so I'm going to throw it out in the hope that some interwebby young'un with time on her/his hands wil...
November 29, 2011

## Three Short Thoughts

A BBC article title "Coding — the New Latin" resonated: Latin was the language of learned discourse in the formative years of modern science, but not ...
November 29, 2011

## Day 27 of Movember 2011

November 27, 2011

## Accessible to All?

Back in the late 1990s, I volunteered for a while with the CNIB helping a young woman finish off her high school diploma. (She was already in college, but th...
November 18, 2011

## Show Me the Data

I got mail from a colleague at a prominent US university yesterday saying (in part, and elided to protect the guilty): ...the graduate student representative...
November 18, 2011

## Quantifying Installation Costs

A few months ago, I tried to quantify the cost of poor software skills. A recent post from Adam Klein gives is a good excuse to try to do something similar f...
November 18, 2011

## Two Steps Forward, Two Steps Back?

The November/December 2011 issue of IEEE Software has a good article by Markus Völter titled, “From Programming to Modeling—and Back Again”. In it, the autho...
November 14, 2011

## Here’s What I’ve Learned So Far

Heather Payne is smart, hard-working, and not afraid to dive into things she doesn’t know. Starting from nothing more than a tweet six months ago, she and he...
November 14, 2011

## Surviving the Tsunami

The October 2011 issue of ACM Queue features an article by Bruce Berriman and Steven Groom titled "How Will Astronomy Archives Survive the Data Tsunami?" The...
November 14, 2011

## Clearing Up Code

The November/December 2011 issue of IEEE Software has a good article by the Climate Code Foundation's Nick Barnes and David Jones titled "Clear Climate Code:...
November 14, 2011

## Vulgarity Isn’t Honesty (or, Who’s Welcome Here?)

I unfollowed a former student on Twitter a couple of months ago because he was tossing words like “bitch” and “whore” into his tweets like marshmallows into ...
November 10, 2011

## Happy Birthday

November 08, 2011

## The Ladder of Abstraction and the Future of Online Teaching

Up and Down the Ladder of Abstraction is one of the most thought-provoking things to hit the web in a long time. Its author, Bret Victor, doesn't just talk a...
November 08, 2011

## The Best vs. the Good

Cameron Neylon recently posted another thought-provoking piece, this one titled, "Building the perfect data repository...or the one that might get used". In ...
November 08, 2011

## The 1970s Called…

By popular demand [1], I am growing a ‘stache for Movember. If you’d like to donate to the cause, you can do so here. Thanks.
November 02, 2011

## Well That Certainly Got Some Attention

We recently posted a note on the Never Work In Theory blog about a paper presented at PLATEAU 2011 which reported that novice Perl users were unable to write...
November 01, 2011

## D is for Digital

Brian Kernighan’s new book D is for Digital has arrived. As the subtitle says, it is, “What a well-informed person ought to know about computers and communi...
October 31, 2011

October 29, 2011

## Looking for a Writing Space in Toronto

Years ago, a musician I knew had a studio near King and Bathurst. He wasn’t an early riser, so we made a deal: two or three mornings a week, I went in around...
October 24, 2011

October 24, 2011

## An Empirical Comparison of the Accuracy Rates of Novices using the Quorum, Perl, and Randomo Programming Languages

Andreas Stefik, Susanna Siebert, Melissa Stefik, and Kim Slattery: An Empirical Comparison of the Accuracy Rates of Novices using the Quorum, Perl, and Rando...
October 24, 2011

## Research Without Walls

I just signed the “Research Without Walls” pledge: effective today,I will assist in the peer review process (as a reviewer, board/committee member, chair, ed...
October 22, 2011

## Three Empirical Studies From ESEC/FSE’11

As our previous post said, a lot of interesting work was presented at the joint ECSE/FSE conference in September. Three of my favorites reporting empirical s...
October 22, 2011

## Three Results, Many Definitions

The joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering took place Septemb...
October 22, 2011

## Evidence? We Don’t Care About No Stinking Evidence

More prisons and mandatory sentencing does not reduce crimes—just ask Texas. But what’s our government’s approach?
October 21, 2011

## What I Like Doing

I was talking with a friend Wednesday evening, grumbling a bit about how short life is and how many things I’ll never get to. He asked me, “Well, what do you...
October 21, 2011

2005 2011
October 20, 2011

## At the Risk of Repeating Myself…

An article that Jorge Aranda and I wrote for American Scientist about empirical studies of software engineering is now up on the web. We hope it’s a good int...
October 19, 2011

## American Scientist Article on Empirical Studies of Software Engineering

An article that Jorge Aranda and I wrote for American Scientist about empirical studies of software engineering is now up on the web. We hope it's a good int...
October 19, 2011

## The Science Code Manifesto’s Five C’s

The Science Code Manifesto comprises five core principles: Code: All source code written specifically to process data for a published paper must be availabl...
October 14, 2011

## Running Partners

I spoke last week with a woman in her mid-twenties who is working at her first start-up, and would like one day to start a company of her own. I asked her wh...
October 11, 2011

## Hiring

Are you a talented programmer in the Toronto-Guelph-Kitchener area, interested in joining a startup run by one of the smartest guys I know that’s launching a...
October 07, 2011

## Insufficient Purity Considered Harmful

Joseph Hellerstein, a professor in the Computer Science department at UC Berkeley, posted an article on his blog a couple of weeks ago titled, “Is Teaching M...
October 06, 2011

## D Is For Digital

Brian Kernighan, whose books on C, Unix, and programming design shaped the thinking of an entire generation of software developers, has a new book out called...
October 05, 2011

## Revamping This Site

We have been using WordPress as a content management system (CMS) for Software Carpentry since the launch of Version 4 in July 2010, and while nothing in par...
October 05, 2011

## A Buddhist For Three Weeks

I was a Buddhist for three weeks back in the fall of 1985. I had just moved to Edinburgh, ostensibly to do a Master’s degree in artificial intelligence, but ...
September 27, 2011

## And Then…

Ellen Hsiang and I are pleased to announce that And Then…, our children’s book about life, the universe, and climate change, is now available for purchase fr...
September 22, 2011

## We Will Soon Have News

We’re close… we’re very close…
September 22, 2011

## Slightly Narcisissistic

So here’s me, blogging about where my Twitter followers are from. Yes, you may tell me to get a life…
September 22, 2011

## Variability and Reproducibility in Software Engineering: A Study of Four Companies that Developed the Same System

Bente C.D. Anda, Dag I.K. Sjøberg, and Audris Mockus: "Variability and Reproducibility in Software Engineering: A Study of Four Companies that Develop...
September 22, 2011

## Plus Ca Change…

Once again, Compute Canada has sent out a document for "review" without leaving time for people to provide meaningful input. And once again, it's all about ...
September 22, 2011

## If Only This Thing Had An Engine!

September 20, 2011

## I’m Not Normally Lost for Words

I mentioned last week that I'm trying to put together a lecture on packaging and installation. It's proving harder than I expected: I'm not normally lost for...
September 20, 2011

## Past and Future

Two articles I read over the weekend neatly encapsulate the past and future of software engineering research (at least, the kind of SE research that I’m inte...
September 19, 2011

## So, What Did You Do Today?

Video goes here.
September 18, 2011

## The Simplest Web That Could Possibly Work

A new web tool called If This Then That generated a flurry of interest this week (see for example Scott Hanselman's blog post). Simply put, IFTTT lets you co...
September 17, 2011

## Extensible Programming: A New Hope

Back in 2004, I wrote an article for ACM Queue titled “Extensible Programming for the 21st Century”. In it, I argued that it was time for programming languag...
September 16, 2011

## Progress Of A Sort

As I mentioned a few months ago, I'm going to turn Software Carpentry into a book. Here's the present status: Chapter Word Count Introduction 768 Spr...
September 13, 2011

## Lovecraft and the Tea Party

The sciences, each straining in its own direction, have hitherto harmed us little; but some day the piecing together of dissociated knowledge will open up su...
September 09, 2011

## What Happens When You Install Something?

The most frustrating part of this course is always getting things set up on students' machines. (Yes, we could give them all a Linux VM with everything insta...
September 08, 2011

## Ladies Learning Code #2: HTML and CSS on Sept 24

Announcing Workshop #2: HTML & CSS for Absolute Beginners - Brought to you by Ladies Learning Code and the Yorkville Media Centre
September 07, 2011

## Don’t Touch My Code!

Christian Bird, Nachiappan Nagappan, Brendan Murphy, Harald Gall, and Premkumar Devanbu: "Don't Touch My Code! Examining the Effects of Ownership on Software...
September 05, 2011

## Where is the Puck Going to Be?

Looking at the schedule for Science Online London 2011 makes me feel that Software Carpentry is showing people how to solve yesterday's computational problem...
September 05, 2011

## Teaching Security to Scientists

Thanks to everyone for their suggestions regarding what we should teach about computer security if we only have one hour (the usual constraint for topics in ...
September 02, 2011

## Renting Cycles Has Never Been Easier (For Some Definition of ‘Easier’)

This video, titled "Building an AWS Cluster in 10 Minutes", is both inspiring and depressing: inspiring, because you really can set up a cheap supercomputer ...
September 01, 2011

## Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development

Jerod W. Wilkerson, Jay F. Nunamaker, Jr., and Rick Mercer: "Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development." Pre-pri...
August 31, 2011

## AOSA Volume 2 Roster

Volume 2 is going to be another great book: Apache Derby: Tiago Espinha Diaspora: Sarah Mei Distributed Systems: Kate Matsudaira Erlang/OTP: Elise Huard...
August 25, 2011

## Three Paradigms (or, Why LLC Should Teach Javascript)

Mark Guzdial recently posted another thought-provoking piece on computing education that has some direct implications for a project here in Toronto called La...
August 25, 2011

## And We’ll Change The World

“…love is better than anger. Hope is better than fear. Optimism is better than despair. So let us be loving, hopeful and optimistic. And we’ll change the wo...
August 24, 2011

## What Michael Feathers Thinks You Should Read

Michael Feathers is the author of one of our favorite books on programming. In February 2009, he posted a list of ten papers that every programmer should rea...
August 24, 2011

## Is Transactional Programming Actually Easier?

Christopher J. Rossbach, Owen S. Hofmann, and Emmett Witchel: "Is Transactional Programming Actually Easier?" Principles and Practice of Parallel Programming...
August 24, 2011

August 23, 2011

## Code Coverage in Lernanta

Percentage of statements covered by tests as a function of module size. Yes, I know, statement coverage isn’t a good way to assess the quality of testing, bu...
August 22, 2011

## First Draft

I have posted a much longer version of my story Still, which ran in On Spec last summer. It’s intended for young adult readers, but feedback from readers of ...
August 21, 2011

## Indivica is Hiring

Indivica is looking for developers and support engineers to help extend and deploy OSCAR, an open source electronic medical record system used in small and m...
August 21, 2011

## Today Was a Good Day

Sadie and I went out to Table 17 for our anniversary last night while Dee babysat Madeleine. The food was delicious, and afterward, we walked home along Quee...
August 21, 2011

August 19, 2011

## As Excited as a Bumble Bee in a Squash Patch

Two weeks ago Hot Yam! (a sustainable food co-op at the University of Toronto) submitted a proposal to the Graduate Student Union to operate a full-time, stu...
August 19, 2011

## Spelling, Fairness, and JavaScript

My daughter has been sounding out words for a while now, and in the last couple of weeks has gone from c-a-t to “B-os-ton” (as in “Boston Pizza”). A couple ...
August 18, 2011

## Demos Reinforce Errors, and Confusion is Good

Mark Guzdial has posted a good summary of this year's ICER keynote by physics education guru Eric Mazur, in which he reported the results of several recent e...
August 17, 2011

## Three Empirical Evaluations of UML

Like a lot of people (particularly those with engineering backgrounds), I was very excited when UML first appeared in the mid-1990s. "At last," I thought, "P...
August 17, 2011

## An Empirical Study of Build Maintenance Effort

Shane McIntosh, Bram Adams, Thanh H. D. Nguyen, Yasutaka Kamei, and Ahmed E. Hassan: "An Empirical Study of Build Maintenance Effort". ICSE 2011 The build sy...
August 09, 2011

## Introducing Programming a Different Way

Our quick introduction to Python is the module I'm least happy with, so I've been thinking about how to re-design it. I've included a new outline below; comm...
August 08, 2011

## Muriel (Jo) Campbell: 1930-2011

My Aunt Jo passed away last night at the age of 81. She’d been ill this past winter with pneumonia, but it was finally her heart that failed. I’m sorry my ...
August 06, 2011

## Learning Lernanta: We’re Live!

Aaaaand we’re off!
August 06, 2011

## Computing in Physics 101: What We’re Doing Wrong

Mark Guzdial and his colleagues do top-notch research on computing education—that's "teaching people computing", not "using computers to teach people",...
August 04, 2011

July 31, 2011

## Team!

It’s just a week ‘til the first Ladies Learning Code workshop in Toronto, and the list of instructors is pretty impressive. Thanks in advance to: Pearl Ch...
July 29, 2011

July 29, 2011

## Usability Implications of Requiring Parameters in Objects’ Constructors

Jeffrey Stylos and Steven Clarke: "Usability Implications of Requiring Parameters in Objects' Constructors." ICSE 2007. The usability of APIs is increasingly...
July 26, 2011

## My OSCON’11 Hall of Fame

Seven years ago, Michelle Levesque and I wrote in “Open Source, Cold Shoulder”: Proponents of free, libre and open source software (FLOSS) often describe the...
July 24, 2011

## Software Carpentry in HPCWire

HPCWire has run an interview with me about Software Carpentry (a follow-up to one they did several years ago). Regular readers will have seen the main point...
July 22, 2011

## The Case of Abinit

The latest issue of Computing in Science & Engineering has a good article by Yann Pouillon, Jean-Michel Beuken, Thierry Deutsch, Marc Torrent, and Xavier...
July 20, 2011

## Material from Newcastle Workshop Now Available

Back in June, we mentioned a workshop on computing skills at the University of Newcastle. It reportedly went very well, and presentations and other materials...
July 20, 2011

## How Much Do You Need?

Michigan State's Titus Brown has posted a good discussion of what kind of computing hardware you need to do bioinformatics, and why. Long story short, it's a...
July 20, 2011

## And Speaking of Titus Brown…

Michigan State's Titus Brown recently ran his course on analyzing next-generation sequencing data for the second time. Judging from his report, it was just ...
July 20, 2011

## Wait, Not That Bit!

We all do it. We start fixing something over here, in this file, then notice something unrelated ten lines above in a different method that should be cleane...
July 20, 2011

## Ladies Learning Code: JavaScript (Toronto, August 6)

The title says it all: the first Ladies Learning Code workshop on Saturday, August 6, at the Centre for Social Innovation in downtown Toronto will be an intr...
July 19, 2011

## Debugging in the (Very) Large

Kinshuman Kinshumann, Kirk Glerum, Steve Greenberg, Gabriel Aul, Vince Orgovan, Greg Nichols, David Grant, Gretchen Loihle, and Galen Hunt: Debugging in the ...
July 18, 2011

## Learning Lernanta: August 6

Following up on Wednesday’s post, it looks like Saturday, August 6, is a better day for a Lernanta code-in than July 23. Four people have said they’re inter...
July 15, 2011

## The Finger Is Not The Test

When Buddhists want to remind themselves that scripture is a guide, not a goal, they say, “The finger pointing at the moon is not the moon.” I think we need ...
July 15, 2011

## Learning Lernanta

Lernanta is the web application that powers p2pu.org, the peer-to-peer university project backed by Mozilla. On Saturday, July 23, Zuzel Vera Pacheco (its le...
July 13, 2011

## Grown-Up Languages

A few days ago, after browsing the Coffeescript docs and examples, I tweeted, “I will take your new language seriously when you have a symbolic debugger for...
July 12, 2011

## Architecture of Open Source Applications Webinars July 13 and 20

Smart Bear Software is hosting two online panel discussions about The Architecture of Open Source Applications, at 1:00 pm EST on Wednesday, July 13, and aga...
July 11, 2011

## Stanford Course Went Well

Prof. Risa Wechsler, along with Alex Ji and Zahan Malkani, recently ran a short course at Stanford based in part on Software Carpentry called Physics 91S1: P...
July 10, 2011

July 09, 2011

## Home Again

It’s good to be home… We enjoyed our time in San Francisco, and I think the workshop at CEF’11 went well, but the real point of the trip was to visit my pare...
July 09, 2011

## The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics

Khaled El Emam, Saida Benlarbi, Nishith Goel, and Shesh N. Rai: "The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics". IEEE Trans...
July 07, 2011

## Reproducible Computational Geophysics

A summary of a recent workshop on Open Software Tools for Reproducible Computational Geophysics is now online. Lots of interesting stuff, and once again, th...
July 06, 2011

## Mentioned in Nature Methods

A recent article in Nature Methods by Jeffrey Perkel titled "Coding your way out of a problem" makes mention of Software Carpentry. Elsewhere, Mike Croucher...
July 01, 2011

## Specification and Verification: The Spec# Experience

Mike Barnett, Manuel Fähndrich, K. Rustan M. Leino, Peter Müller, Wolfram Schulte, and Herman Venter: "Specification and Verification: The Spec# Ex...
June 30, 2011

## Let’s Go to the Whiteboard

Mauro Cherubini, Gina Venolia, Rob DeLine, and Andrew J. Ko: "Let's Go to the Whiteboard: How and Why Software Developers Use Drawings". CHI 2007. Software d...
June 30, 2011

## It Will Never Work in Theory

Inspired in part by Lambda the Ultimate, which reports on what’s new in programming language research, Jorge Aranda and I have started a new blog called “It ...
June 29, 2011

## Architecture Stats

In case you were wondering, The Architecture of Open Source Applications is now averaging about 4200 page views a day. (The stats are corrupted a bit by all...
June 26, 2011

## Michael Nielsen Talks About Open Science in San Francisco on June 29

As per his blog post, the inimitable [1] Michael Nielsen will be talking about "Why the net doesn't work for science—and how to fix it" next Wednesday ...
June 22, 2011

## Doing the Math

Let's do some math. Suppose that working through the Software Carpentry course takes the average scientist five full-time weeks. It doesn't matter whether th...
June 20, 2011

## Health Informatics Resources

Via William Hopper, a list of online healthcare informatics resources that might be of interest to some readers. If you have others, I'm sure he'd enjoy hea...
June 18, 2011

We have started recruiting for the second volume of The Architecture of Open Source Applications, and while I’m mostly pleased with how it’s going, there’s o...
June 15, 2011

## A New Look

I'm fond of the Software Carpentry logo, but the blue-to-white color fade is difficult to print on coffee mugs, and impossible to embroider on shirts. Thank...
June 14, 2011

## It Shouldn’t Still Hurt This Much

Silly me: I want to use RapidSVN on Windows Vista. Which means I need to install WinMerge so that I can view and merge diffs. So I do that, then try to diff ...
June 13, 2011

That was my daughter’s reaction when I came downstairs in a suit on Friday morning :-). But it was all in a good cause: Zuzel Vera Pacheco and Mike Conley, ...
June 12, 2011

## If You’re Going to Teach an Undergrad Intro to Software Engineering…

I got mail yesterday from a former student of a friend of mine who has just been told that he has to teach an “Intro to Software Engineering” class this fall...
June 12, 2011

## Now Available on Kindle

Thanks to heroic effort from Ian McDowell and Amy Brown, The Architecture of Open Source Applications is now available for the Kindle at Amazon.com for \$9.99...
June 11, 2011

## Hermes FTW

A lot of work got done on a lot of great projects at last weekend’s Random Hacks of Kindness; one of the most exciting was the Hermes Message Carrier, an ad ...
June 10, 2011

## Summary of ICSE Panel

Jorge Aranda has posted a good summary of the panel session at at ICSE on “What Industry Wants From Research”. We hope to have more news soon…
June 09, 2011

## Blueprints Are Not Architecture

As I wrote a couple of week ago, one of the reasons I started The Architecture of Open Source Applications project was to fill a gap I stumbled over while te...
June 07, 2011

## Practical Computing for Everyone (not just biologists)

Steven Haddock and Casey Dunn: Practical Computing for Biologists. Sinauer Associates, 2010, 0878933913. My copy of Practical Computing for Biologists...
June 07, 2011

We are very pleased to announce that the Open Source Programs Office at Google has agreed to provide support so that Amy Brown can continue to work part-time...
June 04, 2011

## Programming for Scientists at Newcastle University: June 20, 2011

From the announcement: Programming is becoming an increasingly important part of scientific research, yet many scientists are self-taught programmers with li...
June 04, 2011

## Refactoring Yahoo! Pipes

I’ve been griping on Twitter about the fact that the official copies of most IEEE and ACM papers are hidden behind paywalls, which is a great way to ensure t...
June 03, 2011

## T Plus 10 Days

So how is The Architecture of Open Source Applications doing?
June 02, 2011

## Tagging (Again)

I have two logical entities in my database—call them Place and Thing—and I would like to be able to add tags to instances of both kinds. I’d like those tag ...
June 01, 2011

## Blue Pencil for Hire

Amy Brown, my co-editor on The Architecture of Open Source Applications, is available for freelance work. High quality, reasonable rates, knows her way aroun...
June 01, 2011

## Workshop at CEF’11

I will be giving a one-day workshop on software skills for computational economists at the 17th International Conference on Computing in Economics and Financ...
June 01, 2011

## 85K

The Architecture of Open Source Applications site has had over 85,000 visitors in the eight days since we launched. Nobody has asked about using it as a text...
May 31, 2011

## My New Job

In all the excitement, I forgot to mention that I started a new job three weeks ago: I’m now working for Side Effects Software, makers of a world-class visua...
May 29, 2011

## Coming Up Next (We Hope)

The Architecture of Open Source Applications was always meant to be the start of something, not the end. We’d really like to collect more descriptions of com...
May 29, 2011

## You Doesn’t Exist

The title of this post is not grammatically incorrect, and therein lies a story. I've had more than a dozen emails since The Architecture of Open So...
May 28, 2011

## So What’s It Like Publishing a Book Yourself?

Several authors and would-be authors have asked us what it’s like doing a book with a print-on-demand publisher like Lulu. Overall, we’re pretty pleased: you...
May 28, 2011

"The real grand challenge for software engineering research is relevance." I’m not particularly observant at the best of times—it’s one of the reasons I don’...
May 28, 2011

## It’s Not Theory vs. Practice, It’s Two Solitudes

In Canada, the phrase “two solitudes” refers to the lack of communication—and the lack of interest in communicating—between Anglophones and Francophones. I t...
May 27, 2011

## How We Got Here, and Where We’re Going

I got my first programming job in the summer of 1982, rewriting an RSA encryption library in C for Prof. Selim Akl at Queen’s University. One of the older s...
May 26, 2011

## "The Architecture of Open Source Applications" is Now Available

It has been slightly over a year in the making, but it’s finally here: The Architecture of Open Source Applications has been published. You can buy the book...
May 23, 2011

## Why Does Flask Lose My Post Data When It Redirects?

I’m trying to decide which Python web programming framework to use in the Software Carpentry course. Simplicity is the main criterion: in fact, other than “s...
May 21, 2011

## How Do Actual Software Engineers Perceive Software Engineering Research?

This post is based on the work of Jorge Aranda, Margaret-Anne (Peggy) Storey, Daniela Damian, Marian Petre, and me. It is a re-post from Jorge's blog&mda...
May 20, 2011

## Beta Book

We have our first copy of the book! And it’s beautiful: Well, except for a few of the diagrams, and a couple of typos, and, well, we’re going to call this ...
May 19, 2011

## Catalog Models Like Views and Controllers

The Model-View-Controller (MVC) pattern is the bedrock of most modern applications: models are what’s stored, views are what’s presented, and controllers det...
May 18, 2011

## Greg’s New Gig

I enjoyed working on Software Carpentry last year, but money for a second year failed to materialize, and after seven years doing other things, it felt like ...
May 16, 2011

## More Interested in the Asides

So how did the term go, you ask? Here's what traffic on this site looked like: The three spikes in March where we had up to ten times our usual 250-a-day v...
May 14, 2011

## End of an Era

The drproject.org domain is up for renewal—but we’re not going to. Learned a lot from the project, and I think students did too, but in retrospect, I should ...
May 13, 2011

## Damn the Torpedoes (but I could use some help navigating)

Despite my own calculations (which were optimistic to begin with, and are more so now that I have a new job), I'm going to try to turn Software Carpentry int...
May 13, 2011

## AOSA Is At The Printer’s

The Architecture of Open Source Applications is now at the printer’s—we’re going to give the first copy a final going-over, then make it available for purcha...
May 06, 2011

## The Architecture of Open Source Applications

My apologies for how quiet this site has been recently—finding a new job takes time [1], and we had to make one final push on the other project I've be...
May 06, 2011

April 28, 2011

## Competence

When I first saw Starling Software's Programmer Competency Matrix, I was struck by the parallels between its four levels and the first four of the five that ...
April 26, 2011

## Sunday

Today, my friends Jorge and Val welcomed their first child, Aurora Aranda-Cortés, into the world. And today, for the first time in nine years, my sister and ...
April 25, 2011

## In Praise of Street Fighting

Sanjoy Mahajan's Street-Fighting Mathematics is subtitled "The Art of Educated Guessing and Opportunistic Problem Solving". As the author says in the introd...
April 22, 2011

## Holding Up a Mirror

Cameron Neylon always has interesting things to say. In a recent talk, he commented on my tendency to idealize laboratory practice when contrasting it with t...
April 18, 2011

## Random Hacks of Kindness June 4-5 2011

RHoK #3 will take place June 4-5, and once again, Toronto will be a host site. Do some good doing something you love…
April 12, 2011

## Prototyping

The numbers might not make sense, but I'm still curious about whether Software Carpentry would make sense as a book. To find out, I spent five hours convert...
April 11, 2011

## By The Numbers

So what next for Software Carpentry? One possibility is to turn the scripts for the episodes, the examples, and the diagrams in the slides into a book. Let's...
April 09, 2011

If all goes well, The Architecture of Open Source Applications will be available for purchase by the beginning of May. As a teaser, there’s a table of conten...
April 08, 2011

## It’s Complicated

Two people asked me “how are things?” this morning just a few seconds apart. My answer is, “I need a job, my sister has two months (maybe three), and we’re ...
April 06, 2011

## PyCamp Toronto June 27-30 2011

The University of Toronto Department of Physics brings PyCamp to Toronto on Monday, June 27 through Thursday, June 30, 2011. Register today at http://trizpu...
April 05, 2011

## An Ounce vs. A Pound

Run for the Cure, Ride for the Cure, Dance for the Cure—they have saved a lot of lives, and I have nothing but respect for all the people who have organized ...
April 03, 2011

## Harder Than It Should Be

Someone once said, "Chemistry is basically anything chemists will give each other awards for doing." Or something like that—Google doesn't find matche...
March 31, 2011

## Practical Computing for Scientists at Stanford

Prof. Risa Wechsler writes from Stanford: We are teaching a course at Stanford this term inspired by Software Carpentry. The course, "Practical Computing fo...
March 30, 2011

## And I’m on a Horse

Patrick Mackenzie (whom I've never met) gave a good lightning talk at the Business of Software that sums up a lot of what we haven't done for Software Carpen...
March 26, 2011

## A Better Way to Teach Programming to Scientists

This year's SIGCSE conference on computer science education featured a very cool paper by Robbins, Senseman, and Pate, of the University of Texas at San Anto...
March 24, 2011

## You’ll Need a Large Screen

I've been working on a graph showing the connections between the questions this course tries to address, our answers to them, the knowledge and skills neede...
March 22, 2011

## I’d Settle for 0.1%

In a recent article about computational thinking, Carnegie-Mellon's Jeannette Wing says: ...every scientific directorate and office at the National Science ...
March 22, 2011

## Videos of Autumn School Lectures

I'm pleased to announce that video recordings of the Software Carpentry lectures I gave in London last fall are now online at http://soundsoftware.ac.uk/autu...
March 21, 2011

## The Kind of Job I Want

All right: what kind of job do I want? It’s a fair question, and since I’ve often asked students what they would work on if someone offered to pay their sal...
March 20, 2011

March 18, 2011

## On a Personal Note…

Since money hasn't materialized for another year of full-time work on this course, I'm now looking for a job. My CV is up to date, and my interview shoes ar...
March 18, 2011

A first cut of a question-and-answer matrix for this course is now up for viewing. It doesn't include everything, and the answers aren't particularly helpfu...
March 17, 2011

## More Changes

It’s trivial by comparison, but since money hasn’t materialized for another year of full-time work on Software Carpentry, I’m now looking for a job. My CV i...
March 16, 2011

## Graph Layout, Models vs. Views, and Computational Thinking

Money for me to keep working full-time on Software Carpentry hasn't materialized, so as I've mentioned in a couple of recent posts, I'm trying to find a way ...
March 16, 2011

## A Season of Changes

The snow is melting here in Toronto. It was warm enough yesterday for me to ride my bike to work, and to walk my daughter home from daycare. But other chang...
March 15, 2011

## Twenty Questions (Minus Two)

Following up on last week's musings about reorganizing the course, we've drawn up eighteen questions that we think cover the reasons people come to this cour...
March 15, 2011

## Dying Breeds

When I was teaching at Los Alamos National Laboratory in the late 1990s, a team of archivists was going around recording old-timers so that their tacit knowl...
March 12, 2011

## What To Demand

Peter Norvig (formerly of NASA, now at Google) recently gave a talk titled "What to Demand From a Scientific Computing Language". It's a good talk (and not ...
March 12, 2011

I'm increasingly unhappy with the organization of this course. On the off chance that funding materializes and we're able to undertake a major redesign, I'd...
March 11, 2011

## Who’s Cribbing Who?

Another entry in the “why didn’t I think of that?” category is Churnalism.com; as David Eaves explains, it compares “news” articles to a database of press re...
March 09, 2011

## Usability of Programming Languages

Alan Blackwell’s course at Cambridge on the usability of programming languages has as its text a selection of chapters from a 1990 book on the psychology pro...
March 09, 2011

## University of Toronto Venture Competition

http://uoftventurecompetition.wordpress.com/ is aimed at Computer Science students who want to try commercializing an idea this summer—give it a whirl!
March 09, 2011

## High Tech That Looks Low Tech

These videos about climate change are great: they look low tech, with hand-drawn diagrams and low-fi narration, but I imagine a lot more work went into their...
March 09, 2011

## Literate Programming

Last week's post about the tuple space programming model was so popular that I thought readers might enjoy a discussion of another beautiful idea that failed...
March 07, 2011

## Tuple Spaces (or, Good Ideas Don’t Always Win)

I've resisted adding a module on high-performance computing to this course for a lot of reasons: I think other things are more important, there's enough cove...
March 01, 2011

## We Got a Mention in Comm. ACM

The March 2010 issue of Communications of the ACM has an article on grid computing that mentions Software Carpentry and Titus Brown's course at Michigan Stat...
February 25, 2011

## An Easy Place to Start: Systems Programming

As a follow-up to recent posts on how to contribute, what better looks like, and Elango Cheran's secure shell episode, here's a specific request: we would li...
February 24, 2011

## What Better Looks Like

Paradise is exactly like where you are right now... only much, much better. — Laurie Anderson It's hard to make things better if you don't know what "b...
February 22, 2011

## Sweaters

I’ve only owned one store-bought sweater in my life; all the rest have been made for me, mostly by my mum. Her arthritis won’t let her knit any more, but I t...
February 20, 2011

## Giving Ourselves Permission

There’s a line from Alan Furst’s 1930s-era spy novel Dark Star that has stuck with me: “We need people who can do good, and not get caught.” It came to mind ...
February 18, 2011

## Scientific Computing Podcast

inSCIght is a podcast that focuses on scientific computing in all of its various forms. Every week we have four panelists engage head-to-head on poignant and...
February 18, 2011

## Reddit on Scientific Programming

February 17, 2011

## I Want Their Software

This blog post about the Khan Academy might gush a bit, but the embedded video is a must-watch for anyone who cares about education. I really want their soft...
February 16, 2011

## How to Contribute

Following up on yesterday's post, I have written a short guide explaining how you can help Software Carpentry improve and grow. Reporting bugs, suggesting c...
February 16, 2011

## Top Ten Why Nots

We've had quite a few firsts and successes in the past ten months, but our biggest failure continues to be the lack of contributions from users and educators...
February 15, 2011

## If I Was 19…

…and trying to figure what’s going to be cool when I graduate, so I could learn about it now, I’d be messing with this kind of stuff: a WebGL plugin to help ...
February 11, 2011

## Ground Up, in No Particular Order

I’ve said for years that extensible programming systems wouldn’t be designed per se; they’d emerge from the ground up as a younger generation left lines of A...
February 11, 2011

## DemoCamp 28 on Feb 22

DemoCamp Toronto # 28 is happening February 22, 2011 at Ryerson University. Event Details: http://wp.me/srS6B-dct28 Buy a Ticket: http://guestli.st/45021 ...
February 09, 2011

## Let’s Talk

Today is Let's Talk Day, so let's talk. I'll go first: starting when I was 19, I had bouts of depression every 12-18 months for a little over 20 years. Some ...
February 09, 2011

## What Computational Science Means to Me

My latest attempt to define what "computational thinking" actually means is now on the web in draft form—comments would be very welcome. In brief, the ...
February 08, 2011

StreetKnit, a charity that collects knitted goods for the homeless, will be on Canada AM this coming Monday (January 31). I’m looking forward to Maddie seein...
January 28, 2011

## Research Study: How Do You Test Your MATLAB?

Have you ever wondered how scientists test their code? We have, and we'd like you to help us find out. If you use MATLAB, please have a look at our new resea...
January 27, 2011

## Bootcamp

A couple of weeks ago, I went to the University of Wisconsin — Madison to speak at a three-day software skills bootcamp run by The Hacker Within, a gra...
January 27, 2011

## Thinking Like the Web

Jon Udell’s 1999 book Practical Internet Groupware was a revelation for me: it was the first coherent explanation I’d ever read of how the disparate collecti...
January 26, 2011

## The Case Against Peer Review

Cameron Neylon recently made the case against peer review once again; the dialog near his posting's end is too accurate to be funny. In this light, calls fo...
January 26, 2011

## Software Carpentry Sprint in July

Well this was a nice birthday present: the Python Software Foundation announced today that they will provide some support for a Software Carpentry sprint in ...
January 26, 2011

## A Week of Public Accountability

I’m three weeks into 2011, and two weeks behind on everything. Where does the time go? I'm supposed to be working full-time on Software Carpentry, but betw...
January 23, 2011

## Scientists Aren’t Stupid: Software Is

Last night, Mike Bayer (@zzzeek) tweeted: Why are "scientists", who are so dramatically smarter than me, such dumdums when it comes to basic programming skil...
January 21, 2011

## AOSA Update

The Architecture of Open Source Applications is in its final stretch (I hope). We’ve got most or all of what we need from: Asterisk: Russell Bryant Audaci...
January 20, 2011

## MIT Rethinking OpenCourseWare

MIT's OpenCourseWare initiative was (and probably still is) the highest-profile "open and online" initiative in higher education. According to this article,...
January 20, 2011

## How to Cite Software Carpentry

If you are citing Software Carpentry in papers or technical reports, the web site and the 2006 article in Computing in Science & Engineering are probably...
January 20, 2011

## Making System Administrators’ Lives Easier

Google's Thomas Limoncelli (author of Time Management for System Administrators) has an article in ACM Queue titled "A Plea to Software Vendors from Sysadmin...
January 19, 2011

## Demographics (part two)

Here are summaries (slightly edited) of what people taking the course do. There's quite a range... Stem cell biology, high-throughput screening, high-conte...
January 17, 2011

## Demographics (part one)

As near as we can tell, here's where this term's students are from. It's quite a mix... BEACON Center for the Study of Evolution in Action, Michigan State U...
January 16, 2011

## The Hacker Within

I got back to Toronto late last night from visiting The Hacker Within, a grassroots student organization at the University of Wisconsin — Madison that ...
January 14, 2011

## Our Funding Pitch

A couple of people have recently asked, "How do you go about asking for money?" Applying for grants from NSERC, the NSF, and other agencies is something they...
January 14, 2011

## Jon Udell in Toronto Jan 18 2011

Rethinking the Community Calendar: A Case Study in Learning and Teaching Fourth R Principles Jon Udell, Senior Technical Evangelist, Microsoft Tuesday, Janua...
January 13, 2011

## NoSQL Lectures

Via Nat Torkington, a bunch of recorded lectures on NoSQL databases, all by men.
January 11, 2011

## McConnell Responds to Bossavit

Laurent Bossavit recently posted a critique of Steve McConnell’s chapter in Making Software on productivity differences between programmers (French original ...
January 10, 2011

## Software Carpentry in One Picture and Five Words

This 1995 Pirelli ad pretty much sums up what Software Carpentry is about:
January 10, 2011

## Funding (A Plea for Contacts)

I've been working full-time on Software Carpentry since the beginning of May 2010. As I said at the end of November, progress has been steady, but we're only...
January 09, 2011

## Gibson’s Law in the Small

A little bit of the future from this morning’s Twitter… :-)
January 06, 2011

## What I Learned From Software Carpentry

Anna Maidens, who works for the UK Met Office in Exeter and took part in our October 2010 Software Carpentry course there, did a presentation a few weeks ago...
January 06, 2011

## Cognitive Dissonance

Cognitive dissonance (n): voting for someone because they’re going to clean up the city’s finances, then supporting them when they decide to spend \$344 milli...
January 05, 2011

## We Are the Frogs

We all know it’s not true, but it’s still a useful story: if you put a frog in hot water, it will jump out, but if you put it in cool water and slowly boil i...
January 05, 2011

## Software Carpentry Bootcamp Jan 12-14 in Madison

Registration is now open for a three-day Software Carpentry bootcamp Jan 12-14, 2011, at the University of Wisconsin — Madison, organized by the folks ...
December 31, 2010

## In the Home Stretch

A quick update on The Architecture of Open Source Applications — we have chapters in one state or another, or firm promises, for: Asterisk Audacity Bash ...
December 30, 2010

After cursing PowerPoint for eight solid months while building screencasts for Software Carpentry, I think I have figured out what I want instead. Here’s a ...
December 29, 2010

## More Musings on the Value of a PhD

Yet another good post from Mark Guzdial pointed me at an article in The Economist about the value (or otherwise) of a PhD. Key stat (bold emphasis mine): A s...
December 29, 2010

## Tagging and Debugging

Thanks to a cold, I had time today to catch up on some long-delayed reading. Among the highlights were two pieces of work that I wish we had been able to inc...
December 29, 2010

## Falk and Dierking’s 95% Solution

The most interesting thing I read over the holiday was Falk and Dierking’s article “The 95 Percent Solution” in the Nov-Dec 2010 issue of American Scientist....
December 28, 2010

## You’re Never Too Old for Space Camp

I can’t remember how I stumbled across BuyThisSatellite.org, but I’m glad I did. I’ve been a science fiction fan for (literally) as long as I can remember, a...
December 27, 2010

## It’s a Shame People Don’t Get Credit

It’s a shame people only get meaningful academic credit for creating new knowledge (regardless of its importance), and not for explaining existing knowledge ...
December 27, 2010

## Open Research Computation

By now, many of you have (hopefully) seen the announcement of Open Research Computation, a new journal devoted to "...peer reviewed articles that describe th...
December 27, 2010

## Elimination

I'm working up another essay on software design, and would like to ask readers of this blog how they handle something that comes up when simulating interacti...
December 27, 2010

## Local Subversion Repositories

A colleague in the UK who is going to teach Software Carpentry asked about setting up repositories. In particular, he doesn't have a server where he can crea...
December 26, 2010

## Extended Examples

We'd like to add more extended examples to this course, both because they're fun and because they're a good way to show how our topics relate to one another....
December 23, 2010

## So How’d I Do?

Back on November 9, I laid out my goals for the remainder of the year. Let’s see how I did: Time with family: yes. Help Mike and Zuzel finish their theses...
December 22, 2010

## Compute Canada’s ‘Strategic’ Plan Isn’t

Last Friday—December 17—I received an email from Compute Canada. The emphasis is mine: A Strategic Plan for Compute Canada was a key recommendat...
December 21, 2010

You wouldn’t know it from this blog, but I actually do still read books. In particular, I just finished Terrence Ryan’s Driving Technical Change: Why People ...
December 20, 2010

## Executable Papers

Elsevier is sponsoring an "Executable Paper Grand Challenge". If you have more than just ideas about the future of scholarly publication in computational sc...
December 20, 2010

## Building a Recommendation Engine with NumPy

Tommy Guy's explanation of how to build a recommendation engine in NumPy, based on an example from Toby Segaran's excellent book Programming Collective Intel...
December 15, 2010

## Presents for the Holidays

Some of the best presents I have ever received have been recommendations: "Oh, you'd like this author," or, "You really should listen to this album." So, in...
December 14, 2010

I wasn’t particularly hopeful when I first heard about Grace, a new programming language being developed for teaching purposes. Having followed their blog fo...
December 13, 2010

## Performance and Parallelism

Some topics for a lecture on parallel programming: how to measure/compare performance (raw speed, weak scaling, strong scaling, Amdahl's Law, response time ...
December 10, 2010

## Where Are My Keys?

I was looking through some Python code a few days ago, and noticed that its author was using this: if something in dict.keys(): dict[something] += 1 inst...
December 09, 2010

## Subtle Technologies 2011

Call for Submissions
December 08, 2010

## How Do You Manage a Terabyte?

This question has come up a couple of times, and I'd welcome feedback from readers. Suppose you have a large, but not enormous, amount of scientific data to ...
December 08, 2010

## Pins, Balls, and Arbitrary Decisions

We'd like to include more extended examples like invasion percolation in this course, but they're surprisingly hard to write. One that seems simple at first...
December 06, 2010

## I Don’t Understand TPL’s Search Algorithm

Search for the title How Bad Are Bananas? at the Toronto Public Library, and you get two hits: some musical scores from the 1920s, and The complete Sarah Vau...
December 06, 2010

## Location Change for RHoK Toronto

Attention all RHoK Toronto participants: new location is UoT OISE Bldg 252 Bloor St West - Rooms 4410, 4414, 4418, 4420, 4422, 4426
December 03, 2010

## Dr. Tae is Full of Crap

This video from Dr. Tae (whose first name is surprisingly difficult to find) is a half-hour grumble about the state of higher education. The key moment, thou...
December 02, 2010

## Chapters Are Coming In…

Chapters are coming in for The Architecture of Open Source Applications. By coincidence, Tim Bray recently posted a nice, compact description of the architec...
December 02, 2010

## "Making Software" Webinar on December 16

Smart Bear Software is hosting a free webinar on December 16 to discuss Making Software with some of its contributors. Please help spread the word!
December 02, 2010

## Red-R

From a reader, a link to Red-R, a visual programming environment for R. The six-minute screencast on the documentation page shows what it's capable of. I don...
December 02, 2010

## Student Talk on Erlang for Scientific Computing

Qiyu Zhu and Colin Morris will give at talk at noon on December 8, 2010, at the SciNet Users Group meeting titled “Fault Tolerant Scientific Computing with E...
December 02, 2010

## Programmer Competency Matrix

There's no scientific research behind this tabulation of what programmers ought to know, and some of the categorizations are unactionably vague, but it's sti...
December 02, 2010

## Prerequisites (or, When to Say No)

How much should Software Carpentry assume students know before they start? Or to put a sharper point on it, how much should this course require students to k...
December 02, 2010

## Peer to Peer

One of the things we think didn't work well in this term's online run of the course was peer-to-peer discussion among students. Such discussion is one sign ...
December 02, 2010

The solstitial holiday is approaching fast, but with a bit of luck, we should be able to get one more lecture up on the web before it arrives. Topics we coul...
December 02, 2010

## End of an Era

From http://basieproject.org: We have decided to wind down the Basie project and put our effort into Pinax, a collection of reusable Django components design...
November 30, 2010

## We’re Number Six!

O’Reilly recently ran a “Free to Choose” promotion on e-books. According to this post, Making Software was the sixth most popular book on the list:
November 30, 2010

## Winter 2011 Online Course Now Full

As of this morning, 102 people have signed up for our Winter 2011 offering—it will be the largest run of the course ever. Registration has now closed, ...
November 29, 2010

## Michael Feathers on "Making Software"

Michael Feathers (author of Working Effectively with Legacy Code) has posted a 5-star review of Making Software at Amazon.com. He says: I'm going to go on r...
November 22, 2010

## Mark Guzdial is Speaking in Toronto

Mark Guzdial, who has been doing top-notch research on computing education for many years, is speaking at the University of Toronto on Tuesday November 23 at...
November 21, 2010

## "Making Software" Screencast

A screencast about Making Software is now up on Amazon. I had to talk pretty fast to fit their four-minute limit, but I think I hit the high points.
November 17, 2010

## Ratios and Rework

It's been six months and a bit since we started working on Version 4 of this course, so I'd like to share two things we've learned about creating online tuto...
November 16, 2010

## More Good Science

We’re starting to get feedback on Making Software, most of it positive (but some of it grumpy: “how dare your evidence contradict my cherished belief!”). Her...
November 12, 2010

## On My Way Home

I’m on my way home after two and a half weeks on the road. I have missed Sadie and Maddie more each day—Skype video calls are a lot better than just phoning,...
November 09, 2010

## Done In London

We wrapped up this week's class in London today: I think a lot of the students felt that they'd been in the wind tunnel most of the week, but the feedback wa...
November 05, 2010

## University Economics

An interesting post from Carleton’s Prof. Nick Rowe about the economics of prof/student ratios (and other things). His exclusive use of male pronouns grates ...
October 31, 2010

## I Wish I’d Thought Of This

Professors Leiserson and Amarasinghe teach a course called “Performance Engineering of Software Systems” at MIT. According to this article, they bring in ex...
October 31, 2010

## Would You Prefer…

Here are three instructional videos that I enjoyed watching: The Crisis of Credit Visualized Math is Not Linear Changing Education Paradigms What they have...
October 30, 2010

## Need Something to Debug

Following up on the previous post about the way Paul Dubois organizes good practices as "defense in depth", we would really like to include a lecture on debu...
October 30, 2010

## Dubois on Maintaining Correctness

Something else I didn't get to at the Met Office last week: Paul F. Dubois: "Maintaining Correctness in Scientific Programs". Computing in Science & Engi...
October 30, 2010

October 29, 2010

## An Uncertain Thing

I am pleased to announce that Volume 1 of my father’s book An Uncertain Thing: A History of Childhood in the Western World is now available, and that Volumes...
October 28, 2010

## Feedback at UKMO

I've just finished teaching a four-day version of the course at the UK Met Office in Exeter. I think it went reasonably well, even if we did version control ...
October 28, 2010

## ComputerWorld Canada Educator of the Year

I am pleased to announce that ComputerWorld Canada has named me the 2010 IT Educator of the Year for “…recognizing the application of innovative techniques a...
October 27, 2010

## Making Sense

New catchphrase (with apologies to Theodosius Dobzhansky): Nothing in software engineering makes sense except in the light of human psychology.
October 21, 2010

## Unfortunately Rather Dry

The Great Beyond has a post today about Canadian scientists creating a web site to get their side of the story across in the face of repeated attempts by our...
October 20, 2010

## Everything Old Is New Again

I enjoyed reading this “literate” version of the backbone.js source (I put “literate” in quotes because—oh, never mind, it doesn’t matter for the purposes of...
October 20, 2010

## Give The Patrons What They Want

Interesting article: I’d never heard of patron-driven acquisition before, but the basic idea is one that other services could borrow: [L]ibraries will load a...
October 20, 2010

## Peter Norvig on Python

Peter Norvig, the author of one of the standard textbooks on AI, and now at Google, has this to say about Python:
October 19, 2010

## They’re All Small Devices Now

I noticed a book on the shelves at Scimatic last week called Small Memory Software: Patterns for systems with limited memory, by Noble and Weir. It took me ...
October 18, 2010

## Ratings Revised

We asked, you answered: here are the latest results from our survey of what topics you'd most like us to cover, with links to the ones that have been posted....
October 17, 2010

## Nature Article on Scientific Programming

Nature has just published an article by Zeeya Merali titled "Computational science: ...Error" that looks at what's wrong with scientific computing today. Sof...
October 14, 2010

## Five Rules for Computational Scientists

Stepping back from the details for a moment, here are five rules every computational scientist should (try to) follow: 1. Version Control Put every primary a...
October 14, 2010

## Dexy

From Ana Nelson, a neat new reproducible research tool called Dexy that takes the pipe-and-filter model to new heights (or extremes, depending on your point ...
October 14, 2010

## Asynchronous ActionScript Now Sucks Less

Asynchronous ActionScript now sucks a little bit less, thanks to this code from David Wolever. Check it out—he’d be grateful for feedback.
October 14, 2010

## Pretty Pictures

Matt @ Mozilla’s post shows what people in the School of Webcraft course draw when asked to show how the Internet works. Some of these are very cool.
October 08, 2010

## Yes, We Can Design Languages for Human Beings

Lambda the Ultimate recently had a nice summary of a paper titled, “Is Transactional Programming Actually Easier?” In it, Rossbach, Hofmann, and Witchel repo...
October 08, 2010

## "Making Software" Covers

<img title=”“Making Software” (front cover)” src=”http://third-bit.com/files/2010/10/msfront.jpg” alt=”“Making Software” (front cover)” width=”525” height...
October 08, 2010

## How Long Is This MP4?

We have made over 50 videos for Software Carpentry so far, and as part of reorganizing the site, we want to list their lengths beside their names. If they we...
October 05, 2010

## UCOSP: That’s Me in the Middle

Andrew Louis has posted a great summary of the Fall 2010 UCOSP code sprint, which took place this past weekend here in Toronto. Over 50 students and mentors...
October 04, 2010

## Total Donations

Beautiful Code has raised a total of US\$97,933.47 for Amnesty International so far.
October 04, 2010

## Aaaand We’re Off!

Our first all-online offering of the course starts today: over 40 graduate students and researchers are taking part. We're going to use email, Skype, DimDim,...
October 04, 2010

## Tracking Utility and Impact

Mark Guzdial recently posted some interesting (and for us, slightly depressing) statistics about MIT Open Courseware. Long story short, it looks like that fl...
September 30, 2010

## Ten Short Papers Every Computational Scientist Should Read

No, we don't have a list—not yet—but we'd like to. What short, readable papers or articles do you think every scientist doing computational work ...
September 30, 2010

## Knitters Needed!

If you’re a knitter in the Greater Toronto Area, StreetKnit needs your help for Nuit Blanche this coming weekend.
September 27, 2010

## Software Carpentry at UCSF

Via a comment from Scooter Morris: the University of California San Francisco is offering a "short course" variant of Software Carpentry under the course cod...
September 23, 2010

## Response Has Been Overwhelming

I'm very pleased to announce that the Fall 2010 offering of this course to Ontario graduate students is now full: we'll be sending acceptance notices to appl...
September 22, 2010

I've been fond of invasion percolation since I first encountered it: the problem is simple to state, but its implementation brings up quite a variety of usef...
September 20, 2010

## The Stupid, It Still Burns

Top three “non-fiction” books on Amazon.com right now: Matt Ridley's The Rational Optimist: the non-executive chairman (oh, how careful he is to emphasize ...
September 18, 2010

## Today

September 17, 2010

## Survey: Help Needed

Dr. Roscoe Bartlett (Sandia National Laboratory), Dr. Jeffrey Carver (University of Alabama), and Dr. Lorin Hochstein (University of Southern California) are...
September 16, 2010

## Testing Scientific Software

Yesterday, Michael Feathers tweeted that, "The hardest bit of TDD [test-driven development] for ppl in scientific computation is that they often don't know ...
September 15, 2010

## Software Carpentry Offered Online in Fall 2010 (for Ontario students)

I'm pleased to announce that we'll be running Software Carpentry online October-December 2010 for up to 40 graduate students and researchers at Ontario unive...
September 14, 2010

## Will America’s Universities Go The Way Of Its Car Companies?

Two days before I flew south to speak at Michigan State University, I read an article in The Economist that asked the question in the title of this post. As ...
September 13, 2010

## It Shouldn’t Hurt This Much

One of my students says good things about Spyder, a Python environment with MATLAB-like features. OK, I'd like to give it a try. On Mac OS X. Ah---it nee...
September 12, 2010

## And For My Next Trick…

One of the things people have voted right up to the top of our poll is reproducible research. The phrase means different things to different people, but part...
September 09, 2010

## Says It All

September 09, 2010

## Games I’ll Never Make

If you were never a board game geek, this post isn't for you. Move on, move on, nothing to read here...
September 05, 2010

## The Evils of Email

We’ve all seen studies reporting on the dark side of email. Well, PsyBlog has now done us all a quote favor endquote by summarizing its ten greatest evils. U...
September 04, 2010

## "…more frequently begets confidence…"

Ignorance more frequently begets confidence than does knowledge. --Charles Darwin As illustration, here’s a list of ten things non-technical users probabl...
September 04, 2010

## Simple Strategies, Simply Explained

September 04, 2010

## In Praise of PowerPoint (sort of)

If all goes well, I’ll post the first eight episodes of the Software Carpentry lecture on the Unix shell later today. That will make this the most productiv...
September 03, 2010

## Congratulations (and Thanks) to Allison Tew

As Mark Guzdial recently reported, Allison Tew has successfully defended her PhD thesis at Georgia Tech. For her thesis, she constructed and validated a lang...
August 26, 2010

## Another Update on What You Want

Responses have slowed, so here are the final scores for the topics we're including (or thinking about including) in this course. It looks like the Unix shell...
August 26, 2010

## Three Rules for Supervising Student Programming Projects

Jen Dodd recently posted an article titled “3 rules for running events”, plus one metarule that I particularly appreciated: “Stop deluding yourself.” In the...
August 25, 2010

## What I Install

I just set up a new 64-bit Windows 7 machine at work; here’s what I installed (in order): Putty Firefox Chatzilla Firebug Bookmarks third-bit webmai...
August 25, 2010

## What Don’t You Understand That You’d Like To?

What don't you understand about computers and computing that you'd like to? I'm not talking about big stuff, like "How does it all work, anyway?" or, "How do...
August 23, 2010

## Seven Non-Myths

Another good post from Mark Guzdial, this one reporting on a CS education conference he’s attending. Among the talks was one summarizing seven non-myths abou...
August 16, 2010

## 43% Independent

Cecilia d’Oliveira and colleagues recently wrote an essay in Science about MIT’s OpenCourseWare initiative, ten years after its inception. Among the stats: O...
August 16, 2010

## Students and Code Review

Mike Conley has posted some early results from his study of student code reviews. One of the most interesting is that students who have reviewed their peers...
August 16, 2010

## "Still" in On Spec

The Summer 2010 issue of On Spec has published my short story “Still”. I hope those who read it enjoy it…
August 16, 2010

## Interview with Cameron Neylon

Today's interview is with Cameron Neylon, a noted advocate of open science. Tell us a bit about your organization and its goals. I work for the UK Science an...
August 12, 2010

## Participants Needed for a Study of Code Review

Andrew Smith, a graduate student I have been working with, is looking for people to take part in a study: ...to determine what advantages and disadvantages t...
August 08, 2010

## Congratulations to Jorge Aranda

Jorge Aranda successfully defended his PhD thesis this morning. It’s the culmination of several years of thought-provoking work; I look forward to more great...
August 06, 2010

## It Only Looks Like Magic

A couple of days ago, I asked a question about generating tests for Nose. Jacob Kaplan-Moss (of Django fame) provided a elegant answer that I can understand ...
August 05, 2010

## Python in CS1 is Growing Fast

From Mark Guzdial’s ever-informative blog: I just got a report...on the state of the Python CS1 market. The market size is estimated to be about 20,300 st...
August 05, 2010

August 05, 2010

## Adam Goucher on Python Page Objects

The latest issue of PragPub has Adam Goucher’s article on page objects in Python—check it out!
August 05, 2010

## David Scannell on Elastic Build

David Scannell, an ex-student of mine who is now at GridCentric, has posted an interesting article on using elastic clouds for continuous integration. Lots o...
August 05, 2010

## Jeff Balogh at DjangoCon

Jeff Balogh, a former GSoC student of mine now with Mozilla, will be speaking at DjangoCon about “Switching addons.mozilla.org from CakePHP to Django”. Pleas...
August 05, 2010

## How Do Researchers Use Blogs?

Sara Kjellberg has an interesting (scholarly) article on how researchers use blogs: nothing shocking, but I was intrigued by the cross-discipline commonaliti...
August 05, 2010

August 05, 2010

## Two From Jon Udell

I’m a big fan of Jon Udell’s work; here are two recent examples to convince you that you should be too: His "Architectures of Context" presentation. The s...
August 05, 2010

## Our New Home

Apologies if there was any trouble reaching this site yesterday—I’ve switched hosting from Site5 to Dreamhost. Everything should be back to normal now; if yo...
August 05, 2010

## Software Carpentry for Audio and Music Researchers

I will be teaching a version of Software Carpentry tailored for audio and music researchers at Queen Mary University in London from November 1st to 5th, 2010...
August 05, 2010

## An Answer That Most Students Won’t Understand

Two days ago, I asked how to generates tests from tables of fixtures using Nose: ...does Nose already have a tool for running through a table of fixtures and...
August 05, 2010

## I’m Still Sort of a Professor

While I’m no longer employed by the University of Toronto, I’m still involved with several student projects. Several of them have had good news to report thi...
August 04, 2010

## Open Source, Open Science in 1999

A long time ago, in a galaxy far, far away... Actually, it was 1999, and the venue was Brookhaven National Laboratory in New York—it just feels like a ...
August 03, 2010

I'm putting together an episode of the testing lecture to introduce unit testing frameworks. In the past, I've used unittest, but colleagues have had good ex...
August 03, 2010

## Interview with Sergey Fomel

Sergey Fomel is a professor at the University of Texas at Austin, and the leader of the Madagascar project. Tell us a bit about your organization and its goa...
August 02, 2010

## Interview with Davor Cubranic

Today's interview is with Dr. Davor Cubranic, a statistician who lives and works in Vancouver, B.C. Davor recently ran a workshop for faculty and grad studen...
July 31, 2010

## It’s Less Funny When It’s Your Life

A couple of days ago, Steve Yegge posted a sort-of funny piece to his blog about Wikileaks leaking the source code of 5000 open source Java projects by makin...
July 30, 2010

## I Could Use Your Help With Javascript

Details on the Software Carpentry blog, but basically I need a simple folding display for code to do faded examples.
July 30, 2010

July 30, 2010

## Survey Update

Here's an update on responses to the survey I posted a couple of weeks ago. 172 people have responded at this point; it's encouraging that priorities are rel...
July 29, 2010

## Mark Guzdial on Software Carpentry

Mark Guzdial, a leading researcher in computing education, blogged a few days ago about the Texas Advanced Computing Center's training program for computatio...
July 28, 2010

## Interview with David Wallace

CivSource has posted an interview with David Wallace, the City of Toronto’s CIO, about open data. I’m really pleased to see things are still moving ahead — w...
July 24, 2010

## An Idea Whose Time Is Long Overdue

When I blogged about App Inventor for Android a couple of days ago, I focused on the fact that it’s closed source. What I didn’t say, but should have, is tha...
July 22, 2010

## Apparently We’re Less Creative

Apparently we’re becoming less creative. Well, Americans are, anyway, according to research reported in Newsweek (and repeated elsewhere): Kyung Hee Kim at t...
July 22, 2010

## Popular, Fast, or Usable: Pick One

One of the core skills in any software developer's toolbox is automating repetitive tasks. We've been teaching this in Software Carpentry with Make for 13 ye...
July 21, 2010

## Interview with The Hackers Within

Today's interview is with Nicholas Preston, Katy Huff, and Milad Fatenejad of the The Hacker Within at the University of Wisconsin-Madison. Tell us a bit abo...
July 20, 2010

## Interview with STSci’s Perry Greenfield

Today's interview is with Dr. Perry Greenfield of the Space Telescope Science Institute. Tell us a bit about your organization and its goals. We run the Hubb...
July 20, 2010

## A Note on Tools

After a bit of experimenting, I've decided to use SmartSVN as a GUI client for Subversion in the version control lectures, rather than RapidSVN or the comman...
July 20, 2010

## Closed Feels Weirder Every Day

By now, most readers of this blog will have heard about Google’s App Inventor for Android, a building-blocks programming system based on MIT’s OpenBlocks tha...
July 20, 2010

Via ClimateProgress: Scientists from Louisiana State University, Mississippi State University and Texas A&M have "signed contracts with BP to work on ...
July 19, 2010

## The Strengths of the Small

Jorge Aranda, who recently completed his PhD in Computer Science at the University of Toronto, and who contributed a chapter to Making Software, recently wro...
July 18, 2010

## City of Toronto Releases New Data Sets

Longtime readers will recall that I ran an open government/open data course at the University of Toronto last fall. I wasn’t able to stay as involved as I wo...
July 18, 2010

## Jon’s Notes on G20

Jon Pipitone, who was once a student of mine and is now a friend, volunteered with the Canadian Civil Liberties Association as an observer during G20 in Toro...
July 18, 2010

## The Molecular Workbench and When a Book Becomes an App

Two thought-provoking pieces from Mark Guzdial’s blog (again): The Molecular Workbench: "...is not just a collection of simulations–do not be deceive...
July 18, 2010

## An Interview with Hans Petter Langtangen

Our latest interview is with Hans Petter Langtangen, author of two books for scientists about Python (and a lot more). Tell us a bit about your organization ...
July 18, 2010

## A Gentle Introduction

Via several routes, I've been pointed at MIT Open CourseWare's "A Gentle Introduction to Programming Using Python", as taught by Sarina Canelake in January 2...
July 18, 2010

## "Making Software" Now Available on Rough Cuts

Making Software (the collection on empirical software engineering that I helped edit) is now available on Safari Rough Cuts — chapters include: A Communal ...
July 16, 2010

## An Interesting Comment on Academic Life

Beryl Lieff Benderly: “The Real Science Gap”. The teaser says, “It’s not insufficient schooling or a shortage of scientists. It’s a lack of job opportunitie...
July 16, 2010

## Toronto PyCamp August 20 - Sept 3, 2010

From the announcement: The University of Toronto Department of Physics hosts Toronto PyCamp 2010. For beginners, this ultra-low-cost Python Boot Camp makes ...
July 16, 2010

## This Week in Software Carpentry

Another week, another bunch of posts on t’other site — including a short survey to help us prioritize future lectures, and a plea for help from anyone with g...
July 16, 2010

## Survey Results

Here are the results of the survey that we announced a couple of days ago. I'm a bit surprised that so many computer scientists responded, and equally surpri...
July 15, 2010

## Interview: Andrew Lumsdaine of Indiana University

Today's interview is with Indiana University's Professor Andrew Lumsdaine. Tell us a bit about your organization and its goals. One of the reasons the School...
July 13, 2010

## Interview with Michigan State’s Titus Brown

Today's interview is with Professor Titus Brown, from Michigan State University. Tell us a bit about your organization and its goals. Michigan State is one o...
July 11, 2010

## HPC and Programmability

Via Andrew Lumsdaine, a pointer to an interesting article in Communications of the ACM by Eugene Loh titled "The Ideal HPC Programming Language". A few key q...
July 10, 2010

## Three Weeks of Software Carpentry

Apologies for falling behind on these updates: An interview with Microsoft's David Rich The third episode of the regular expressions lecture The fourth e...
July 08, 2010

## Interview: SciNet’s Daniel Gruner

Today's interview is with Dr. Daniel Gruner of SciNet. Tell us a bit about your organization and its goals. SciNet is a High Performance Computing (HPC) cons...
July 08, 2010

## It’s Gone to Production

The collection of essays on evidence-based software engineering that Andy Oram and I edited has gone to production. The final title is <a href=”<a href...
July 07, 2010

## Using Science to Design This Course

One of the many reasons I left the University of Toronto to work full-time revising this course was to explore two areas I've been curious about for years: e...
July 07, 2010

## That’s, Uh, Pretty Ambitious

The title of this post is taken from the reaction of the first person I showed this course schedule to. If we're really going to teach Software Carpentry in ...
July 06, 2010

## Hubs, Spokes, and Gonzo Programming Skills

In the aftermath of his (very successful) course on next-generation sequencing, Titus Brown has posted some thoughts on how to tie that material to Software ...
July 06, 2010

## Toronto Live Interviews

A new event series is starting up: Toronto Live Interviews. The first is on Tuesday, July 20, 6:30pm - 8:00pm, at the Centre for Social Innovation, Room 120...
July 05, 2010

## The Violas of Programming

Orchestral musicians make jokes about violas and viola players. "What's a string quartet? A great violin player, a mediocre violin player, a bad violin playe...
June 29, 2010

## Rich, Famous, and Popular

Would you like to be rich, famous, and popular? Do you have mad computer vision skillz, and/or a Level 29 Jedi Ninja rating in embedded devices? You do? E...
June 28, 2010

## Conflict Minerals and Blood Tech

Great post from Joey deVilla about the hundreds of millions of dollars that flow each year from high tech companies to the ugliest warlords in the world. Don...
June 27, 2010

## SIAM News Article About Software Carpentry

The June 2010 issue of SIAM News (published by the Society for Industrial and Applied Mathematics) has an article I wrote about Software Carpentry called "Ge...
June 24, 2010

## Eric Lander on Genomics

This lecture by MIT's Eric Lander is a great overview of where genomics is, how we got here, and where we might be going. "Biology as an information science"...
June 24, 2010

## Another Example of small-p Patterns

A couple of weeks ago, I asked whether people would find an exploration of ways to count things useful. The consensus was "yes", so I've started drawing up n...
June 24, 2010

## And the Winner Is…

Zuzel Vera Pacheco is studying how developers visualize SQL queries for her Master’s thesis project. She ran her last subject a few days ago, and yesterday d...
June 24, 2010

## Chas Has Code!

The Google Summer of Code student I’m working with, Chas Leichner, has a working prototype of a two-pane folding editor for IDLE (the Tkinter-based IDE that ...
June 24, 2010

## Another Quote from Mark Guzdial

From “Proving and Improving Teaching Programming Languages”: SIGPLAN Education Board has produced a report "Why undergraduates should learn the principles ...
June 24, 2010

## A Quote from Marian Petre

From Marian Petre’s recent paper “Mental imagery and software visualization in high-performance software development teams”: ...even in debugging and compreh...
June 24, 2010

## Software Developer: Audio and Digital Music

The Centre for Digital Music (C4DM) at Queen Mary, University of London, is seeking an experienced Software Developer with a background and knowledge in Au...
June 23, 2010

## The Jolts Are Back

The Jolt Awards for best software (and book) are back: this page on the Doctor Dobb’s Journal site has the schedule and categories. It’s a shame that neithe...
June 22, 2010

## Cross-Country Undergrad Projects This Fall

In 2009-2010, almost 90 students from over a dozen universities across the country earned a course credit by working in teams on a variety of open source pro...
June 22, 2010

## Interview with Microsoft’s David Rich

The latest in our series of interviews with Software Carpentry sponsors is with Microsoft's David Rich. Tell us a bit about your organization and its goals. ...
June 21, 2010

## A Damn Good Book

I’m partway through Bill Karwin’s new book SQL Antipatterns [1] and all I can say is, “Damn, this is good.” Important material, crisp writing, well-chosen ex...
June 20, 2010

For those who aren’t following along: Testing invasion percolation (June 7) Making invasion percolation faster (June 8 ) Reorganizing content (June 9) I...
June 19, 2010

## People You Don’t Want On Your Team

Study after study has shown that the biggest causes of software project failure are over-optimistic scheduling and unstable requirements. I think the only r...
June 18, 2010

## For World Cup Fans (and Everyone Else)

Mike Knell has posted a funny piece titled "If Sports Got Reported Like Science" [accessed via Internet Archive]. Perhaps I should have put quotes around "fu...
June 18, 2010

## George Orwell is Blogging

How did I miss this? George Orwell's diary entries are being reposted on this blog in step with the original events. Very cool, particularly now that the Fre...
June 17, 2010

## Is Live Coding Worth It?

I put together an introductory lecture on regular expressions yesterday, but I'm not happy with the results, and I'd like your feedback to help me make it be...
June 16, 2010

## A Voice from the Back of the Room

Mark Guzdial recently posted another thought-provoking piece, this one about how teachers are biased toward assessing a class's progress by their interaction...
June 16, 2010

## Next-Gen Sequencing Course at MSU: It Went Well

Titus Brown has posted a summary of his course on next-generation sequencing data analysis for biologists with little or no previous training in computing. I...
June 15, 2010

## Interview: Mark Plumbley at Queen Mary University of London

Today's interview is with Prof. Mark Plumbley, of the Department of Electronic Engineering & Computer Science at Queen Mary University of London. Tell us...
June 14, 2010

## The Cowichan Problems

Back in the 1990s, as the first wave of euphoria about parallel computing was topping out, I had a crazy idea: why don't we actually try to measure, or at le...
June 12, 2010

## Thought for the Day

We talked of the education of children; and I asked him what he thought was the best way to teach them first. Johnson: "Sir, it is no matter what you teach...
June 11, 2010

## Interview: David Jackson at the UK Met Office

The second of today's sponsor interviews is with David Jackson from the UK Met Office. Tell us a bit about your organization and its goals. You can find out ...
June 11, 2010

## Interview: SHARCNET’s Hugh Couchman

The first of our two sponsor interviews today is with SHARCNET's Prof. Hugh Couchman. Tell us a bit about your organization and its goals. SHARCNET provides ...
June 11, 2010

## Counting Things

I re-read Robins et al's "Learning and Teaching Programming: A Review and Discussion" [1] and Eccles and Stacey's "Understanding the Parallel Programming" [2...
June 11, 2010

June 11, 2010

## The Big Picture (version 3)

Version 3 of the concept map describing what we mean by "computational thinking" incorporates feedback from several people—thanks for sending it. Pleas...
June 10, 2010

## Interview: Jim Graham of Scimatic

Over the next few weeks, I'll be interviewing the people whose sponsorship has made this course possible. First up is Scimatic's Jim Graham. Tell us a bit a...
June 10, 2010

## A Concept Map for Software Carpentry

One of the many things that impressed me about Michael Nygard’s Release It! and Robert Hanmer’s Patterns for Fault Tolerant Software was their use of concept...
June 07, 2010

## The Big Picture (version 2)

Thanks to everyone who gave us feedback on the first version of a concept map for Software Carpentry. The second version is shown below, along with a list of...
June 07, 2010

## Open Source at Seneca: W00t!

Seneca College (in Toronto) has just been awarded \$2.3 million over five years for open source technology research. This is great news—congratulations to eve...
June 04, 2010

## Learn a (Human) Language In Your Browser

Andrew Trusty (a grad student at U of T) has just finished his Master’s degree, and as part of that he built a tool called ALOE that helps people learn a for...
June 04, 2010

## Nine Episodes

The reason this blog has been quiet lately is that I’ve been focusing on getting some Software Carpentry lectures online. I’m pleased to say that the first n...
June 04, 2010

## Concept Map

While re-designing the Software Carpentry course, I have realized that we rely over and over again on some underyling concepts that are hard to capture as le...
June 04, 2010

## Who Reports On The Other 97 Per Cent?

The BBC has posted a nice graphic of the latest Top 500 list of supercomputers around the world. It's pretty impressive, particularly if you're a Linux fan (...
June 01, 2010

## Jonathan Edwards’ "Mea Culpa"

I don’t agree with everything he says, but I do agree with this: ...what really matters in programming...is not...solving puzzles and being the brightest ki...
May 29, 2010

## Say Hello to Chas

My Google Summer of Code student, Chas Leichner, started his project this week. His aim is to build a “record, annotate, and replay” extension for IDLE, so t...
May 29, 2010

## Jim Graham on Reproducibility

In response to Titus Brown's not-really-joking spoof of how most scientists manage their data, Scimatic's Jim Graham has asked, "What is reproducibility, any...
May 29, 2010

## Origins Unknown

May 27, 2010

The Open Notebook Science folks have developed a set of badges to help people label their work, ranging from "All Content — Immediate Release" to "Sele...
May 27, 2010

## A Few Things You May Not Have Known About Andrew Wakefield

This post from Darryl Cunningham is a damning summary of the harm done by Andrew Wakefield, who was paid to “prove” that vaccines cause autism. Children have...
May 27, 2010

## I’m Not a Lawyer…

May 27, 2010

The announcement is a couple of weeks old now (I’m still juggling things as I transition from U of T to Software Carpentry), but Google has released some del...
May 27, 2010

## Archiving Experiments to Raise Scientific Standards

An NSF Workshop on Archiving Experiments to Raise Scientific Standards begins today (May 25, 2010) at the University of Utah — the schedule has links t...
May 25, 2010

From StreetKnit: The National Post has done a story on our world record attempt. Have you told your two friends? Join us on June 12---and bring everyone yo...
May 23, 2010

## The Practice of Software Development

I had a conversation yesterday with a couple of friends about different kinds of startups, the kinds of people who start companies, the “lifestyle company” m...
May 22, 2010

## The World’s Smallest Open Source Violin

And so say we all.
May 21, 2010

## The Architecture of Open Source Applications

I’m very pleased to announce that I’ve just signed a contract with Pragmatic to edit a book on the architecture of open source applications. Our goal is to ...
May 20, 2010

## Evaluating Methods and Protocols

From their home page: ScienceCheck.org is the only site dedicated specifically to sharing objective evaluations of published experimental methods/protocols, ...
May 19, 2010

## Software Carpentry Progress

It’s been a busy week over at Software Carpentry: Screencasts With Point-Form Notes Mini-Screencasts Exercises (with a screencast) A Word (or Three) Fro...
May 19, 2010

## We’ll Know We’ve Succeeded If…

We will know the students taking this course have learned something if: They understand why Titus Brown's Data Management Plan post is both funny and sad. T...
May 18, 2010

## Day 11: Slides

Today's screencast experiment [link no longer active] is narration over PowerPoint slides: it isn't animation per se, but we'd like your feedback on whether ...
May 17, 2010

## Why Most Scientists Don’t Like Computers

Psychology is fascinating: so much of what we think we know about people turns out not to be true, while so many everyday oddities turn out to have rational ...
May 14, 2010

## Day 10: Closed Captioning

Our latest screencast, on NULL values in SQL, is now online. [Original link no longer active; more recent screencast on NULL values.] Unlike its predecessors...
May 14, 2010

## Day 9: Programming

Our first screencast showing a bit of Python programming is now up for comments. [Link no longer active, more recent link to screencast on dictionaries.] It...
May 13, 2010

I got email yesterday from Sylvain Thénault, one of the PyLint developers: I would like to thank you and the team for your contribution to the pylint project...
May 12, 2010

## It’s Complicated

Mark Guzdial recently posted a short, thought-provoking look at women in CS in Qatar. As he says, it’s complicated…
May 11, 2010

As a follow-up to the previous post, we’d like to evaluate the usability of our screencasts systematically. We know we’re not the first (or ten-thousandth) p...
May 10, 2010

## How Do You Like Your Screencasts?

Over on the Software Carpentry blog, I’ve posted links to three trial screencasts. We’d be grateful for your comments: do you like the format? Is the video q...
May 10, 2010

## Why We’re Self-Hosting

A couple of people have asked why we're planning to host and serve the content we're developing instead of using a combination of YouTube and Google Code, or...
May 10, 2010

## Day 6: Screencast With Point-Form Notes

Jason Montojo and I put together an introductory screencast about spreadsheets today. Unlike our previous screencasts, this one is accompanied by point-form ...
May 10, 2010

## Microsoft

We are very pleased to announce that Microsoft Corporation has come on board as a sponsor of this project. Many thank to David Rich for making this happen!
May 09, 2010

## World Record Knitting Attempt Saturday June 12

The full announcement is up at StreetKnit: on Worldwide Knit in Public Day (Saturday, June 12), Toronto-area knitters are going to try to set a new world rec...
May 07, 2010

## Day 5: A Different Kind of Screencast

I spent most of today creating another screencast, this one explaining what "and", "or", and "not" mean to programmers and how they work. There are no live e...
May 07, 2010

## Articles of Faith

In a discussion with Karen Reid yesterday about what should be in U of T’s second-year CS hardware course, I learned something about my own beliefs that I ha...
May 06, 2010

## Is It a Web App?

“Want to know if your ‘HTML application’ is part of the web? Link me into it. Not just link me to it; link me into it. Not just to the black-box frontpage....
May 06, 2010

## Day 4: First Preliminary Alpha Test Etc. Screencast

Jon Pipitone and I have created a screencast showing the basics (and I really mean "the basics") of pulling data out of a database using SQL. It took about ...
May 06, 2010

## What Kinds of Docs Do You Use?

What kind of documentation do you use when you’re programming? How useful do you find it? If have three minutes to fill in a very short survey on the topic (...
May 05, 2010

## Can You Read and Write Python? Then We Need You!

Mike Conley, another of my current grad students, has got ethics approval for his research study as well. From his blog post: Want to win a \$100 Best Buy gif...
May 04, 2010

## Day 2: More Sticky Notes

Day 2. I feel I should say something like, "We traversed the lower ridge, and are camped in a small valley overlooked by the main peak—I can hear walla...
May 04, 2010

## Day 1: Shuffling Sticky Notes Around

Day 1 of Software Carpentry Version 4: Jason, Jon, and I spent the afternoon shuffling sticky notes around on a whiteboard, trying to map out key concepts fo...
May 04, 2010

## Do You Speak Database? Then We Need You!

Zuzel Vera Pacheco, one of my current graduate students, got ethics approval today for her research study. From her blog post: Want to win a \$100 Best Buy gi...
May 03, 2010

## Peter Watts’ Ordeal Is Over (Kind Of)

(Click the image for Toronto Life’s summary)
May 03, 2010

## Thanks For All the Pitches, Too

The first thing my former students friends gave me at my going-away party last week was an envelope full of random phrases. I was apparently supposed to ente...
May 03, 2010

## Setting Up a New Windows Machine

Setting up a new machine is never fun, but it's always interesting to compare what different people have in their toolkits. Here's what I have installed so f...
May 03, 2010

## T Minus One

Tomorrow (May 3, 2010) will be my first day of full-time work on Version 4 of this course (where "full-time" means "except for getting my daughter a new pass...
May 02, 2010

## Missing Mesh

After wavering for a few weeks, I’ve decided not to attend this year’s Mesh conference. I’m really pleased that 11 of the 34 headline speakers are women (tha...
May 02, 2010

Inspiring.
April 29, 2010

April 29, 2010

## GSoC 2010

This year’s Google Summer of Code students and projects have been posted—congratulations to them all. The list unfortunately doesn’t specify which open sourc...
April 26, 2010

## …And Thanks For All The Fish

A month ago, I gave myself a mixed performance review for my time at U of T. Turns out a few people think I deserve better: enough to scare the bejesus out o...
April 25, 2010

## Measure and Manage

I don’t know who Kurt Grandis is, but I’d like to buy him a beer. From his post: Almost two years ago I was in a rather unlikely situation in that I was run...
April 22, 2010

## Trends in Computing May 19-20 in Toronto

The Department of Computer Science at the University of Toronto is running a two-day symposium on “Trends in Computing” May 19-20, 2010. It’s free, but you m...
April 22, 2010

## New Home for Software Carpentry Blog

The Software Carpentry blog has moved to https://software-carpentry.org/blog/ — please remove the old softwarecarpentry.wordpress.com entry from your blog re...
April 22, 2010

## Congratulations to Jason and Jon

Congratulations to Jason Montojo and Jon Pipitone, who have just completed their Master’s degrees in Computer Science at the University of Toronto. Jon was o...
April 22, 2010

## Ill-Informed Commentary Considered Harmful

The April 2010 issue of Communications of the ACM has an article by Keith Wright titled “Capstone programming Courses Considered Harmful”. Dr. Wright teaches...
April 21, 2010

## File Sharing for Scientists

A scientist I recently met in Toronto had a problem: how to share large files with colleagues. Each file is a couple of hundred megabytes; dozens are produce...
April 16, 2010

We're very pleased to announce that Scimatic Software, a Toronto based company that specializes in the development of software for the scientific community,...
April 15, 2010

## Recovering From Functional Programming

James Hague has an interesting series of posts about functional programming, the latest of which, “Functional Programming Doesn’t Work (and what to do about ...
April 13, 2010

## The Chilling Effect of the GPL

Distributed version control systems have finally passed my two-year test [1], so while I was at PyCon in February, I asked a few questions about what it woul...
April 12, 2010

## Sigma Xi Lecture in Toronto: Managing Without Growth

Without Growth. Slower by Design, Not Disaster Prof. Peter Victor Environmental Studies York University
April 12, 2010

## On the Failure of Inquiry-Based Teaching

The full title of Kirschner, Sweller, and Clark’s paper is “Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivi...
April 12, 2010

## Professors Can Teach Open Source

Over at opensource.com, Red Hat’s Greg DeKoenigsberg has a post about a new collaboratively-authored textbook on open source software aimed squarely at under...
April 12, 2010

## Perpetuating Imbalance?

On March 24, a post appeared on the Code Anthem blog titled “Don’t Judge a Developer by Open Source”. Since it starts by saying that the authors are big fans...
April 12, 2010

## Teaching Open Source

Over at opensource.com, Red Hat's Greg DeKoenigsberg has a post about a new collaboratively-authored textbook on open source software aimed squarely at under...
April 12, 2010

## More on Instructional Design

Like many programmers, I've learned most of what I know by poking around and breaking things. Quite naturally, that has led me to believe that this is the be...
April 12, 2010

## Measuring Science

Julia Lane, the director of the Science of Science & Innovation Policy program at the National Science Foundation, wrote an article for Nature a couple ...
April 11, 2010

## Another Software Carpentry Update

From the last week and a half: Other online courses that Software Carpentry could imitate. Feedback on the recently-completed course, with a discussion of...
April 11, 2010

## PSF Membership

I am pleased to announce that I am now a member of the Python Software Foundation. I’m flattered to have been nominated, and grateful to everyone who didn’t ...
April 09, 2010

## Software Carpentry for Economists in Mannheim This Autumn

Hans-Martin von Gaudecker is planning to teach a Software Carpentry-style course for economists at Universität Mannheim this autumn — as his annou...
April 08, 2010

## Platforms

After Thursday's post-mortem on the latest offering of Software Carpentry at the Universitiy of Toronto, I had a chance to talk further with Jon Pipitone, wh...
April 08, 2010

## Summer School on Mining Software Repositories

Summer School on Mining Software Repositories http://msrcanada.org/school/ June 9-12, 2010. Queen’s University, Kingston, ON, Canada. Sponsored by MITACS.
April 08, 2010

## How Do You See Maps?

Back in the 1990s, I did a bit of volunteer work with the Canadian National Institute for the Blind, and one of the things I learned was that computers often...
April 07, 2010

## Communication Matters Most

Tania Samsonova has posted an interesting article discussing the importance of communication skills to job success for junior developers. Drawing on the work...
April 06, 2010

## Feedback and Boundaries

Thanks to the initiative of Dominique Vuvan (who took Software Carpentry last summer), we ran a semi-formal version of the course from last November through ...
April 04, 2010

## Can You Name the Programming Language?

A nice little three-minute quiz from Sporcle:
April 03, 2010

## Simon Singh Wins (and So Does Science)

Simon Singh, the science journalist who was sued for libel by the British Chiropractic Association, has won the right to rely on the defense of "fair comment...
April 01, 2010

## Models To Imitate

My father once told me that a week of hard work can sometimes save you an hour of thought. In that spirit, I've been looking for asynchronous online courses ...
April 01, 2010

March 31, 2010

March 31, 2010

## Periodic Table of Science Bloggers

David Bradley has created a periodic table of science bloggers that regular readers might enjoy:
March 31, 2010

## Why Do Students Cheat?

According to Young-Jin Lee at the University of Kansas, the main driver for college-level cheating is procrastination: ...repetitive copiers—students w...
March 30, 2010

## For Those With Only a Passing Interest in Software Carpentry…

Now that Software Carpentry Version 4 is a go, I’ve moved most blogging about scientific software development over to http://softwarecarpentry.wordpress.com....
March 30, 2010

## DemoCamp 26

DemoCamp Toronto #26 was last night; I was going to blog my impressions, but Ian Chan’s post is better than what I would write, so, um, please go read it ins...
March 30, 2010

## Formats

As I said in last week's announcement, and mentioned again in a later post, one of the main goals of this rewrite is to make it possible for students to do t...
March 30, 2010

## What’s Not on the Reading List

I mentioned yesterday that I maintain a list of books that haven't been written yet. Partly it's an exercise in sympathetic magic—if the reviews exist,...
March 29, 2010

## Apple Makes The Government Look Good

Maddie’s third birthday party was today. After she went to bed, we uploaded all our pictures from our Canon into iPhoto on our MacBook, then selected the one...
March 28, 2010

I'm slightly obsessed with reading lists. (I even maintain a list of books that haven't been written yet, in the hope that it will inspire people to turn som...
March 28, 2010

## Another Online Government Fail

I needed a long-form birth certificate to renew my daughter’s passport, so I went onto the Ontario government website, filled in the form, ticked the box say...
March 27, 2010

## Online Delivery

As the announcement of Version 4 said, Software Carpentry is being redesigned so that it can be delivered in several ways. I want to support: traditional cl...
March 26, 2010

## Instructional Design

As well as deciding on the format of the course, I have to re-shape its content. In contrast to e-learning, there seems to be a lot of solid material availab...
March 26, 2010

## Productively Lost

From Greg DeKoenigsburg: We are delighted to announce the release of version 0.8 of our textbook, "Practical Open Source Software Exploration: How to be Prod...
March 26, 2010

## Software Carpentry Version 4 is a Go!

I am very excited to announce that I am going to work full-time on revising the Software Carpentry course from May 2010 to May 2011. Please see the full ann...
March 25, 2010

## Summer Course: Analyzing Next-Generation Sequencing Data

Analyzing Next-Generation Sequencing Data May 31 — June 11th, 2010 Kellogg Biological Station, Michigan State University CSE 891 s431 / MMG 890 s433, 2...
March 25, 2010

## Summer Course on Analyzing Next-Generation Sequencing Data

Titus Brown and I are running a course May 31-June 11 in Michigan — for details, please see the course web site or my Software Carpentry post.
March 24, 2010

Today (March 24) is Ada Lovelace Day, and in her honor, we’ve been asked to blog about women in computing who have inspired us. My list is pretty long —curre...
March 24, 2010

## Did I Pass?

It’s that time again: students in my CSC302 software engineering class are doing peer assessments next week, and soon after that I’ll have to assign grades t...
March 22, 2010

## Robin Milner: 1934-2010

We are sorry to announce that Robin Milner died on Saturday 20th March, in Cambridge, just three days after the funeral of his wife, Lucy.
March 22, 2010

## GSoC 2010 Organizations Announced

The list of organizations taking part in this year’s Google Summer of Code has been announced. We’re holding an information session about the program 4-5 pm ...
March 18, 2010

## What Do You See?

One of my favorite software engineering research papers is Cherubini, Venolia, DeLine, and Ko’s “Let’s go to the whiteboard: how and why software developers ...
March 18, 2010

## Testing With Random Data

Guillaume Simard and François Fournier are writing Selenium tests for Basie (our Django-based replacement for Trac). Over on the Basie blog, they explain why...
March 18, 2010

## Wise Daughters and Winter’s End

It might feel like winter is over, but a lot of people still need your help. Over on Streetknit, there’s word of another knitup called Wise Daughters, which ...
March 18, 2010

## YUI 3 Gallery Contest

YUI 3 Gallery Contest 2010 Submit a YUI BSD-licensed gallery module by March 22, 2010 Entries will be judged on usefulness, uniqueness, code quality and d...
March 17, 2010

March 17, 2010

## You Never Want to Be on the Other Side of the Table From This Guy

James Bach, a testing guru, has written up some very detailed advice for lawyers who want to sue Toyota. I don’t know any software shop that could defend its...
March 17, 2010

Neat: the British Museum is appointing Liam Wyatt its “Wikipedian in residence”. I think this is a great example of an institution distinguishing between con...
March 17, 2010

## Natural Language Wins (Kind Of)

Jordi Cabot reports the results of a very unscientific competition to find the best modeling notation for requirements engineering: To make a long story shor...
March 17, 2010

## 80% Reducation In Carbon? No, In Media Coverage

Depressing report in the Montreal Gazette: A dramatic reduction in Canadian media coverage of climate change science issues is the result of the Harper gove...
March 15, 2010

Janice Cuny, Lawrence Snyder, and Jeannette Wing co-authored a paper for SIGCSE 2010 titled “Computational Thinking: A Definition”. I can’t find a copy that...
March 15, 2010

## Currently Juggling

I keep telling my students not to over-commit themselves. It’s a shame I don’t take my own advice :-). Here’s what I’ve currently got on the go:
March 15, 2010

## Master of Science in Applied Computing

I am pleased to announce that in September 2010, the Department of Computer Science at the University of Toronto is launching a new graduate program: a Maste...
March 15, 2010

## What’s Wrong With This Plan?

My grad student Mike Conley decided several months ago to look at code review for his master’s thesis. After exploring a few ideas (including badges and achi...
March 14, 2010

## Something That Won’t Be On The Final Exam

The final exam for my CSC302 software engineering course was due this week, and I thought I had come up with a good–and fair—question to put on it. Four out ...
March 13, 2010

## DemoCamp Toronto #26 is March 29

And there’s food!
March 13, 2010

## SIGCSE 2010 Wrap-Up

I wanted to go to SIGCSE (the computer science education conference) this year, but breaking my self-imposed no-fly rule once made me feel guilty enough. Lot...
March 13, 2010

## Bottom-Up, Top-Down, and Back to the Future

I just (finally) watched the demo video for Andrew Bragdon’s CodeBubbles. You’ve probably already seen it, but if you haven’t, check it out: it rocks. Like K...
March 13, 2010

## An Army of Interns

Here’s an interesting complement to both the GSoC model (students work full-time for 12 weeks on a project) and the UCOSP model (students work on a project a...
March 13, 2010

## The Past Is Still Here Too, and It Too Is Unevenly Distributed

If I want to request a book at the University of Toronto Library, all I have to do is log in to their web site, look up the book, and click “reserve”. Unles...
March 11, 2010

## Graphing Ass Pain in the Third Dimension

No, really, that’s what MyTTC.ca does to find transit routes from A to B.
March 11, 2010

## Choosing The Change We Want To Be

Brief article from The Economist about how some technological innovations help empower women, while others do harm. Not much depth, but worth reading. I wond...
March 11, 2010

## Stephen Walli on Book Publishing

Interesting post about the future of book publishing: it’s brighter than you think, but quite different from today. And yes, I remember Sam’s too…
March 11, 2010

## Is That All There Is?

I prefer Peggy Lee’s version of the song to Bette Midler’s; I wonder if Mark Guzdial thought of either when he wrote this post a couple of days ago: Surely, ...
March 11, 2010

## What Would You Do For Five Dollars?

From fiverr.com’s front page:
March 11, 2010

## Don’t Ask, Don’t Tell — Really

Good post from Stuart Shieber from last summer: A strange social contract has arisen in the scholarly publishing field, a kind of "don't ask, don't tell" app...
March 11, 2010

March 11, 2010

## How Much Of This Should Scientists Understand?

Let's start with the problem description: All of the Software Carpentry course material (including lecture notes, code samples, data files, and images) is st...
March 11, 2010

## Code Review Walkthrough

Mike Conley and I had lunch yesterday with SmartBear’s Gregg Sporar to talk about code review. (We ate at E Pan on Spadina Avenue, which isn’t particularly r...
March 11, 2010

## Thacker FTW!

Charles Thacker has won the 2009 Turing Award for his work on the Alto, the first modern personal computer. Congratulations!
March 09, 2010

Ever since I started teaching at U of T, I’ve tried to help students I know find interesting jobs with local companies. I enjoy doing it, but there’s a downs...
March 08, 2010

## This Is How I Want My Daughter To Think

Ned Gulley’s latest post, “What We Mean When We Say Magic”, starts with this quote: "The larger the island of knowledge, the longer the shoreline of wonder."...
March 04, 2010

## The Tool I Want

I want to make the next version of the Software Carpentry material more dynamic. I’m planning to use screencasts to show people how to use a debugger and oth...
March 04, 2010

## More on Computational Thinking

Over at the ACM blogs, Judy Robertson just asked, “How do you assess computational thinking?” She’s more polite than I have been: she says, “It seems we’re s...
March 03, 2010

## Canpages Contest

Canpages has launched an API contest today that gives students a chance to show what they can do with 1.3 million Canadian business listings, photos, videos,...
March 03, 2010

## What We’ve Learned

My talk at PyCon 2010 was titled “What We’ve Learned From Building Basie (and lots of other software using student labor over the course of eight years)”. T...
March 02, 2010

## Universe of Stone

After my PyCon lightning talk about software architecture, I got a couple of inquiries along the lines of, “So what kind of description are you actually look...
March 01, 2010

## Winter!

February 28, 2010

## Women in Startups

Sarah Tavel has a good data-backed post about the general dearth of women in startups, and how the gender balance in a startup changes if the CEO is female. ...
February 28, 2010

## Humanitarian Free & Open Source Symposium

The second annual HFOSS is taking place March 10 in Milwaukee (along with SIGCSE 2010). F&OS communities helped save a lot of lives after the Haiti disas...
February 28, 2010

## Panton Principles

Via Cameron Neylon: the Panton Principles are guidelines for open data in science. In full: Science is based on building on, reusing and openly criticising t...
February 28, 2010

## Summer of Code 2010

Google Summer of Code 2010 is now up and running. Mentoring organizations can apply March 8-12, and students can apply March 29-April 9 (but should start wor...
February 24, 2010

## How Do Canadian Universities Stack Up?

February 24, 2010

## Times Nine in a Year

A talk I’d really like to see: Moving the Needle: How the San Francisco Ruby Community got to 18%
February 24, 2010

## I Will Buy You Dinner…

…if you will translate the examples from Freeman and Pryce’s excellent book Growing Object-Oriented Software Guided by Tests from Java into Python. There are...
February 24, 2010

## Kafka and American Airlines

We were an hour and a half late getting into Toronto on Sunday after PyCon: the de-icers on the first plane out of Chicago weren’t working, so they had to pu...
February 24, 2010

## Twitter Makes Rhinos Of Us All

In Last Chance to See (the best book he ever wrote), Douglas Adams wondered what the world "looks" like to rhinos. Their nasal membranes are larger than thei...
February 24, 2010

## BEACON Funded!

Congratulations to Titus Brown and others on the NSF's announcement that it will fund the BEACON (Bio/computational Evolution in Action Consortium) Science a...
February 22, 2010

## PyCon 2010

It’s a sunny Sunday morning in Atlanta, and I’m on my way home. I came down Thursday to: Raise money for Software Carpentry. Get people excited about Basi...
February 21, 2010

## At PyCon

I’m at PyCon today — well, actually, Georgia Tech in the morning, then PyCon again at 2:00 or so. Look forward to meeting everyone!
February 19, 2010

## Rory Tulk on Software Testing

Rory Tulk finished his M.Sc. with me a couple of weeks ago, and has posted a summary of his thesis on his blog. It was a solid piece of research; I’m pleased...
February 17, 2010

## Basie 0.6 Has Been Released

We are pleased to announce the release of Version 0.6 of Basie, a lightweight software project portal built on Django and jQuery. Basie is designed to replac...
February 16, 2010

## So What Should I Say At PyCon?

I’m speaking at PyCon on Saturday. The blurb I sent in says: What We've Learned From Building Basie
February 15, 2010

## Two Views

Darrell Ince (who, as far as I know, hasn't worked directly with climate scientists or their software) wrote about ClimateGate for The Guardian. In response,...
February 12, 2010

## Not All Review Is Broken

Cameron Neylon’s recent post about peer review is pretty damning. It’s interesting to compare his description of peer review’s faults with what peer review i...
February 09, 2010

## Scimatic and GridCentric Have News

Jamie and Jim at Scimatic have released Samples, a tool for managing experimental results, and have blogged about what it’s good for. Meanwhile, the GridCent...
February 09, 2010

## TestDrive

Mike Conley has built a little script to… “fetch a review request [from ReviewBoard], grab the latest diff (yes, found an easy way past the lack of API there...
February 09, 2010

## Signs of the Times

My daughter has a floor-mat jigsaw puzzle of the Solar System. It only has eight planets—no Pluto. I feel… dated.
February 09, 2010

## Page Variations

Dear Lazyweb,
February 08, 2010

## A More Accurate Name

February 07, 2010

## I Apologize For Standing You Up…

If I’m supposed to meet you today, but don’t show up, I apologize: Google Calendar is “temporarily unavailable”. There was no warning that I saw; disturbing ...
February 05, 2010

## Dumber Is Productiver

I do almost all of my work now in a command-line shell, including reading email and composing text of all kinds. And I mean it when I say “a” shell—I almost ...
February 03, 2010

## This Morning’s Conversation With My Cable Service Provider

My side of the conversation this morning went like this. (I would have recorded it “for quality assurance purposes”, but where would I send the recording?) ...
February 03, 2010

## GSoC 2010

Google Summer of Code 2010 is on for 2010! They will begin accepting applications from would-be mentoring organizations on March 8th, with applications closi...
February 03, 2010

## Pre-Commit Continuous Integration

Mike Conley (one of my grad students) is converging on a thesis topic: pre-commit continuous integration. If you have thoughts, he’d enjoy hearing them.
February 02, 2010

## Engineering Thinking

I’m a big fan of David Mackay’s Sustainable Energy—Without the Hot Air, not least because it’s a command performance by a master of back-of-the-envelope calc...
February 02, 2010

## Before We Get Too Excited About Online Education…

Amid all the excitement about moving education online, we shouldn’t forget that so far, doing so seems to hurt those who need help the most. As Mark Guzdial ...
February 02, 2010

## Upcoming Talks

I’m speaking at Guelph University on Monday, February 8, and at McMaster University on Wednesday, February 10. Both talks will be based on my DevDays/CUSEC t...
February 02, 2010

## Half Measures

Lots of people were chatting last week about Sikuli, the “programming with screenshots” project from MIT. Even if I didn’t agree with Adam Goucher’s comments...
February 01, 2010

## VeloCity Entrepreneur Bootcamp

The University of Waterloo’s VeloCity program is launching a new program for this spring term (May-July 2010) that will give three great teams of postseconda...
February 01, 2010

## Two Steps Up, One Step Back

This term’s UCOSP projects all seem to be going well so far: most teams are writing and committing code, and several teams have adopted code review as a stan...
February 01, 2010

## I Don’t Care Until I Can Check

Over in the Agile Usability group, Larry Constantine writes: ...Capers Jones has been sharing with me some hard data summaries on a variety of development me...
January 31, 2010

## Cameron Neylon Says Nice Things

Cameron Neylon has some nice things to say about the Software Carpentry course; here’s hoping at least one of his readers likes it enough to help fund the ne...
January 29, 2010

Andrew Wakefield, the British doctor who started the whole “vaccines cause autism” scare, is finally being held accountable for his dishonest and deliberatel...
January 28, 2010

## A Student-Run DemoCamp at U of T

Via Reginald Tan and others, news of a student-oriented DemoCamp event at the University of Toronto. Hope to see lots of students demoing; hope to see lots o...
January 25, 2010

## CUSEC 2010

If it’s Monday, I must be catching up… I spoke at CUSEC 2010 last week to about 250 students and others about evidence-based software engineering. The talk i...
January 25, 2010

## Brazilian Government’s Experience with Open Source

The opening isn’t promising—“more than 60 countries and international organizations have developed nearly 275 policy documents related with the use of Open S...
January 24, 2010

## It Seems That Everyone Cares

Ars Technica isn't primarily a science site, but even they are now worried about reproducibility in computational science. I think it no longer matters how ...
January 24, 2010

## CUSEC

My talk at CUSEC starts in 15 minutes; to calm my nerves, I’m catching up on my blog :-). Here are where students are from: Carleton 30 Concordia 66 &...
January 22, 2010

## More on Mining

Several people have recently linked to Diederik van Liere’s talk “Learning from 10 yrs of Bugzilla data”. If you’re interested in that kind of thing, there’s...
January 21, 2010

## Two More Thumbs Up

I blogged last week about Sahoo et al’s paper on automated bug diagnosis and Gutiart et al’s survey of performance management techniques for web apps. This w...
January 20, 2010

## We Can Only Interview the Survivors

Harvard Business Review reports work done by Prof. Rebecca Henderson at MIT showing that most successful companies are actually just lucky. Keep it in mind t...
January 20, 2010

## Someone Leaves School, Someone Comes to School

Three of my grad students—Aran Donohue, Jason Montojo, and Rory Tulk—are wrapping up their MSc’s this month. Coincidentally (OK, not really, the academic cal...
January 20, 2010

## Punctuate! Punctuate! Punctuate!

I’m reading yet another proposal for a specialized markup language (this one for scientific results, so that they can be shared and searched semantically), a...
January 20, 2010

## Big Science == Big Skills Gap

Over on Nature News, Eric Hand's article "'Big science' spurs collaborative trend" is subtitled, "Complicated projects mean that science is becoming more glo...
January 20, 2010