I was laid off last week. Officially, I was impacted by “significant restructuring.” I never expected to become so conversant with corporate lingo. It’s one of the lesser skills I acquired during my 8 years at the company, mostly after Firefox OS was announced as a priority. Another lesson: companies change.

Driven by COVID-19 and the resulting economic downturn, the layoffs affected fully 25% of all employees, including long-time teammates and friends. …


I have come to appreciate ESLint very much in recent years. A robust and reliable JavaScript linter, ESLint can be used not only to detect common programming mistakes, but also to enforce a consistent code style. Its utility cannot be overstated. Your teammates and your future self will thank you for using it.

I recommend that ESLint be enabled before any code is written, but what about existing projects? A developer who runs ESLint on an existing codebase will certainly be overwhelmed; it will warn about scores of issues which had not been noticed until that point. …


I recently started work on a project I’m calling Ensemble. Ensemble will be a minimalist data-sharing platform. It will allow data scientists to quickly and easily create public dashboards with no web development experience.

In the process of writing a project README, I realized I had accidentally written my software development manifesto, the distillation of my thoughts on crafting valuable software in today’s environment. The document does discuss some specifics of this project, but the broader points do apply generally.

I’d like to share it with you.

Ensemble is a minimalist platform for publishing data dashboards. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store