Years ago, I lost my temper while arguing with my brother, and said, "Jeff, I could teach you everything I know and you'd still be an idiot." Please keep that in mind as you read this site.

Recent posts

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