Greg Wilson

The Third Bit

If you cannot be brave - and it is often hard to be brave - be kind.

— Sarah Kendzior

Jun 19, 2017 Ten Simple Rules for Being a Good Research Partner
I've been the academic partner in several joint research projects with industry, and the industry partner in about the same number of joint projects with universities. My advice for people doing that is below; I'd be grateful for comments about what yours would be. If you're in academia: Be open. Remember that companies work in weeks, not seasons. Value action over insight. Don't hesitate to sacrifice detail for clarity. Apologize in advance for the state of academic publishing. If you're in industry: Remember that academic success is measured in publications, not sales. Remember that universities work in seasons, not weeks....
Jun 12, 2017 Say Their Names
Edward Sotomayor Jr.    Stanley Almodovar III    Luis Omar Ocasio-Capo Juan Ramon GuerroroEric Ivan Ortiz-RiveraPeter O. Gonzalez-Cruz Luis S. VielmaKimberly MorrisEddie Jamoldroy Justice Darryl Roman Burt IIDeonka Deidra DraytonAlejandro Barrios Martinez Anthony Luis Laureano DislaJean Carlos Mendez PerezFranky Jimmy Dejesus Velazquez Amanda AlvearMartin Benitez TorresLuis Daniel Wilson-Leon Mercedez Marisol FloresXavier Emmanuel Serrano RosadoGilberto Ramon Silva Menendez Simon Adrian Carrillo FernandezOscar A Aracena-MonteroEnrique L. Rios Jr. Miguel Angel HonoratoJavier Jorge-ReyesJoel Rayon Paniagua Jason Benjamin JosaphatCory James ConnellJuan P. Rivera Velazquez Luis Daniel CondeShane Evan TomlinsonJuan Chevez-Martinez Jerald Arthur WrightLeroy Valentin FernandezTevin Eugene Crosby Jonathan Antonio Camuy VegaJean C. Nives RodriguezRodolfo Ayala-Ayala Brenda Lee Marquez...
May 31, 2017 How to Teach Programming (And Other Things)
Over the past few months, I’ve been running a one-day introduction to teaching based on the Carpentries’ instructor training course for grassroots get-into-coding organizations in Toronto focused on a variety of under-represented groups. Some of the people involved have asked for a printed copy of the material, so I have cut down the training materials as they were in January to make a short booklet. It is now available at cost from: (Or rather as close to “at cost” as Lulu will allow–it insists that I make a profit of $0.02 per copy, which I will use to buy...
May 22, 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 Toronto that they would all be writing JavaScript in ten years’ time. My argument was that since it was the only choice for front-end web programming, it was the one language everyone had to learn, and was therefore going to be the safest bet for back-end projects as well. I spent the next fifteen years cracking jokes about JavaScript’s many failings as a language. Since changing jobs a few months ago, though,...
Apr 30, 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 have those–but rather a deep dive into wikis’ construction. TiddlyWiki, the Smallest Federated Wiki, and many other systems take fundamentally approaches to lighweight collaborative editing; surely, I thought, someone would have written a compare-and-contrast of their data schemas, how they store information, how they handle multi-author synchronization and conflicts, and so on. But as far as I can determine, no such write-up exists. Back in the 1980s, Software: Practice & Experience might have had...
Feb 25, 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 Jekyll core, not an extension or plugin. Long version: Jekyll is a Ruby tool that creates static websites from HTML or Markdown source. A collection is a group of files that belong together, such as the individual tutorials making up a lesson. Jekyll orders the elements of collections alphabetically, so if someone wants to enforce a particular order, they have to use a naming scheme like,, and so on. As a result, when...
Feb 18, 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 in Toronto on February 27.
Feb  6, 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. In the original Turing Test, a person sits at a desk facing two terminals. One is connected to a computer, the other to a human being, but the person conducting the test doesn’t know which is which. If she cannot reliably distinguish the two after a few minutes of conversation, the computer program is, for all practical purposes, intelligent. Here’s the update I propose. One subject is intelligent and has a good poker face, but...
Feb  1, 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 Academy (who have been training socially-progressive groups since the 1970s)? And Toronto-area companies: would you be willing to pay $600/head to send one of your staff and sponsor someone who would otherwise not be able to afford to attend? Please let me know.
Jan 25, 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 census, threw out entire libraries’ worth of scientific data, and did everything else it could to make informed debate about key policy issues impossible. It’s an effective tactic—if the facts are on your opponent’s side, get rid of them, so that the debate becomes your word against theirs—but the long-term damage to both science and the country is immense. Earlier this week, the Trump Administration started its own war on science by banning staff at the Enviromental...
Jan  8, 2017 Pennies for Understanding
Millions for compilers but hardly a penny for understanding human programming language use. Now, programming languages are obviously symmetrical, the computer on one side, the programmer on the other. In an appropriate science of computer languages, one would expect that half the effort would be on the computer side, understanding how to translate the languages into executable form, and half on the human side, understanding how to design languages that are easy or productive to use.... The human and computer parts of programming languages have developed in radical asymmetry. — Newell and Card, "The Prospects for Psychological Science in Human-Computer...
Jan  6, 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, "We are interested in fostering a cohort of data science researchers that will hopefully persist well beyond the bounds of the meeting." I expect it will be fun and fruitful for those taking part, but take a look at where attendees are coming from: University of California, Berkeley 10 New York University 8 University of Washington 7 University of Florida 3 University of Chicago 3 University of Pennsylvania 2 University of Illinois, Urbana-Champaign 2 University of California,...
Jan  1, 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.
Dec 24, 2016 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 we moved in mid-October and are just wrapping up a wonderful Christmas with family and friends. My mum moved out of the house I grew up in April, 48 years after moving in, and we gave away the last of my dad's books. I resigned from my position as Director of Instructor Training for Software Carpentry. I start my new position with Shopify in February 2017. I did this in part because Software Carpentry's...
Dec 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 that will let me spend more time with my family, and after a great deal of thought, I've decided to pursue it. At the end of January 2017, I will be taking a position as a Computer Science Education Lead at Shopify, where I will help with their CS education partnerships. I'm excited to have a chance to work for change locally, but also look forward to continuing to be involved in Software...
Dec  6, 2016 Remembrance
Twenty-seven years on, most Canadians instantly recognize the name of their murderer. I'd rather remember theirs: Geneviève Bergeron Hélène Colgan Nathalie Croteau Barbara Daigneault Anne-Marie Edward Maud Haviernick Maryse Laganière Maryse Leclair Anne-Marie Lemay Sonia Pelletier Michèle Richard Annie St-Arneault Annie Turcotte Barbara Klucznik-Widajewicz Qu'elles reposent en paix.
Dec  5, 2016 Normal
"Normal humans don't work like programmers expect them to because programmers haven't built tools that would let them." — Mike Hoye
Nov 13, 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 who want to know more about how our political, legal, and economic systems actually work. Having produced half a dozen crowd-sourced books on open source software and software engineering over the last ten years (see here, here, and here), our goal now is to create something like Physics for Future Presidents, but instead of (for example) explaining nuclear power to someone who might one day run the country, we want to explain things like voter...
Nov  9, 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.
Oct 30, 2016 Rules for Teaching
Be kind: all else is details. Never teach alone. No lesson survives first contact with learners. Nobody will be more excited about the lesson than you are. Every lesson is too short from the teacher's point of view and too long from the learner's. Never hesitate to sacrifice truth for clarify. Every mistake is a lesson. "I learned this a long time ago" is not the same as "this is easy". Ninety percent of magic consists of knowing one extra thing. You can't help everyone, but you can always help someone.
comments powered by Disqus