I'll try not to get too verklempt, but I finally hit my informal goal for StackOverflow: I received the [second] JSLint badge [SO's awarded].

It used to be difficult to program without googling answers to what were sometimes pretty straightforward questions -- it was more efficient -- and smarter -- to "borrow" and improve on something that'd already been through the crucible than coding "from scratch". Now, it's even more difficult to code without leaning heavily on StackOverflow.

It should also be hard to receive that much value without giving something back. Admittedly, I'm nowhere near as "giving" as one of my old coworkers, who is creeping up on 80,000 StackOverflow points as I blog. But you shouldn't feel good about benefiting from StackOverflow without finding some means of giving back.

For me, giving back was sitting on the JSLint tag. We started using JSLint at a company I worked with a while back, and I think I was one of our better JavaScript guys (ie, Whitaker, above, was pretty busy, so I guess I was second), so I got stuck with implementing JSLint as a company-wide blocking check-in test for TFS. I first got a Visual Studio JSLint extension working and configured like we wanted it, then I copied what it was doing and wrote a TFS rule using Noesis, the same engine that plugin used, to test files folks were checking in, slowly forcing us to JSLint our legacy code (though with exceptions for third-party libraries) as we edited files.

Looking back, I should've used Node, which would have been much easier, but Noesis didn't require any serious installation.

Anyhow, when you're the contact person for something like this, of course you also end up being the person who actually does much of the linting, as almost every time someone edited a file over a hundred or so lines, I'd get an email about how difficult and unfair the new policy [though I believe JSLinting code is a great idea, it was our dev manager's idea, so the unfair complaints were unf. misdirected!] was. With a few folks, after a few good tries to convince them otherwise, though I feel badly about it, I occasionally relented and gave fish rather than taught folks how to fish 'em up themselves. It was ultimately better for everyone to spend the time linting than arguing about whether they should learn to lint. And admittedly, some of those files were a mess, coded by employees who had left years ago, and having everyone in your company editing JavaScript regardless of their expertise in the language can be a bad policy. Some folks (I'm looking at you, most of the iOS team!) probably had no business being in the JavaScript files to begin with. (Note: I never so much as opened an Objective-C file while working at said company. ;^D)

Regardless, like Jim Morris pitching, the unofficial work meant I became pretty good at understanding JSLint. More importantly, JSLint was (and is!) a manageable tag on StackOverflow. I'd learned it was easy to get reputation at SO just by sitting on topics and being the first to answer, but that wasn't always the best way to learn, and seemed to be more gamification than "scholarship". It's the difference between sitting on jQuery and wishing you could sit on child jQuery selectors or DOM concatenation. But JSLint had that specificity built-in. It was a small pond, but active enough that you could actually contribute.

Overly long story a little shorter, here we are. I'm the second person in StackOverflow history!!!1!1!!2 to bag the JSLint badge. And boy, I did it the hard way (which is not a complement to me). The first guy to get it, James Allardice (who also has the JSHint badge) currently has 202 points answering 32 questions. I've got 101 for answering 57. I'd like to think James plowed up the ground pretty well with the obvious answers (I've gotten 24 of my points for being the first to document `ignore`, for instance), but still.

There are at least 20 people with more JSLint points than me, but since only one has 20 or more answers in there, I still get to be second badged JSLinter on SO. (TJ Crowder will be there soon, I think, but other than Quentin at 13, nobody else has 10 answers.) I also like that with the exception of the last two guys on the list, who essentially have the same rep as me, everyone else has 3k or more than me, many with tens of thousands more. It's good company.

Looks like my first JSLint answer was on 5 Feb 2013 (with my first question on 1 May 2012), when nobody had earned this tag yet. Just a little over two years since Allardice bagged the tag, and just over 33 months since I started, I get the second.

Nobody remembers the second schmoe on the moon, but that doesn't mean it wasn't enjoyable taking the trip.

Guess I'll keep watching JSLint, but (and I'd already kinda started relaxing) I'll be a little less likely to want to be FIRST! and more likely to just chime in when I have something good to add. Which is how StackOverflow should work.

Labels: , , , ,