My name is James, and I run my own contracting company called Shift Reset LLC. I like to create things and write about technology.

Opening Up My Development Process

July 18, 2017

Livestreaming has always been popular in certain communities like gaming, but recently it's been getting popular with programmers. ... I plan on livestreaming while I work on a product every week.

Releasing Prettier 1.0

April 13, 2017

We officially announced prettier over two months ago as a way to solve the problem of wasting time formatting your code. It started as an experiment but it clearly resonated with a lot of people, amassing ~7000 GitHub stars and over 100,000 monthly npm downloads in just two months. Now it's time for 1.0.

How I Became a Better Programmer

March 20, 2017

Several people at React Conf asked me for advice on becoming a better programmer. For some reason, people see me as a pretty advanced programmer worth listening to. I thought it would be worthwhile to write down my "mental model" for how I have approached programming over the years.

Talking Open Source on Changelog

March 09, 2017

Changelog invited me to talk about open source and you can listen to it here.

Why I'm Frequently Absent from Open Source

February 26, 2017

Sarah and I have been married for 6 years as of today (with 2 kids, Evy and Georgia). I write about a lot about technology on my blog but I don't write about the thing that I spend more time on and is way more important than tech: my family. I thought our 6-year anniversary is a good time to acknowledge that!


  • LLJS fork of LLJS that compiles to asm.js
  • nunjucks powerful templating system for javascript
  • outlet simple Lisp languange that compiles to javascript
  • dcpu-lisp static Lisp that compiles to DCPU-16 assembly code
  • shade terrible WebGL graphics engine
  • octoshot multiplayer WebGL 3d first person shooter
  • css-animations.js easily use CSS3 keyframe animations from javascript
  • dom3d 3d objects with purely 2d CSS transforms