Git does what you tell it

I've spent hours this week helping students fix problems with their git repos. I've now seen the same types of things happen frequently enough, that I thought I'd offer some advice on how to avoid falling down a git-sized hole. Git does exactly what you tell it to do, regardless…

What Happens when you Contribute

I'm doing some marking today, and one of the labs I gave my students was to contribute a pull request to a node.js module project on GitHub. None of the students knew node.js or had used GitHub before, so I wrote extensively about it here, with detailed instructions…

git, with abandon

I really enjoyed reading The Biggest and Weirdest Commits in Linux Kernel Git History this week. If you haven't read it yet, it describes some of the edge case merges in the Linux Kernel, including one octopus merge that has 66 parent commits. the kernel developers are expert git users…

Fixing a Bug in Mozilla Thimble

I wrote previously about the steps necessary to make a contribution to an open source project via a Pull Request to Github. In that post I outlined the steps necessary to find and add/fix fields in package.json files for node.js modules. In this post I'm going to…

Your First Github PR - A Guided Tour

This week in my open source course, I'm starting to teach the students how to use git and Github. I love taking the time to teach it well, because it opens so many doors for students to participate in open source projects, to effectively manage their own software projects, and…

The limits of Automatic Tag Extraction

I'm working on rewriting an app with my daughters, and one of the features we wanted to test was whether or not we could add automatic tag extraction from photos. I've long been interested in services like Google's Cloud Vision API, which seem to do amazing things on images taken…

On Bird Calls and Pishing

This week a group of us were chatting about bird calls, and birding via sound vs. sight. I was reflecting later that most of the birding I do is auditory. Partly this is because I don't own good lenses, but also because I tend to do it wherever I am,…

On Sabbatical

As I begin the new year, I'm trying something new. I'll be taking a sabbatical for all of 2016. Normally at this time of year I'm starting new courses and beginning research projects that I'll lead in the spring/summer semester. I've been following that rhythm now for over 16…

How to become a Fool Stack Programmer

At least once in your career as a programmer, and hopefully more than once and with deliberate regularity, it is important to leave the comfort of your usual place along the stack and travel up or down it. While you usually fix bugs and add features using a particular application,…

The kind of open source I admire

There are a number of ways that a project or company can look at contributions from "the community." Let me start by saying that in almost every case, it is amazing to have people suddenly show up and surprise you with some gift of work that is given…