• Articles

    Some blog posts just don’t belong anywhere else.

    Where are James’ Slides?

    by  • 21 June 2012 • Articles

    I give a lot—well, I give some—talks, but I never give the slides out. And, as far as I can remember, no one has ever asked for them. I know people, people who speak a lot more than me, who put all their slide decks up. Why wouldn’t I do that? What makes me...

    Read more →

    Why Django Sucks, Except When It Doesn’t

    by  • 8 June 2012 • Articles

    Ken Reitz is a smart man. Very smart. Smarter than me. He’s responsible for some of the best, most widely-used Python libraries out there. So when he talks, I listen. And recently, he talked about why Django sucks. Ken made some really excellent points. Among them: Django is too monolithic, and so… it encourages...

    Read more →

    That’s What He… is Sorry For

    by  • 20 April 2012 • Articles

    Two recent blog posts have called me on my bullshit and I owe everyone an apology. First, Jessamyn Smith wrote about Fighting Sexist Jokes the Geeky Way, and then Katie Cunningham—whom, though we’ve never met in person, I consider a friend from the Django community and Twitter—wrote about being told to Lighten Up. Neither...

    Read more →

    Developing a Culture of Testing

    by  • 16 April 2012 • Articles

    I say this all the time, but Mozilla’s webdev group has grown a lot over the past few years, and I don’t just mean in size. We’ve become better engineers, a better team, too. One key aspect of that growth, and a dramatic shift from three years ago, is developing a Culture of Testing....

    Read more →


    by  • 19 February 2012 • Articles

    A week or so ago, I needed to say that I wasn’t OK. Thanks to everyone who offered support and kind words, and especially my cousin Jono who drank beer and talked about Star Wars and other things that don’t matter at all. That all helped. So did saying I wasn’t OK. I still...

    Read more →

    Not OK

    by  • 6 February 2012 • Articles

    I’m not doing OK right now. Why is that so hard to admit? It’s nothing big, it’s just a hundred small things and they all happened at the same time and it feels like I can’t win right now. It feels like if 12 hours could go by without something getting a wrench stuck...

    Read more →

    Performance is a Feature

    by  • 30 January 2012 • Articles

    What do I mean when I say “performance  is a feature?” For a long time, I got this wrong. When I explained myself, I’d say that performance was as important as any other feature and worth spending as much time on as any other feature, and you shouldn’t trade it lightly, like you wouldn’t...

    Read more →

    Thank You, Steve

    by  • 6 October 2011 • Articles

    Thank you, Steve. I didn’t really realize until today exactly what I owe to Steve Jobs’ vision and dedication. So much of my life and career has been influenced and guided by an interest in screwing about with computers that goes back to the first Mac Plus I had—with its whole 1 megabyte of...

    Read more →

    So You Want Me to Hire You

    by  • 23 August 2011 • Articles

    I vacillated quite a bit on the title of this post. It is, after all, not me that is hiring you. Nor do I have the power to hire folks at will: it’s a team decision. But I also don’t want to claim to speak for anyone else, least of all for Mozilla—my excellent...

    Read more →

    Acronyms you should know: MTTD and MTTR

    by  • 10 May 2011 • Articles

    If you’re a SUMO contributor, there are two acronyms you will start to hear more often from us developers: MTTD and MTTR. They mean “mean time to detect” and “mean time to resolve,” respectively, and they refer to how long it takes to detect an issue in production, and how long it takes to resolve...

    Read more →