My name is James, and I work on the Firefox Developer Tools. I like to create things and write about technology.

On the Road to Better Sourcemaps in the Firefox Developer Tools

January 11, 2016

In this post, I explain why it has taken so long to get the Firefox console sourcemapped. It requires an unobtrusive debug mode which is really hard to do, but we got it working. The console now has access to sourcemaps, so we are only one small step away from getting it working.

Starters and Maintainers

December 29, 2015

"It’s late Friday night, my wife is already asleep, and I finally found time to go through those pull requests on that old project I put up on github last year. My daughter is getting up at 7:30 though, so I better not stay up too late. ..."

A Simple Way to Route with Redux

November 25, 2015

It's not clear how to use redux and react-router together on a project, but there's actually a pretty simple way to do it. Introducing redux-simple-router, a way to keep the current URL in sync in your app state and router instance.

My ReactiveConf Talk

November 10, 2015

Last week I gave a talk at ReactiveConf about how React and Redux solve a lot of issues in complex apps. I talked about how vital it is to keep things as simple as possible, and how we're trying to clean up the code of Firefox Developer Tools. Watch it here.

Immutable Data Structures and JavaScript

October 01, 2015

A little while ago I briefly talked about my latest blog rewrite and promised to go more in-depth on specific things I learned. Today I'm going to discuss various ways to use immutable data structures in JavaScript.


  • 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