Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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."

https://groups.google.com/d/msg/comp.lang.javascript/QVlJ0bz...

    >> Do you have any idea how many agents jQuery will identify as IE?
    >The ones we care about?
I wonder why jQuery eventually turned to feature testing...


I think that post has less to do with my opinions of feature testing and more to do with the environment presented by that usergroup.

As to why jQuery moved to feature testing, we discussed that in the jQuery 1.3 release notes: http://docs.jquery.com/Release:jQuery_1.3


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.

As of your link, I was being sarcastic.


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 ;)


He just wrote a post about being attacked, and you attack him? (Perhaps I'm misreading your tone, but it seems to be really aggressive)


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.


Yeah, JavaScript really hasn't gone anywhere since Resig left clj in 2008.


That's obviously not what I have said.


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.


Or perhaps, lets behave like adults and have adult conversations with other adults.


Lets be 'adults', huh? I'm not surprised that your response would have emotional and vague language. What does that mean 'lets behave like adults'?


What's the story with that David Mark guy? Based on the parent to that post (https://groups.google.com/d/msg/comp.lang.javascript/QVlJ0bz...) he seems to be mentally ill or something - there's about three pages of stream-of-consciousness ranting.

Or maybe I just haven't been on usenet news for a while...


   it took the act of writing a book to realize this fundamental design flaw.
Not cool. Most everyone is too close to their own work.

Writers need editors. Artists need critics. Devs need QA/test.

Fortunately, letting code rest for 6+ months is a pretty good strategy for getting a "new mind".

So is explaining your work to someone else, such as writing about it.


Exactly. Eventually everyone turned to feature testing and it became common sense in clj.

comp.lang.javascript's FAQ on browser-sniffing: http://jibbering.com/faq/notes/detect-browser/


I think you and I are saying the same thing, but to be clear, this was "common sense" on CLJ long before mainstream libraries adopted the practice.


Yes, that's what I was trying to say.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: