Better Know a WebDev: Luke Crouch (aka groovecoder)

It’s Friday, Friday, gotta write a blog post on Friday!

Hitting memes at the height of their popularity is easy. Dredging up memories weeks or months later is more fun.

Now, on to today’s Better Know a WebDev! In this corner, the Terror of Tulsa, the Oracle of Oklahoma, Luuuuuke Croooouch!

What do you do at Mozilla?

I learn a ton from other Mozillians while I work on the Mozilla Developer Network (MDN) site. MDN hosts awesome web documentation and we’re expanding to host demos, events, profiles, and more. We’re migrating the wiki from MindTouch to our own Django-powered Kuma code – a clone of the Kitsune code that powers Support. Along the way we’re still adding features like BrowserID and fixing as many bugs as we can. I also organize our sprints and do a little product management until we hire an official MDN product manager. BTW, we’re hiring! 😉

Any fun side projects you’re working on?

Most of my side projects are caught up in, of which I’m the Chief Sanitation Officer. Specifically, I’m scraping some local public data and preparing for

I also brew my own beer as often as I can. Once a month I retreat to a Benedictine Abbey here in Oklahoma to brew beer with them.

How did you get started in web development or programming?

I picked up an HTML book around ’93, kicked around in Flash while, took the Pascal, C, and Java classes in high school and took a webmaster vocational tech class. But I really decided to stick with web development when I hacked out my first database-powered HTML page one night in college – a table with 2 rows of dynamically-generated content using SQL Server and ASP on IIS!

How did you get involved with Mozilla?

I’ve used Firefox since I switched from Netscape Navigator. But I had only ever skirted around the contribution path (a behavior I’m also trying to address with our WebDev Stewards stuff).

As for working here, that’s a little complicated and involved a lot of luck! I built ajaxMyTop while doing “enterprise” development. When I got an unsolicited patch for it, I was hooked forever on the open-source model. So when I saw an online job posting for, I jumped on it, got in, and learned a ton about open-source and web development. Four years later I saw an online job posting at Mozilla and I jumped again!

What’s a funny fail story or mistake you can share?

Don’t push big code changes while you’re at a conference!

We pushed changes to the File Release System and corresponding download redirector while at OSCON ’09. It caused recursive redirects which broke all downloads for over an hour! (Millions of downloads) The conference WiFi broke so a dozen of us had to share a single 2G cell phone ‘net connection to fix it.

What’s something you’re particularly proud of?

I was honored to give the keynote talk at PHP Conference Brasil in 2008, where I showed how used PHP. I’m proud of all the Tulsa Web Devs – doing stuff every bit as cool as the web scenes in other towns. I’m proud of my wife for putting up with all my quirks and my nearly mono-maniacal focus on web development.

What’s coming up that you’re excited about?

All of Mozilla’s new stuff – Boot to Gecko, Apps, and Persona are extremely important projects for the internet. I’m trying to patch dochub so it could serve as MDN’s Open Web App, and I think we could try some cool things like MDN Open Web Badges. I also like the idea of using a federated wiki protocol for web documentation, and hosting web developer html5 ebooks on MDN.

What question do you wish you’d been asked?

What’s with the name ‘groovecoder’? It actually started as ‘groovepapa’ – a silly gaming handle I used for Marathon LAN parties because I always danced to techno music in my chair while playing. As I coded more, it turned into ‘groovecoder’ but it was still just a silly name. After reading The Productive Programmer, I find it describes me well – I want to be “in the groove” when I code.

If you operated a food truck, what would be your specialty?

My truck would be “Stews and Brews” – it would serve a bowl of soup with a pint of beer.