Observations on Hacktoberfest 2018

This term I'm teaching two sections of our Topics in Open Source Development course. The course aims to take upper-semester CS students into open source projects, and get them working on real-world software. My usual approach is to put the entire class on the same large open source project. I…

Building Large Code on Travis CI

This week I was doing an experiment to see if I could automate a build step in a project I'm working on, which requires binary resources to be included in a web app. I'm building a custom Linux kernel and bundling it with a root filesystem in order to embed…

Experiments with "Good First Experience"

Since writing my post about good-first-bug vs. good-first-experience I've been experimenting with different approaches to creating useful walkthroughs. I think I've settled on a method that works well, and wanted to write about it, so as to encourage others to do the same. First, a refresher on what I mean…

On standards work

This week I'm looking at standards with my open source class. I find that students often don't know about standards and specs, how to read them, how they get created, or how to give feedback and participate. The process is largely invisible. The timing of this topic corresponds to a…

A Parenting Update

I've been re-reading and editing my old blog posts in the hopes of turning them into printed form. I'll write about the process of turning Markdown into a paper book another time, but today I'm looking at this old post I wrote 12 years ago, and specifically: The (lesson) I'm…

What Happens when you Contribute, revisited

I sat down to write a post about my students' experiences this term contributing to open source, and apparently I've written this before (and almost exactly a year ago to the day!) The thing about teaching is that it's cyclic, so you'll have to forgive me as I give a…

Edge Cases

Yesterday I was looking at a bug with some students. It related to a problem in a file search feature: a user found that having a folder-name surrounded with braces (e.g., {name}) meant that no search results were ever reported within the folder. "This isn't a bug,"…

GitHub Knows

I was reflecting the other day how useful it would be if GitHub, in addition to the lists it has now like Trending and Explore, could also provide me a better view into which projects a) need help; and more, b) can accept that help when it arrives. Lots of…

Reading Other People's Books

For the holidays this Christmas, our family rented a house near Lunenburg, Nova Scotia. We've had a wonderful time exploring the southern shore of Nova Scotia, eating its food, exploring its beaches (yes, even in winter), and snaking our way along its undulating shorelines. We did all of our Christmas…