Greg Wilson

http://twitter.com/gvwilson

Toronto, Ontario

Helping scientists build better software since 1997

Areas of Expertise:

  • education
  • computational science
  • software engineering
  • speaking
  • training
Greg Wilson has worked on high-performance scientific computing, data visualization, and computer security, and is currently project lead at Software Carpentry. Greg has a Ph.D. in Computer Science from the University of Edinburgh, and has written and edited several technical and children's books, including the Jolt Award winner Beautiful Code (O'Reilly, 2007).

Making Software Making Software
by Andy Oram , Greg Wilson
October 2010
Print: $44.99
Ebook: $35.99

Practical Programming Practical Programming (Pragmatic Bookshelf)
by Jennifer Campbell , Paul Gries , Jason Montojo , Greg Wilson
May 2009
Print: $32.95

Beautiful Code Beautiful Code
by Andy Oram , Greg Wilson
June 2007
Print: $44.99
Ebook: $35.99

Data Crunching Data Crunching (Pragmatic Bookshelf)
by Greg Wilson
April 2005
Print: $29.95

Greg blogs at:
http://software-carpentry.org
http://third-bit.com

No CT Without PL

May 24 2012

In a blog post earlier today, Mark Guzdial argues that computational thinking requires learning with a programming language. Unlike many such claims and counter-claims, his is based on a wealth of research, most recently an excellent dissertation by Juha Sorva. I strongly agree with Mark’s position: our real goal in… read more

Everything You Need to Know About Standardized Testing

May 24 2012

If poor inner-city children consistently outscored children from wealthy suburban homes on standardized tests, is anyone naive enough to believe that we would still insist on using these tests as indicators of success? — Kenneth Wesson, in Littky and Grabelle’s The Big Picture read more

Feedback from the University of British Columbia

May 24 2012

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 data management sticky notes workflow overview/coverage resources coffee/snacks exercises how to use programming correctly learning terminal testing learning science Python helpers one step further version… read more

Alone and Misunderstood

May 23 2012

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 said, “A recent study by Scholastic and the Gates Foundation found that teachers spend only about 3 percent of their teaching day collaborating with colleagues. The… read more

Responsible Conduct

May 23 2012

Titus Brown, Ethan White, and I have been talking about what Responsible Conduct of Research (RCR) standards would look like in computational science. Titus has posted a four-point summary; we would welcome your input over on his blog. read more

Citing Versions

May 22 2012

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 version controlled?” Cameron Neylon’s answer, slightly edited, was: My approach in an idea world would be to have all of my data… read more

Being More Systematic About Publicity

May 21 2012

Several people have suggested that we need to be more systematic about publicizing workshops and other events: blogging and tweeting reaches people who already know about us, but doesn’t reach those who don’t. If you know of mailing lists and/or news aggregators aimed at researchers who might be interested in… read more

An Exercise With Matplotlib and Numpy

May 21 2012

[Code and Data] For this tutorial, we’ll be plotting some weather data from a site call Weather Underground. You can download temperature readings and weather events for your local area in a comma-separated file. I’ve put weather data for Bloomington, IN in a file called weather.csv. Each row is one… read more

What’s Wrong With All This?

May 20 2012

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 accept that we have outgrown WordPress. The question is, what should we use instead? We need a lot… read more

Space at Upcoming Events

May 19 2012

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 June 28-29 9/25 Boston July 9-10 23/40 University of Waterloo July 12-13 1/40 Halifax July 16-17 8/40 University of Toronto (Scarborough) July 19-20 14/40 If you’d like to… read more

The Most Important Scientific Result Published in the Last Year

May 18 2012

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 Statistical Results“. PLoS ONE, 6(11): e26828, 2011, doi:10.1371/journal.pone.0026828. Background The widespread reluctance to share published research data is often hypothesized to be due to… read more

Feedback from Alberta

May 18 2012

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 people were waitlisted), but those who did come seemed to get a lot out of it: Good Bad Room Mix of… read more

Halifax in July

May 17 2012

We have just added another workshop to the summer’s list, this one at Saint Mary’s University in Halifax, Nova Scotia, on July 16-17. Please let friends and colleagues know—I look forward to meeting them. read more

And One More: Johns Hopkins in June

May 16 2012

We’re pleased to announce that we will be running a two-day boot camp at Johns Hopkins University in Baltimore on June 18-19, 2012. We only have space for 20 participants, so please register early. read more

Feedback from Newcastle upon Tyne

May 15 2012

This week’s Newcastle bootcamp, organised by the Digital Institute at Newcastle University with the Software Sustainability Institute and SoundSoftware, was the first Software Carpentry boot camp run entirely locally in the UK. For the organisers it was a slightly nervous experience, hoping we could get the material to hold together… read more

Fooling the Internet

May 15 2012

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 students fake history online, and how their most recent effort unraveled. There’s lots to think about here regarding what scientists should know about using… read more

Two Boot Camps in Ontario in July

May 15 2012

We are pleased to announce that we will be running two boot camps in Ontario in July: one at the University of Waterloo on July 12-13, and another at the University of Toronto (Scarborough) on July 19-20. If you’d like to take part, please sign up, and please let friends… read more

Solution to Indented List Problem

May 14 2012

Last week’s homework was to convert a two-level bullet-point list like this: * A * B * 1 * 2 * C * 3 into an HTML list like this: <ul> <li>A</li> <li>B <ul> <li>1</li> <li>2</li> </ul> </li> <li>C <ul> <li>3</li> </ul> </li> </ul> so it would display like this:… read more

