Regarding #2, regulars on comp.lang.javascript have been saying this since at least 2008, notably in critiques of jQuery. Resig even posted to some of these threads defending jQuery's misbehavior (though I don't recall if he defended browser sniffing). I find it very surprising that it took the act of writing a book to realize this fundamental design flaw. And for those who will want to say "oh, that's just because David Mark is so grating," quite a few mild-mannered regulars reached the same conclusion, so it's not as though there was one firebrand suggesting this.
Interestingly, jQuery was the first major library to switch to a feature detection model. Looking around it appears that a number of other libraries still use browser sniffing (such as MooTools, Prototype, and Dojo). The reason why I switched jQuery over to that model is largely due to my personal research into the matter during the process of writing Secrets of the JavaScript Ninja (largely as a desire to future-proof jQuery against upcoming bug fixes by major browsers).
It's rather amusing to see a case where I, unfortunately, fed the trolls trotted out as an example of future decision making. In this case the decision behind this was my own and largely done through my personal examination of the jQuery code base.
Obviously your decision to implement feature detection in jQuery was your own, but you're doing a disservice to the comp.lang.javascript regulars who laid this out for you. Describing David Mark as a troll is also unfair: I concede he has been rude to you and others, but his knowledge was and is extensive and, like it or not, was something that at the time you could learn from.
Also, here's Resig's take on feature detection circa '07:
"Yawwwwnnnnn.... this is, quite possibly, the most inane set of ramblings set up by someone who has obviously never created a JavaScript library of any kind, nor has used JavaScript code in any sort of production environment."
Well, you did respond to the code critiques after all, so that makes it about jQuery's source.
But I do agree that your opinion was biased by the behavior of the people participating that discussion (if that's what you meant). Nonetheless, IMO, a community leader should be able to deal with criticism, and I don't recall reading personal attacks.
I wish I could say that I haven't been personally attacked by them, unfortunately it has been rather extensive and ongoing. Thankfully I've been able to avoid most of it by not visiting clj since 2008-ish and blocking choice Twitter users. Sometimes is trickles back up to me from people letting me know what's going on.
I'm 100% fine with code criticism - I think you'll find no JS library more open to it than the jQuery project, we've shifted the code base many times over the years making large quality/performance/API improvements based upon criticism. That being said I have no interest in talking with people - valid code criticism or not - if they're personally attacking me as well.
So you do agree that browser sniffing is a short-sighted method to test for browser capabities and that clj has been preaching on it since 07?
I'm not judging or anything, but sticking around on clj and trying to argument could have been very beneficial for both jQuery anc clj itself. There are ways of ignoring people in usenet, you know.
Also, Juriy, whom you cite in the book's preface, was a regular there long before his website really took off. That means you didn't dislike every member ;)
I'm not attacking anyone (at least not on purpose), I'm just trying to make a point here.
Resig's actions towards clj effectively turned his whole userbase against everyone and everything that was written in that newsgroup. Thousands of unexperienced js developers shunning great advice just because it came from someone Resig had a beef.
I do believe that it had a negative effect on the javascript industry for a few years.
Let's just stifle real discussion so we can be sure no aggressive statements are made and no one's feelings get hurt.
The nannying influence of people like you is poisonous to a community. Your own comment is a veiled but difficult-to-analyse attack. Your weak observation asks us cow to your vision so that we will all respect one another and feel good about ourselves. You do not respect the technical aspect of this community which would value truth and quality discussion over feeling.