Squashing patellar tendinitis

This morning I awoke to a reminder in my calendar that made me really happy. Three months ago I set an event that said I could »

Messing with MessageChannel

We're getting close to being able to ship a beta release of our work porting Brackets to the browser. I'll spend a bunch of time blogging »

Learning to git bisect

Yesterday one of my students hit a bug in Brackets. We're working on an extension for Thimble that adds an autocomplete option to take a selfie »

Repeating old mistakes

This morning I've been reading various posts about the difficulty ahead for the Pointer Events spec, namely, Apple's (and by extension Google's) unwillingness to implement it »

Embedding license data in images

This term I've got a good group of students taking my second open source course. Unlike the first course, which aims to teach the theory and »


Over the holidays I had a chance to read Gibson's new novel, The Peripheral. I won't discuss the book itself, but instead want to pause over »

Video killed the radio star

One of the personal experiments I'm considering in 2015 is a conscious movement away from video-based participation in open source communities. There are a number of »

Minimum Viable Product

This week in class I was discussing the value of thinking in terms of a Minimum Viable Product (MVP), and how open source tends to favour »

How to encourage contributors

One of the techniques I've used over the years in teaching open source is to invite core members of the projects we're working within to come »

CDOT Planet Blog Feed Cleanup

In recent days our CDOT Blog Planet has begun having issues. Chris was able to determine that we have many feed URLs that are no longer »

Introducing MakeDrive

I've been lax in my blogging for the past number of months (apologies). I've had my head down in a project that's required all of my »


Last week I finally made some time to rebuild my blog. The server it ran on died in the fall, and I haven't had the time »