Greg Wilson

The Third Bit

Nihil pro nobis sine nobis.

Jul 17, 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: Think Like a Commoner is a brief introduction to the notion of a commons: something managed jointly by a community according to rules they themselves have evolved and adopted. As Bollier repeatedly emphasizes, all three parts of that equation are essential: a commons isn't just a thing, like a shared pasture, but is necessarily also comprised of a community who share it and the rules they use to do so. Building Powerful Community Organizations is longer and...
Jul 12, 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, developers walk readers through small but realistic implementations of databases, web servers, game engines, and many other kinds of applications. I think it's wonderful—congratulations to Amy, Mike, and all the contributors.
Jun 21, 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 pains? made me realize something about open science. He writes: [Science]'s present problems can be explained partly by the transformation from the 'little science' of the past to the 'big science' or 'industrialised science' of the present... There are two familiar qualitative aspects of the steady quantitative growth of the scientific enterprise. The first is the loss of 'Gemeinschaft', where all communities...have become so large that personal acquaintance no longer dominates in the professional relationships. The old informal systems...
Jun 10, 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 people do. There's a similar superbug in education: the belief that if someone knows how to do something, they also know how to how to teach it. It's really hard to convince people that it just ain't so. Pointing them at evidence doesn't work; if anyone can suggest strategies that do, I'd be grateful.
Jun  4, 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 behind some moldy water-damaged drywall. And sometimes it's like one of those conversations where time just goes away as you and the other person finish each other's thoughts and get a glimpse, just a glimpse, of what it would be like to see the world from space. But sometimes it's like knitting. Sometimes when I'm programming I feel the way I imagine my mother felt, sitting on the couch in the evening as she turned yarn into...
May 19, 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. — Frederic Morton George Orwell said something similar in his landmark essay on Dickens. Poverty, filth, hopelessness: Dickens raged against them all, but in every one of his books, the plucky hero is saved by a bequest from a long-lost uncle or some other deus ex machine. Dickens could see that his world was broken; what he wouldn't allow himself to see was that the problem was structural, and that the only way to fix it for...
May 10, 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, a poorly-phrased but probably sincere question provoked a harsher-than-necessary response, which in turn provoked foul language, which in turn—but you can probably guess what happened next. In the other, a poor choice of words by someone whose intentions were clearly good provoked an unforgiving backlash, which in turn resulted in the speaker quitting the community. I believe everyone involved was acting sincerely (i.e., not trolling). What separates the two cases in my mind is the...
Apr 29, 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. For the last three years, I've been asking people why teachers don't collaborate at scale on lesson development in the way that programmers collaborate on open source software and pretty much everybody collaborates on Wikipedia. I put this question to a room full of people who know more about education than I do back in January, and got some new answers. I've summarized them below, along with my rejoinders. The most important thing about a lesson isn't having it:...
Apr  9, 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. I've been reminded of this recently when hearing people say things like, "It doesn't matter what language you choose: just pick one and master it," or, "It doesn't matter what you build when you're first learning to program: just dive in and build something." Each time, I remember being at my first high school dance: "Just get out there and bop around" might have sounded like sensible advice to my exasperated friends, but they were...
Apr  8, 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 begetting meta, to thinking about how to represent the curriculum for such a course to the people who might teach it and take it. What I've come up with is a four-part division into: the big questions learners ask; our answers to those questions; the lessons that teach people how to implement those answers; and the topics within those lessons. My current rough draft of the above lives in this CSV file (taken from this GitHub...
Apr  1, 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-capital-Q and all the other big ideas I had just met. It must have been pretty tedious—looking back, I'm kind of surprised I made it to 20 without someone strangling me. I've had other epiphanies since then, from Lisp and Orwell's essays to design patterns and Rawls' Theory of Justice. Each time I fell in love with some new discovery, what I wanted most was people to talk to about it. And each time,...
Mar 31, 2016 Throttling
Every technology that solves problems creates new ones, most of which can't be solved by purely technological means. Online discussions (including Twitter, mailing lists, and comment threads on blogs) are a prime example. As Megan O'Donnell points out in these posts on the Scholarly Communication list [1]: ...a few voices...are so loud and frequent that this mailing list feels like a soapbox far more often than a discussion forum. ... Consider the following: I’m a new librarian about to hit my 3rd work-anniversary. I've written one research paper so far. I am in the stage of my career where I...
Mar 21, 2016 Registers
Linguists recognize that speech occurs in different modes or registers, which serve different purposes: Intimate: used with very close friends, family members, and romantic partners, it relies on a significant amount of shared history. Casual: used with people one meets frequently in unstressful contexts. Word choice is general or colloquial, and it also relies on shared history. Consultative: a more formal way of speaking commonly used in teaching or when talking with authority figures. Formal: more often written than spoken, it is more strictly grammatical, and is used in public speeches, business presentations, and so on. Ritualized: including wedding vows,...
Mar 19, 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 start doing installation-driven development. Not test-driven, not feature-driven: installation-driven. Best possible use of AI: a program that simulates a naive user trying to install your software. "Reads" docs, follows steps... ...gets lost, makes mistakes... we could feed traces from actual install attempts into a Markov chain generator, then couple it to... ...Travis-CI or something like that so that "user can install" becomes part of the pre-commit check and the world's a better place But I'm serious....
Mar 13, 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 usability as it does about memory management or concurrency. In my better world, language designers worry about package management as much as they do about type systems. Or maybe more—no, definitely more. In my better world, scientists don't create new file formats every time they sneeze. In my better world, people have implemented mailing list throttling to limit the number of messages one person can send per day so that quieter and more thoughtful people have a chance...
Feb 25, 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 budget for scientific research in a special fund, and have high school students vote on how to allocate it. It would give scientists a powerful reason to communicate more clearly about their research, give young people a way to direct research toward things that are going to affect them, and would probably be no worse than the existing system. So, what's wrong with this idea? "Science that's boring but essential won't get funded"...
Feb 24, 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. I hope they find a good home...
Dec 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 entire analysis from bash script. Titus Brown: I want/we need dependency management in scientific computing workflows & pipelines. bash doesn't provide. Lorin Hochstein: I am always saddened at the poor state of scientific workflow tools. Isn't that why we invented computers? Konrad Hinsen: We use completely inadequate tools and notations for computational science. Titus Brown: nothing personal, but I'm wary of you & Greg Wilson when you make comments like this. Titus Brown: you're not wrong,...
Dec 19, 2015 Why I Teach (Revisited)
When I first started volunteering at the University of Toronto, students occasionally asked me why. This was my answer: When I was your age, I thought universities existed to teach people how to learn. Later, in grad school, I thought universities were about doing research and creating new knowledge. Now that I'm in my forties, though, I've realized that what we're really teaching you is how to take over the world, because you're going to have to one day whether you like it or not. My parents are in their seventies. They don't run the world any more; it's people...
Dec 11, 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.
...more
comments powered by Disqus