Why We Built It

May 14 2012

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 books about software architecture on Amazon. Here’s part of the blurb of one that appeared last year: Specifically, the book shows you… read more

Feedback from Michigan State

May 12 2012

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’t tried before.  Feedback was generally positive, but we’ve got lots to work on for next time as well. Good Bad Using history Ending… read more

Teach Teachers What They Use, Teach Kids Where They Are

May 11 2012

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 kids how to program to teaching them how to use Excel to teaching them how to use iPads.  (My five-year-old didn’t need to be taught…) … read more

Run My Code

May 11 2012

RunMyCode is a web site and service intended to support reproducible research (initially in computational economics). Authors create companion web sites for papers that include the software they used; other people can then re-run their models, and (crucially) play with parameters, using cloud-based instances of those environments. They only support… read more

Fish and Bugs

May 10 2012

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 methodological upgrade at NOAA—and the subsequent discovery of a few lines of faulty computer code—forced the start of a profound shift in the ASMFC’s… read more

Boot Camp in Boston, July 9-10

May 09 2012

We are pleased to announce that we will be running a boot camp on July 9 and 10 in Boston—please see its page for details (some of which we’re still working out). We have room for 40 participants, so please register early. (And if you can, register with friends: we… read more

The Architecture of Open Source Applications: Volume 2

May 08 2012

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 next few days, and e-book will become available as soon as we can produce it.  Many thanks to everyone who contributed,… read more

Architecture of Open Source Applications: Volume 2

May 08 2012

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 next few days, and e-book will become available as soon as we can produce it.  Many thanks to everyone who contributed,… read more

An Exercise With Functions and Plotting

May 06 2012

[Code and Data] Let’s say you have a text file called workout.csv that contains information about your workouts for the month of March: # date, kind of workout, distance (miles), time (min) "2012, Mar-01", run, 2, 25 "2012, Mar-03", bike, 10, 55 "2012, Mar-06", bike, 5, 20 "2012, Mar-09", run,… read more

UCL Bootcamp: Version Control Wrap-Up

May 04 2012

For the boot camp at UCL, we tried using Mercurial (with EasyMercurial) instead of Subversion in the version control segment. You can see the plan for the segment on this EasyMercurial project page. Briefly, we opened with a few plain slides about the purpose of version control, followed by a… read more

The Good and the Bad of it

May 02 2012

We’ve come to the end of a hot, slightly sweaty, two days of learning in UCL and have just done a straw poll of participants of the good and bad points of this bootcamp. Something that was trialled at UCL was asking participants to sign up in small (3-4 people)… read more

Better across the pond?

April 30 2012

I’m sitting in a packed room helping out at the UCL bootcamp, the first of a series to be run in the United Kingdom (Newcastle is next, and there are plans to run additional workshops in Oxford, RAL, Glasgow, Edinburgh and Bristol). I’m thinking about two things: why would you… read more

Stop Me If You’ve Heard This One

April 28 2012

I used to tell this joke: An engineer says, “Theory approximates reality.” A mathematician says, “Reality approximates theory.” A sociologist says, “Would you like fries with that?” I stopped telling it after someone who actually was a sociologist pointed out just how much it revealed about my value system. By… read more

Solution to Sets and Dictionaries Exercise

April 26 2012

Last week, I posted an exercise on working with sets and dictionaries that also included a fair bit of file I/O and string manipulation. My solution is below, in four parts, along with the code produced in each. If someone would like to re-do the file parsing using regular expressions,… read more

Slide Drive

April 25 2012

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 follow Jeremy’s progress on his blog. read more

An Exercise With Sets and Dictionaries

April 20 2012

You are working for a nanotechnology company that prides itself on manufacturing some of the finest molecules in the world. Your job is to rewrite parts of their ordering system, which keeps track of what molecules they can actually make. Before trying this exercise, please review: Introduction Storage (the short… read more

Lives Lived

April 11 2012

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… read more

…Which Is Wrong

April 09 2012

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 convince us that America’s education problem has a simple cause and a simple solution: America’s schools are being crushed under decades of legislative and… read more

Greener Grass

April 06 2012

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 sameness to their style that’s starting to weary me: they all feel as if they were written on a drizzly Sunday afternoon by someone who… read more

Seventy Years After

April 03 2012

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 these sentences: “One of the most horrible features of war is that all the war-propaganda, all the screaming and lies and hatred,… read more

Maybe That’s Why

April 03 2012

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 about doing it in 12 months than I’ve been in 14 years. I’m therefore reluctant to disagree with her publicly, but her most… read more

Congratulations to Max and Marcus

April 03 2012

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 weekend. The project was titled “Headshots: Detecting Concussions with Accelerometers”; in it, they hooked an off-the-shelf accelerometer up to a hockey helmet, put… read more

Two Questions After the Audrey Test

March 22 2012

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, that’s how our brains work, right? Neurons and connections and firing potentials—those are the building blocks of human intelligence, so… read more

Informed Choice and the Audrey Test

March 18 2012

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 her response; if I were grading it, I’d say, “Exceeds expectations,” because what she has done is explain why a… read more

What I Learned From My P2PU Course

March 16 2012

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, but overall I was disappointed with how things went: less than a quarter of those who signed up back in January were still… read more