Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

jQuery + IE8--told you so

27 views
Skip to first unread message

David Mark

unread,
Apr 3, 2009, 11:15:46 PM4/3/09
to
First anecdotal report I've spotted:

http://news.cnet.com/microsoft-launches-ie-8-with-a-smile/

"... And today is not Microsoft's day on the Internet, since their
bloated browser can't even display a JQuery page correctly."

Certainly these sorts of complaints will reach a crescendo as the
masses upgrade IE (or have it upgraded for them.)

I'm sure it is Microsoft's fault. :)

I once heard a jQuery maven claim that nobody would be stupid enough
to release a browser that "breaks jQuery." Of course, breaking bad
scripts is job #1 for browser developers (has been since IE3.)

More like nobody would be ignorant enough to use a script that breaks
so many browsers. With the release of IE8, all installations of 1.2x
are now unusable. Some sites may still appear to work in some cases,
but changing them is obviously out of the question as landmines are
now everywhere. The new version(s) aren't much better either (see
recent threads.)

Bad scripts used to be fairly easy to revamp. Now you are forced to
upgrade and re-test a giant mess of collaborative chaos every other
month. It will take them a minimum of six months of patches to fix
one specific problem that was recently reported (assuming they can fix
it all without breaking all of the old sites.) They'll have to
rewrite the documentation and all of the examples, tutorials, etc. as
well. Their large community has been spreading bad information about
the offending method for years.

If a million monkeys typed for a million years, not one would come up
with something this ludicrous. So much for the "large and active
developer community" theory.

Would you be willing to file a ticket on this?

David Mark

unread,
Apr 4, 2009, 1:17:23 AM4/4/09
to
On Apr 3, 11:15 pm, David Mark <dmark.cins...@gmail.com> wrote:
> First anecdotal report I've spotted:
>
> http://news.cnet.com/microsoft-launches-ie-8-with-a-smile/
>
> "... And today is not Microsoft's day on the Internet, since their
> bloated browser can't even display a JQuery page correctly."
>
> Certainly these sorts of complaints will reach a crescendo as the
> masses upgrade IE (or have it upgraded for them.)
>

[snip]

Well, that didn't take long. Obviously jQuery is a long way from
being cross-IE compatible. (!) One look at the code tells you that,
but for those who favor empirical evidence:

http://groups.google.com/group/jquery-en/browse_thread/thread/5a2419f32c289dee

http://www.cssquirrel.com/2008/11/12/bug-or-stupidity-jquery-imagemaps-and-dynamically-inserting-area-tags/

http://friendfeed.com/e/4a8cfc0d-9de8-4533-b631-1e5c85703f68/IE8-third-impression-it-sucks-jquery-is-not/

http://markmail.org/message/lw5mkkac2evdcerm#query:jquery%20IE8+page:1+mid:lw5mkkac2evdcerm+state:results

http://twitter.com/darkon_/status/1357237389

http://www.mailinglistarchive.com/jque...@googlegroups.com/msg01627.html

http://forum.notebookreview.com/showthread.php?p=4653070

http://dev.jquery.com/ticket/4440

http://code.google.com/p/simplemodal/issues/detail?id=7

http://damianedwards.wordpress.com/2008/10/03/ie8-bug-i-submitted-has-been-resolved/

http://dev.jqueryui.com/ticket/4371

http://www.mail-archive.com/jque...@googlegroups.com/msg48595.html

http://lutton.net/blog/post/IE-8-Developer-Talk-Microsoft-e28093-Columbus-Office.aspx

http://craigsworks.com/projects/qtip/forum/topic/47/qtip-not-working-in-ie8/

http://174.129.128.200/javascript/26835-jquery-jquery1-3-2-ie8.html

http://www.laikoko.cn/forums/blog.php?bt=34

http://www.collicott.net/jess/2009/03/25/ie8-performance-problems/

http://forums.asp.net/t/1402098.aspx

http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&tid=1caa7435-c675-4921-81bc-69374593f89b&cat=en_us_2BAF8EC5-645C-4477-A380-0F1CF6C102F9&lang=&cr=&sloc=&p=1

http://twitter.com/skfox/status/1389368479

http://www.dynamicdrive.com/forums/showthread.php?t=42200

Questions about how MS and jQuery fit together? Ask Lauren:

http://cooney.typepad.com/lauren_cooneys_blog/2008/09/jquery-and-microsoft-the-qa.html

Cue the shrieking violins for this jarring coda:

http://www.silvesterwebdesigns.com/suggest-upgrading-ie6-to-ie8-with-jquery

Suffering succotash!

So just keep upgrading the whole convoluted mess (plus the assorted
plug-ins), maybe one day you will hit the cross-browser jackpot! As
for your users, it is a shame that day isn't today.

No wonder Resig wants the whole world to volunteer for unit testing.
Dear John, the world has better things to do. Please find a less
destructive hobby.

David Mark

unread,
Apr 4, 2009, 2:11:22 AM4/4/09
to
On Apr 4, 1:17 am, David Mark <dmark.cins...@gmail.com> wrote:

[snip]

>
> http://damianedwards.wordpress.com/2008/10/03/ie8-bug-i-submitted-has...
>

[snip]

>
> http://lutton.net/blog/post/IE-8-Developer-Talk-Microsoft-e28093-Colu...
>

Oops, don't know how those two got in there.

[snip]

David Mark

unread,
Apr 6, 2009, 6:50:05 PM4/6/09
to
On Apr 3, 11:15 pm, David Mark <dmark.cins...@gmail.com> wrote:
> First anecdotal report I've spotted:
>
> http://news.cnet.com/microsoft-launches-ie-8-with-a-smile/
>
> "... And today is not Microsoft's day on the Internet, since their
> bloated browser can't even display a JQuery page correctly."
>
> Certainly these sorts of complaints will reach a crescendo as the
> masses upgrade IE (or have it upgraded for them.)
>

[snip]

http://peter.michaux.ca/articles/javascript-animations-from-scratch

See the recent comment at the end.

http://74.125.93.104/search?q=cache:EoF51UPQ0EoJ:explore.twitter.com/issya+jquery+broken+IE8&cd=77&hl=en&ct=clnk&gl=us&client=firefox-a

14 hours ago, at the time of this writing:

"Great, jQuery stuff is broken in IE 8."

http://n2.nabble.com/IE-8-not-working-with-shadowbox-td2504683.html

More programming by collaborative misunderstanding, posted after the
IE8 horse had left the barn. Includes suggestions to use IE8
compatibility mode as a stopgap. Of course, jQuery doesn't support
that mode at all.

http://groups.google.com/group/k2-support/browse_thread/thread/35d62cffee9a9f45?pli=1

Don't work.

http://webforumz.com/javascript-forum/70968-jquery-tabbed-interface-only-working-in.htm

jQuery slide show from Dynamic Drive doesn't work in half of the
tested browsers? No problem, try doing it the "jQuery way." You
can't make this stuff up.

http://groups.google.com/group/jquery-en/browse_thread/thread/a49067881de3b8b7

Their own bloody site is "completely broken" in IE7. And they want to
be your latex salesmen?

http://ejohn.org/blog/javascript-talk-at-northeastern/#postcomment

What idiot at Northeastern decided that John Resig would mix with
computer science? Seems some careful listeners picked up on his
wavering confidence in jQuery. Useful for prototyping, indeed.

(God I hate copying text from his site. How did he break that?)

"Of course jQuery isn't only useful for prototyping, I think the list
of sites using it is a pretty good indicator. However, the fact that
it is so good at prototyping (meaning that it's trivial to get from a
normal HTML page up to something that's fully interactive). The fact
that that's possible is incredibly important - the barrier to entry is
virtually non-existent."

I think the list of people suffering from [insert contagious disease
here] is a pretty good indicator of its communicability. As for his
"non-existent" barrier, he can't even get his own ass over it. Get
the f--- off of my obstacle!

http://ghettocooler.net/2008/03/17/ie6-ie7-ie8/

"There’s nothing to worry about for all of us spoiled with jQuery or
Prototype. When IE8 comes out, so will a new version of those
libraries and suddenly the internet will appear not to have changed
too much at all."

The Internet is an ignorance amplifier. Once again, YMMD.

http://forums.whirlpool.net.au/forum-replies-archive.cfm/1171699.html

The words "suffering" and "pain" are starting to pop up a lot in
jQuery-related posts. These people are just sure they would be
suffering more without jQuery, but what does that tell you?

http://code.google.com/p/google-caja/issues/detail?id=933

One comment from a notorious Prototypian:

"Doesn't the attr method deal with all of this directly ? How is that
currently an issue ?"

Try looking at the code. It hasn't changed much in years. Odd since
it debuted six years *after* IE6.

http://www.pathf.com/blogs/2008/02/jquery-ui-in-ac/

"I do so using progressive enhancement. In JS-disabled browsers, the
tabs turn into a simple navigational menu and the tabbed content turns
into a series of separate HTML pages."

Except when jQuery throws an exception in the middle of your
enhancement. Then what do you do?

/*more progressive enhancement:
last tab gets special handling because it's got its own
ajax component inside: an image carousel using jCarousel
*/
$('ul.nav > li:last > a').attr("href", "#productImages");

That doesn't look like progressive enhancement to me. There's not a
jQuery developer in existence that can explain what that attr call
will do (or even what it is supposed to do.) Seems like a hard way to
go.

/*still more progressive enhancement:
switch the classname on the <ul> we are using to
build our tabs so that the right styles get applied
in JS-enabled and noscript environments
*/
$('ul.nav').attr({"class":"navTabs"});


"That brings up one other slight weakness with jQuery UI Tabs: To pull
tab content in via Ajax, you use a standard link tag's HREF attribute
to store the location of an HTML fragment. Ideally, in the world of
progressive enhancement, you'd want to use the HREF attribute to store
the URL of a full HTML document for non-JavaScript-capable browsers.
The alternative link to an HTML fragment, which would be used for Ajax-
capable browsers, would be stored elsewhere, perhaps in an expando
property of the same link tag."

In comparison, the San Andreas fault is a slight weakness.

"You'll see in my code below that I got around this problem by pre-
parsing the link elements and altering their URLs before turning them
into tabs. jQury UI Tabs certainly doesn't hinder progressive
enhancement; it simply makes you jump through a couple of extra hoops
to accomplish it."

And you jump through them on the back of the attr method? God save
us.

http://groups.google.com/group/jquery-en/browse_thread/thread/739175c128a6f633

That's right. jQuery doesn't work at all on a PS3. (!) Odd as
NetFront has been around for ages. What does Resig have to say about
the "sudden" appearance of his "straw man?"

"If I remember correctly - the NetFront browser was missing some
fairly
fundamental features. I don't remember which, off-hand, but it was
enough to
cause jQuery not even to load."

Told you so six months prior, schleprock. Another added this
suggestion:

"... i think you'd be better off telling Sony about it mate ;)"

http://groups.google.com/group/jquery-en/browse_thread/thread/16837025b3925b62#

"Thickbox gives this error with the latest JQuery version. use version
1.2.6, worked for me that way."

Sure, go back to the browser sniffing version. IE hasn't changed much
in the interim. (!)

"Switching to an older version of jquery fixed the problem right
away. Thank you so much!

Resolved."

What do you say to that?

http://groups.google.com/group/jquery-en/browse_thread/thread/f2cff39db736589a#

"Ricardo" says:

"Even being invalid this is unexpected. Sizzle maps "for" to
"htmlFor",
because in labels the for value is held in the htmlFor property (for
being a reserved word). If you had <span htmlFor="tea"></span> you
could get it with $('span[for=tea]') in example. In your case you have
to resort to

$('span').filter(function(){
return this.attributes['for'].nodeValue == 'lid';

});

You're making two risky things at once: using an invalid attribute,
and giving the attribute name a reserved word in javascript. That's
asking for trouble!"

He's got some 'splaining to do.

http://groups.google.com/group/jquery-en/browse_thread/thread/c54c4fa3e74b00e5#

Anyone?

http://groups.google.com/group/jquery-en/browse_thread/thread/ca893776024e2974#

Oh, for the love of... don't build shopping carts with a script that
can't even get/set the value of checkboxes reliably.

Support quality was typical:

"Just a thought...but perhaps you need to
see if the "checked" attribute has the value of "checked"
instead of true...

if ($("#accept-t-and-c").attr("checked") !== "checked"){

perhaps that will work for you."

It's all guesswork in that group.

http://groups.google.com/group/jquery-dev/browse_thread/thread/1af25ca68efa2c59#

Still waiting (after three years) for a reasonable explanation.

http://www.nabble.com/retaining-checkbox-state-in-IE-td6778512s27240.html

Seems fair to assume that nobody over there has one.

http://groups.google.com/group/jquery-dev/browse_thread/thread/4d091845e1a52246#

From about a week ago:

"Internet Explorer does not accept the attribute "colspan" and instead
requires "colSpan" with a capitol 'S'.

jQuery.props already has a mapping for "rowspan" -> "rowSpan".

Shouldn't a mapping for "colspan" -> "colSpan" be added as well?"

Yes, some idiot added rowspan to the "black list" for 1.3x.
Inconceivably, they left off colspan. That's going to be pretty
inconvenient if you want to do something like:

var a = el.rowSpan * el.colSpan;

What's the simple and concise jQuery equivalent?

Certainly whomever is twiddling with the list does not realize that
they are exacerbating inconsistencies between IE6/7 and IE8, as well
as between HTML and XML. All because three years ago some neophyte
called John Resig thought he would be the one to smooth out
differences between "all browsers." Here's his response:

"Probably, yeah - could you file a ticket?"

Probably?! File a ticket? Get off your lazy ass and fix your
miserable code. It isn't like you weren't *told* about this shit.
The idiot clock is at a year and a half and counting. And it has been
ten years since IE6 was released.

http://www.jqueryhelp.com/viewtopic.php?t=1848&view=previous&sid=2c021c07ae288fcc1db2152d73a96fa0

http://www.lullabot.com/articles/announcing-beautytips-jquery-tooltip-plugin

And I am not just picking on jQuery. One of the remaining survivors
of the Prototype cult announced this recently:

"Today we tagged the first public release candidate of Prototype
1.6.1. (What happened to RC1? Long story.) While there are more minor
fixes we’d like to get into this release, we decided an interim
release was necessary because of the final release of Internet
Explorer 8 last week."

So Resig is not he only deluded neophyte that had to rush out a JIT
release for IE8. What is an "interim release" anyway? Download, copy
over, re-test everything. Repeat next week? These people do the same
painfully stupid things over and over, but never learn anything from
their mistakes. What is the definition of insanity? Waiting forever
for a team of know-nothings to master browser scripting fits the bill
IMO. I recently heard this same guy refer to Prototype as "rock-
solid." Can there be any doubt he has rocks in his head?

Finally, did somebody mention religion?

http://www.wanderinghorse.net/computing/javascript/jquery/openletter-jquery.txt

These guys all want to be your latex salesmen. I don't think so.

Gregor Kofler

unread,
Apr 7, 2009, 3:35:28 AM4/7/09
to
Am Mon, 06 Apr 2009 15:50:05 -0700 schrieb David Mark:

> 14 hours ago, at the time of this writing:
>
> "Great, jQuery stuff is broken in IE 8."
>
> http://n2.nabble.com/IE-8-not-working-with-shadowbox-td2504683.html
>

I hope you realize that an easy solution is at hand:

Just replace

setStyle:function(C,B,D){if(typeof B!="object"){var A={};A[B]=D;B=A}jQuery
(C).css(B)}

with

setStyle:function(C,B,D){if(D != "NaNpx"){if(typeof B!="object"){var A=
{};A[B]=D;B=A}jQuery(C).css(B)}}

Will be nice to slap the next jQuery aficionado with that, when he/she
comes round to tell that jQuery is "concise" and "easy to understand".

Gregor

(I definitely have to check my scripts against IE8 - sounds like fun...)


--
http://www.gregorkofler.com
http://web.gregorkofler.com - vxJS, a JS lib in progress

Matt Kruse

unread,
Apr 7, 2009, 11:01:39 AM4/7/09
to
On Apr 3, 10:15 pm, David Mark <dmark.cins...@gmail.com> wrote:
> [snip long list of url's]

Congrats on figuring out how to Google search!

> the release of IE8, all installations of 1.2x
> are now unusable.

That's quite an exaggeration.


Your behavior reminds me of religious zealots who go crazy trying to
shoot holes in evolution and other areas of science. The logic goes
like this.. "ah HA! This specimen doesn't fit exactly within the
model. If your theory was true, how could you POSSIBLY explain this?
Your THEORY is OBVIOUSLY a pile of JUNK!"

Your infinite wisdom has allowed you to find problems in jQuery
(although you rarely specifically identify them, but rather just throw
your hands up and type some insult and point to a code snippet like
someone pointing to an odd fossil), to find fault in its author, and
to find weaknesses in its ticket system and support forum.
Congratulations. You have learned that no software is perfect, no
author has it all figured out, no development process is ideal, and
the problem of "browser scripting for the masses" is a very difficult
problem to solve. Perhaps next you will astonish the world with your
revelation that Santa Claus is not real and the moon is really not
made of cheese. Thank you, Captain Obvious!

You know, I've developed some pretty shitty code in my days, and I've
followed development patterns that I now know are amateurish and a
waste of time. And I've done most of it in the public eye, releasing
much of my work for the world to use, judge, and criticize. A lot of
it is still out there. It's been helpful to me, and helpful to others.
I'm sure you could easily find code I've written that is horrible, and
you could rip me to shreds too. But what's the point?! Who cares?
Everyone is learning as they go, and perhaps following a few wrong
roads or two - including Mr. Resig. But at least he's willing to stick
his neck out, face the criticism, and spend hours and hours trying to
improve his code and help thousands of developers around the web.
Meanwhile, you spend hours and hours criticizing and making fun of
people, continuously trying to knock people down rather than build
them up. You're a negative, critical, mean-spirited person. You wonder
why people line up behind something like jQuery? Because jerks like
you are miserable to be around, and most of us will accept the flaws
in jQuery before we would be associated with someone like you. jQuery
will continue to improve and people will continue to benefit from it,
while you will be left searching for more things to complain about and
writing your little book about how stupid the world is. Good luck with
that.

Matt Kruse

David Mark

unread,
Apr 7, 2009, 1:24:32 PM4/7/09
to
On Apr 7, 11:01 am, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 3, 10:15 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > [snip long list of url's]
>
> Congrats on figuring out how to Google search!
>
> > the release of IE8, all installations of 1.2x
> > are now unusable.
>
> That's quite an exaggeration.
>
> Your behavior reminds me of religious zealots who go crazy trying to

No, stupid. You are the one blinded by the light.

> shoot holes in evolution and other areas of science. The logic goes

What?!

> like this.. "ah HA! This specimen doesn't fit exactly within the
> model. If your theory was true, how could you POSSIBLY explain this?
> Your THEORY is OBVIOUSLY a pile of JUNK!"

No, stupid. Attributes vs. Properties is on page one of DOM
manipulation. IE6 came out ten years ago. jQuery is supposed to make
getting/setting properties concise, simple, etc. Instead, it makes it
impossible. Not only impossible, but impossible to even *document*.

That would be more than enough right there. But, of course, there is
its opposite and asymmetrical number:

removeAttr: function( name ) {
jQuery.attr( this, name, "" );
if (this.nodeType == 1)
this.removeAttribute( name );
},

So if you have written a script using jQuery, as tens of thousands of
people have, you now have a God-awful mess to debug (whether you know
it or not.) IE8 changed all of the rules for get/set/
removeAttribute. I warned Resig about this (and you too) a year and a
half ago.

You can't glance at anything that includes the attr method and predict
what it will do. Neither can the support group or the developers.
They are all completely in the dark about this most basic and critical
concept. Did jQuery make Javascript work for them?

Here's another lynchpin, which is called every time through the attr
method:

From 1.25:

isXMLDoc: function( elem ) {
return elem.documentElement && !elem.body ||
elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;
},

From 1.3:

isXMLDoc: function( elem ) {
return elem.nodeType === 9 && elem.documentElement.nodeName !==
"HTML" ||
!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
},

Two very different mystical incantations, neither of which was ever
needed. Resig just keeps lopping off the old browsers from his
"supported list" as he is manning a mechanical Turk. Get it?

Never would have had any of these ridiculous mix-ups if he had thought
about these things:

1. Most scripts don't need get/set/removeAttribute
2. Most scripts don't need XML, even when using Ajax
3. Getting and setting properties, with "chaining" requires one and
two lines respectively.

Too late now. The books are written, the examples deployed and the
bloggers are pounding out articles by the day. All to be ultimately
humiliated by the fact that they were pushing something that is
obviously the exact opposite of what they thought it was.

A good judge of a cross-browser script is how often it is altered over
the years. jQuery is obviously grade Z material. Has it added
massive innovation over the years to somehow justify its jello-like
consistency? Of course not. Let us look at what this "simple and
concise" API (that mashes up attributes and properties into one
impossible method) offers:

1. Animations (and not particularly good ones.)

2. "Rich" CSS selector queries, which can be used to pump multiple
elements through the attr method, add styles one at a time or attach
multiple events.

3. Not much else, except an ill-conceived API.

Animations written in Javascript are the wave of the past.

CSS selector queries were never needed, though perversely, through
their popularity, have been baked into the browsers (like animations.)

We know about the attr method (as well as the each method.) An app
that combines those two broken and moving (!) targets to update DOM
properties is obviously unreadable and now unusable. You can't even
explain what the attr method is *supposed* to do after three years of
staring at this shit (and being told it was a non-algorithm.)

Attaching lots of events? We know about that too. One word:
delegation. Not a new concept, except for the "Unobtrusive
Javascript" suicide squads.

Adding styles to elements that match a selector? Hello? Add the
style rule to the head. It's instantaneous and couldn't be simpler.
The alternative is to use a constantly changing blob of regular
expressions per John Resig. Which would you prefer on the eve of an
upgrade?

Speaking of upgrades. The mandatory upgrade to 1.3x has lots of
variables:

1. Browser sniffing -> half-assed feature detection (permeates the
whole script obviously.) Most were IE inferences and IE8 just changed
most of the rules, so you can figure that one out.

2. Attr and its ridiculous XML aspirations. Still broken beyond
belief, but in insidiously different ways in IE. (!)

3. The aforementioned CSS selector "engine" has been largely
overhauled.

Damnit. I just wanted a site that would work in IE8. Now I have to
start over debugging because the whole fucking script has been pulled
out from under me, dusted off and replaced with wildly different
patterns. Are you kidding?

None of this is a mystery. Things were worse (though not by much)
back around 2005. I'm sure people like Sam Stephenson and John Resig
thought they were on to something. Unfortunately, they weren't.
These days, things couldn't be easier. Browser are *not* changing
quickly. Not at all. The only thing changing quickly are the
*libraries*. They change constantly, yet rarely add any sort of
innovation at all. It's all rearranging misunderstood patterns
endlessly, adjusting unit tests to match, etc. They are chasing their
tails. THAT is the ghost in the machine, not the "ever changing"
browsers. Get it?

So, writing cross-browser scripts is simple these days, unless you
were foolish enough to waste three years learning the abstracted
ramblings of neophytes, rather than learning the language. If you
have piled on top of their garbage, you now have no time learn as you
have to go back and scrutinize everything you ever wrote.

>
> Your infinite wisdom has allowed you to find problems in jQuery
> (although you rarely specifically identify them, but rather

You know that is untrue. I handed you the solution to the attr method
in the Fall of 2007. I've documented hundreds of issues with jQuery
in the last year or so. Have you been away?

> just throw
> your hands up and type some insult and point to a code snippet like
> someone pointing to an odd fossil), to find fault in its author, and

Rubbish. You are referring to cases where the analysis has been
repeated so many times that it doesn't need further explanation. Or
maybe you are still trying to figure out the ActiveX "brain-teaser"
from a week ago (hint.) Your perceptions are just not reality, just
as you anecdotes are not evidence.

> to find weaknesses in its ticket system and support forum.

They aren't hard to find. Where are the strengths?

> Congratulations. You have learned that no software is perfect, no
> author has it all figured out, no development process is ideal, and

But, stupid. *Lots* of people had cross-browser scripting figured out
in 2003 (or so.) It's 2009. April of 2009. IE8 just came out, lots
of sites are broken. Lots of neophytes now have to debug their attr-
intensive scripts. So, stop spouting generalized nonsense.

> the problem of "browser scripting for the masses" is a very difficult
> problem to solve. Perhaps next you will astonish the world with your
> revelation that Santa Claus is not real and the moon is really not
> made of cheese. Thank you, Captain Obvious!

Sad.

>
> You know, I've developed some pretty shitty code in my days, and I've

And some pretty shitty superstitions. How does the song go? When you
believe in things you don't understand, you suffer.

> followed development patterns that I now know are amateurish and a

Are you a duckling or a programmer?

> waste of time. And I've done most of it in the public eye, releasing

So?

> much of my work for the world to use, judge, and criticize. A lot of

Again, so?

> it is still out there. It's been helpful to me, and helpful to others.

Ugh.

> I'm sure you could easily find code I've written that is horrible, and

Find?

> you could rip me to shreds too. But what's the point?!

Could?

> Who cares?

Nobody. That's why I don't bother.

> Everyone is learning as they go, and perhaps following a few wrong
> roads or two - including Mr. Resig. But at least he's willing to stick

Here we go again.

> his neck out, face the criticism, and spend hours and hours trying to
> improve his code and help thousands of developers around the web.

He's helped nobody. He's harmed more than you can imagine.

> Meanwhile, you spend hours and hours criticizing and making fun of

Hours and hours? If you add it up over the last year, perhaps.

> people, continuously trying to knock people down rather than build
> them up. You're a negative, critical, mean-spirited person. You wonder
> why people line up behind something like jQuery? Because jerks like

Because of lunatics like you.

> you are miserable to be around, and most of us will accept the flaws

That's odd, my clients love me. You, of course, have never met me.

> in jQuery before we would be associated with someone like you.

Associated with someone like me? Did you pick Windows because you
wanted to be *associated* with Bill Gates, rather than Steve Jobs?
You are mad as a mongoose. All of these histrionics over a 50K script
you could rewrite from scratch in a few days. I could do it in *one*
day, but I don't want it.

> jQuery
> will continue to improve and people will continue to benefit from it,

No, the constant "improvements" are the rub. It isn't a good thing to
do wholesale script replacements on Websites, especially not with the
collaborative chaos that is introduced in a project like jQuery.

> while you will be left searching for more things to complain about and
> writing your little book about how stupid the world is. Good luck with
> that.

Interesting take on my book, which you have never seen. Hint: it
isn't about jQuery. I do appreciate all of the plugs. What is it
about these people that makes them compelled to plug everything of
mine? How does that help their cause? What is their cause, anyway?

In this case, his cause is to salvage some tatters of his shredded
reputation. I feel sorry for the guy at this point. I really do.

Thomas Allen

unread,
Apr 7, 2009, 2:33:08 PM4/7/09
to
> ...
>
> read more »

Just keep rearranging those paragraphs. You'll find the magic fit some
day that convinces us all.

Thomas

David Mark

unread,
Apr 7, 2009, 2:40:09 PM4/7/09
to
On Apr 7, 2:33 pm, Thomas Allen <thomasmal...@gmail.com> wrote:

[snip]

>
> Just keep rearranging those paragraphs. You'll find the magic fit some
> day that convinces us all.
>

Rubes like you won't be convinced until you are unemployed. Won't be
a long wait at this point. As you are just getting started, your
strategy is tantamount to leaping on to a sinking ship.

Good luck with that!

Thomas Allen

unread,
Apr 7, 2009, 2:41:37 PM4/7/09
to

This whole issue is not nearly as apocalyptic as you like to make it
sound.

Thomas

David Mark

unread,
Apr 7, 2009, 2:46:55 PM4/7/09
to

Which issue is that? The one you don't understand? It isn't a matter
of whether one of the specific issues can be fixed. It is the fact
that such issues exist in April of 2009, despite the fact that there
were known solutions at the turn of the century. All of this constant
swapping of scripts to attempt to "keep up with browsers" has been an
endless Beta test for software that wasn't needed in the first place.
Get it?

And they *can't* fix the attr/removeAttr problem without a complete
synchronized review of every scrap of code that has ever been piled on
top of jQuery, all of which could have (and should have) been easily
avoided. Get that?

Again, good luck with that!

Thomas Allen

unread,
Apr 7, 2009, 2:58:27 PM4/7/09
to

No, I mean the issue of whether somebody uses jQuery on their
websites.

Worst case scenario: Everything you claim about the library is correct
and it's complete rubbish that will blow up in our faces when Browser
X is released. I don't use JavaScript to provide critical
functionality on any website, so the worst thing that would happen is
that the site would be without JS for Browser X until (a) the jQuery
team came up with a fix, which is likely, or (b) we rewrote our
scripts that make use of jQuery, which mostly do some client-side form
validation and a few drop-down menus.

Either way, nobody's losing their job over it. jQuery has worked
reliably since I began using it, and as long as it continues to do so,
no amount of hand-waiving will make me doubt this decision. By
incessantly demonizing the library, you distract from the more
interesting, helpful discussions about the core language here.

Thomas

David Mark

unread,
Apr 7, 2009, 3:08:25 PM4/7/09
to

That's the scenario. The proof is in the record.

> and it's complete rubbish that will blow up in our faces when Browser
> X is released.

Your tense is off.

> I don't use JavaScript to provide critical
> functionality on any website, so the worst thing that would happen is

How is this about you?

> that the site would be without JS for Browser X until (a) the jQuery

Without JS? You obviously have no clue what you are talking about.
So why persist?

> team came up with a fix, which is likely, or (b) we rewrote our

Which team is that? The one that fouled everything up in the first
place? And I assume you enjoy swapping out large, complicated,
confused and interdependent scripts on Websites. Are you a masochist
or do you just like wasting time and money?

> scripts that make use of jQuery, which mostly do some client-side form
> validation and a few drop-down menus.

So, you like rewriting scripts? What do your users do in the meantime
and why did you feel you needed jQuery for form validation? Love to
see those drop-down menus, BTW.

>
> Either way, nobody's losing their job over it. jQuery has worked

YMMD.

> reliably since I began using it, and as long as it continues to do so,
> no amount of hand-waiving will make me doubt this decision. By

So, your admittedly uninformed opinion, based on obviously incomplete
empirical evidence, trumps the clearly broken logic of the code
itself, as well as the mountain of conflicting evidence gathered from
the Web?

> incessantly demonizing the library, you distract from the more
> interesting, helpful discussions about the core language here.

Distracted? Are you a baby? And you don't know anything about the
"core language" either.

Thomas Allen

unread,
Apr 7, 2009, 3:20:12 PM4/7/09
to
On Apr 7, 3:08 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Are you a baby?

There's only one baby in here and he's always throwing a tantrum.

Thomas

David Mark

unread,
Apr 7, 2009, 3:23:03 PM4/7/09
to

Matt is annoying. Try to ignore him.

Thomas Allen

unread,
Apr 7, 2009, 3:24:36 PM4/7/09
to

No, he's a reasonable voice, just like most people here. Anyway, back
to ignoring silly BS. Sorry for the OT everyone.

Thomas

David Mark

unread,
Apr 7, 2009, 3:26:10 PM4/7/09
to

Interesting take.

Matt Kruse

unread,
Apr 7, 2009, 3:26:41 PM4/7/09
to
On Apr 7, 12:24 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Attaching lots of events?  We know about that too.  One word:
> delegation.

Built into jQuery now, but I still use my own code. And of course you
know there can be problems with delegation - some events don't bubble,
elements can cancel the bubble on the way up so they are lost, and
there is some overhead in determining how to act based on the original
target once the event has bubbled to the top (rather than simply
acting on the event of the original element and avoiding the bubble
altogether).

> Adding styles to elements that match a selector?  Hello?  Add the
> style rule to the head.  It's instantaneous and couldn't be simpler.

That has problems. Specificity, for one. Adding classes to selected
elements is a more typical case anyway.

> You know that is untrue.  I handed you the solution to the attr method
> in the Fall of 2007.  I've documented hundreds of issues with jQuery
> in the last year or so.  Have you been away?

You've repeated the same issues over and over, for sure. And usually
they take the form:

"This code:
<code>
is STUPID! It could never be expected to work!"

rather than:

"This code:
<code>
will fail under conditions X, Y, and Z, and it would be better written
as:
<code>"

So, you've been less than helpful to anyone except those looking for
ammunition.

> But, stupid.  *Lots* of people had cross-browser scripting figured out
> in 2003 (or so.)

So why didn't they package it together as a great solution for
developers to build from? Even the "code worth recommending" project
here, which was supposed to gather a consensus about how to solve
common problems and arrive at code that people code use and learn
from, ground to a halt. If the people like you who obviously have all
the technical answers could just organize yourselves and build
something better than what is out there, you wouldn't have this
problem. Instead, you would have revolutionized browser scripting
years ago and no one would be talking about this anymore because
everyone would be using the One Great Library that solves problems
correctly. John Resig would be posting on your support list asking
which methods to use.

Unfortunately - and I mean that sincerely - this didn't happen.
Instead you're left bitching and complaining to the world about the
people who _did_ pick up the ball and start running in order to build
something better. And you're STILL bitching instead of offering
something better.

> read more »

No thanks.

Matt Kruse

David Mark

unread,
Apr 7, 2009, 3:51:35 PM4/7/09
to
On Apr 7, 3:26 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 7, 12:24 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > Attaching lots of events?  We know about that too.  One word:
> > delegation.
>
> Built into jQuery now, but I still use my own code. And of course you

Built into jQuery?! So... What did you need jQuery for in the first
place? It's main sales pitch was attaching events to lots of elements
at once. No good?

> know there can be problems with delegation - some events don't bubble,

So?

> elements can cancel the bubble on the way up so they are lost, and

If your code is incompetent. Okay, that's a given.

> there is some overhead in determining how to act based on the original
> target once the event has bubbled to the top (rather than simply
> acting on the event of the original element and avoiding the bubble
> altogether).

Do shut up now. Please.

>
> > Adding styles to elements that match a selector?  Hello?  Add the
> > style rule to the head.  It's instantaneous and couldn't be simpler.
>
> That has problems. Specificity, for one. Adding classes to selected
> elements is a more typical case anyway.

Do tell.

>
> > You know that is untrue.  I handed you the solution to the attr method
> > in the Fall of 2007.  I've documented hundreds of issues with jQuery
> > in the last year or so.  Have you been away?
>
> You've repeated the same issues over and over, for sure. And usually

Odd that they still aren't fixed. Four revisions have come and gone,
IE8 is out. Have you been asleep?

> they take the form:
>
> "This code:
> <code>
> is STUPID! It could never be expected to work!"
>
> rather than:
>
> "This code:
> <code>
> will fail under conditions X, Y, and Z, and it would be better written
> as:
> <code>"

That's not true at all. Perhaps you are too dim to read between the
lines.

>
> So, you've been less than helpful to anyone except those looking for
> ammunition.

No, stupid. I *tried* to help that Resig moron a year and a half
ago. He just clucked like a wet hen. You didn't get it at all and
here we are. End of story.

>
> > But, stupid.  *Lots* of people had cross-browser scripting figured out
> > in 2003 (or so.)
>
> So why didn't they package it together as a great solution for
> developers to build from? Even the "code worth recommending" project

Because a general purpose browser scripting library is a stupid idea.
You don't try to solve every problem for every situation in a script
that must be downloaded and executed in a wide variety of
environments. What are the first three rules of browser scripting?
Context, context, context.

> here, which was supposed to gather a consensus about how to solve
> common problems and arrive at code that people code use and learn
> from, ground to a halt. If the people like you who obviously have all

Your memory is selective (as usual.) I'm the only one who packaged
all of that stuff (well, mostly my contributions) into a modular
library for anyone to pore over. My effort has hardly ground to a
halt. It's still there for the world to see.

> the technical answers could just organize yourselves and build
> something better than what is out there, you wouldn't have this
> problem.

You take forever to say nothing.

> Instead, you would have revolutionized browser scripting
> years ago and no one would be talking about this anymore because
> everyone would be using the One Great Library that solves problems
> correctly.

Still waiting for the coming of the One Great Library for all
occasions? Keep waiting. War will be over before you get there.

> John Resig would be posting on your support list asking
> which methods to use.

And you think that is appealing to me?

>
> Unfortunately - and I mean that sincerely - this didn't happen.

The old sincerity ploy.

> Instead you're left bitching and complaining to the world about the
> people who _did_ pick up the ball and start running in order to build
> something better. And you're STILL bitching instead of offering
> something better.

You are a moron and the only one who is bitching and complaining. I
just state facts.

>
> > read more »
>
> No thanks.

Clever. Learn to use GG.

Matt Kruse

unread,
Apr 7, 2009, 4:45:13 PM4/7/09
to
On Apr 7, 2:51 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Built into jQuery?!  So...  What did you need jQuery for in the first
> place?  It's main sales pitch was attaching events to lots of elements
> at once.

No.

> > know there can be problems with delegation - some events don't bubble,
> So?

This will prevent an event delegation strategy from working.

> > elements can cancel the bubble on the way up so they are lost, and
> If your code is incompetent.  Okay, that's a given.

Sometimes one works on pieces of code which exists within a container
that is outside of their control.

> > there is some overhead in determining how to act based on the original
> > target once the event has bubbled to the top (rather than simply
> > acting on the event of the original element and avoiding the bubble
> > altogether).
> Do shut up now.  Please.

I have nothing more to say when run from an argument.

> > That has problems. Specificity, for one. Adding classes to selected
> > elements is a more typical case anyway.
> Do tell.

Did.

> He just clucked like a wet hen.

I have 9 hens, and they don't cluck when they get wet. Curious.

> Because a general purpose browser scripting library is a stupid idea.

And yet here you are, day after day, doing google searches and
examining code of a general-purposes browser scripting library, trying
to identify its faults, because it has proven to be incredibly
popular.


They will never try to steal the phonograph because it has no
`commercial value.'
- Thomas Edison (1847-1931). (He later revised that opinion.)

This `telephone' has too many shortcomings to be seriously considered
as a practical form of communication. The device is inherently of no
value to us.
- Western Union internal memo, 1878

Radio has no future.
- Lord Kelvin (1824-1907), British mathematician and physicist,
ca. 1897.

While theoretically and technically television may be feasible,
commercially and financially I consider it an impossibility, a
development of which we need waste little time dreaming.
- Lee DeForest, 1926 (American radio pioneer and inventor of the
vacuum tube.)

What can be more palpably absurd than the prospect held out of
locomotives traveling twice as fast as stagecoaches?
- The Quarterly Review, England (March 1825)

The horse is here to stay, but the automobile is only a novelty—a fad.
- Advice from a president of the Michigan Savings Bank to Henry
Ford's lawyer Horace Rackham. Rackham ignored the advice and invested
$5000 in Ford stock, selling it later for $12.5 million.

That the automobile has practically reached the limit of its
development is suggested by the fact that during the past year no
improvements of a radical nature have been introduced.
- Scientific American, Jan. 2, 1909.

Heavier-than-air flying machines are impossible.
- Lord Kelvin (1824-1907), ca. 1895, British mathematician and
physicist

Airplanes are interesting toys but of no military value.
- Marshal Ferdinand Foch, French military strategist, 1911. He was
later a World War I commander.

To place a man in a multi-stage rocket and project him into the
controlling gravitational field of the moon where the passengers can
make scientific observations, perhaps land alive, and then return to
earth--all that constitutes a wild dream worthy of Jules Verne. I am
bold enough to say that such a man-made voyage will never occur
regardless of all future advances.
- Lee deForest (1873-1961) (American radio pioneer and inventor of
the vacuum tube.) Feb 25, 1957.

There is no reason for any individual to have a computer in their
home.
- Kenneth Olsen, president and founder of Digital Equipment Corp.,
1977.


See? There are others like you! Thankfully, people ignore your types
and move forward.

If the world should blow itself up, the last audible voice would be
that of an expert saying it can't be done.
- Peter Ustinov

> Your memory is selective (as usual.)  I'm the only one who packaged
> all of that stuff (well, mostly my contributions) into a modular
> library for anyone to pore over.  My effort has hardly ground to a
> halt.  It's still there for the world to see.

And completely unusable. You may have solved some of the problems, but
you have done so in a way that is not what people actually need. You
are the equivalent of an engineer who slaves away creating a beautiful
new product while a salesman goes out and benefits from it by
marketing it and packaging it in a way that the public wants. Except
you don't have a salesman.

> > John Resig would be posting on your support list asking
> > which methods to use.
> And you think that is appealing to me?

Sexually?

Matt Kruse

David Mark

unread,
Apr 7, 2009, 5:02:28 PM4/7/09
to
On Apr 7, 4:45 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 7, 2:51 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > Built into jQuery?!  So...  What did you need jQuery for in the first
> > place?  It's main sales pitch was attaching events to lots of elements
> > at once.
>
> No.

I say yes. The basic idea and central metaphor is doing things to a
group of elements in one line of code (which then proceeds to make
hundreds of function calls, dancing through minefields of faulty logic
and misconceptions.)

None of it has ever been useful. Period.

>
> > > know there can be problems with delegation - some events don't bubble,
> > So?
>
> This will prevent an event delegation strategy from working.

Thanks, professor. What does that have to do with jQuery? How does
jQuery make event delegation simpler to understand and/or more
concise? Likely the same way it did for attributes, properties,
computed styles, XML, etc., etc. That is to say that it propagates
mass confusion, which its users mistakenly blame on "differences
between browsers" or "buggy Javascript." Thank heaves they have
jQuery (one of them anyway) to see them through. ;)

>
> > > elements can cancel the bubble on the way up so they are lost, and
> > If your code is incompetent.  Okay, that's a given.
>
> Sometimes one works on pieces of code which exists within a container
> that is outside of their control.

You are truly trapped in a world you did not create.

>
> > > there is some overhead in determining how to act based on the original
> > > target once the event has bubbled to the top (rather than simply
> > > acting on the event of the original element and avoiding the bubble
> > > altogether).
> > Do shut up now.  Please.
>
> I have nothing more to say when run from an argument.

That wasn't an argument for jQuery was it? I stated delegation was
far superior to the typical "Unobtrusive Javascript" method of
attaching listeners to multiple siblings. You stated jQuery "has"
that (just like it had attributes and properties.) I stated that it
doesn't matter, then you came up with some nonsense about overhead
that jQuery has just the same. You are too loopy to argue with.

>
> > > That has problems. Specificity, for one. Adding classes to selected
> > > elements is a more typical case anyway.
> > Do tell.
>
> Did.

Thanks for the advice about adding classes. Don't need jQuery for
that either.

>
> > He just clucked like a wet hen.
>
> I have 9 hens, and they don't cluck when they get wet. Curious.

Eb, you miserable...

>
> > Because a general purpose browser scripting library is a stupid idea.
>
> And yet here you are, day after day, doing google searches and
> examining code of a general-purposes browser scripting library, trying
> to identify its faults, because it has proven to be incredibly
> popular.

And you still don't get it. It is a colossal failure. Obviously.
Even you can't miss that. Its popularity is its curse and will lead
to its downfall. Even you have to see that.

I am talking about it in the same way that a few people pointed out
that maybe that Madoff guy wasn't so smart after all. Accountability
is needed. If you don't appreciate it and want to lose your savings
in a puff of logic, go right ahead, but stop bitching about it.

>
> They will never try to steal the phonograph because it has no
> `commercial value.'
>     - Thomas Edison (1847-1931). (He later revised that opinion.)
>
> This `telephone' has too many shortcomings to be seriously considered
> as a practical form of communication. The device is inherently of no
> value to us.
>     - Western Union internal memo, 1878
>
> Radio has no future.
>     - Lord Kelvin (1824-1907), British mathematician and physicist,
> ca. 1897.

jQuery Rocks!
- Lots of clueless lemmings

>
> While theoretically and technically television may be feasible,
> commercially and financially I consider it an impossibility, a
> development of which we need waste little time dreaming.
>     - Lee DeForest, 1926 (American radio pioneer and inventor of the
> vacuum tube.)
>
> What can be more palpably absurd than the prospect held out of
> locomotives traveling twice as fast as stagecoaches?
>     - The Quarterly Review, England (March 1825)
>
> The horse is here to stay, but the automobile is only a novelty—a fad.
>     - Advice from a president of the Michigan Savings Bank to Henry
> Ford's lawyer Horace Rackham. Rackham ignored the advice and invested
> $5000 in Ford stock, selling it later for $12.5 million.
>
> That the automobile has practically reached the limit of its
> development is suggested by the fact that during the past year no
> improvements of a radical nature have been introduced.
>     - Scientific American, Jan. 2, 1909.
>
> Heavier-than-air flying machines are impossible.
>     - Lord Kelvin (1824-1907), ca. 1895, British mathematician and
> physicist
>
> Airplanes are interesting toys but of no military value.
>     - Marshal Ferdinand Foch, French military strategist, 1911. He was
> later a World War I commander.

So it *is* possible that lots of people could be wrong? I must have
missed your point (assuming you had one.) Predicting the future is
tricky, but certainly not in the case of jQuery.

>
> To place a man in a multi-stage rocket and project him into the
> controlling gravitational field of the moon where the passengers can
> make scientific observations, perhaps land alive, and then return to
> earth--all that constitutes a wild dream worthy of Jules Verne. I am
> bold enough to say that such a man-made voyage will never occur
> regardless of all future advances.
>     - Lee deForest (1873-1961) (American radio pioneer and inventor of
> the vacuum tube.) Feb 25, 1957.
>
> There is no reason for any individual to have a computer in their
> home.
>     - Kenneth Olsen, president and founder of Digital Equipment Corp.,
> 1977.
>
> See? There are others like you! Thankfully, people ignore your types
> and move forward.

That's my line.

>
> If the world should blow itself up, the last audible voice would be
> that of an expert saying it can't be done.
>     - Peter Ustinov

Why don't you blow yourself up?

>
> > Your memory is selective (as usual.)  I'm the only one who packaged
> > all of that stuff (well, mostly my contributions) into a modular
> > library for anyone to pore over.  My effort has hardly ground to a
> > halt.  It's still there for the world to see.
>
> And completely unusable. You may have solved some of the problems, but

Is it?! Seems a lot of people are learning from it (namely you and
John Resig.)

> you have done so in a way that is not what people actually need. You

How so?

> are the equivalent of an engineer who slaves away creating a beautiful
> new product while a salesman goes out and benefits from it by
> marketing it and packaging it in a way that the public wants. Except
> you don't have a salesman.

LOL. I'm not selling *that*. How do you "sell" a freely available
script anyway?

>
> > > John Resig would be posting on your support list asking
> > > which methods to use.
> > And you think that is appealing to me?
>
> Sexually?
>

Ask your other hen. She'll tell you.

Matt Kruse

unread,
Apr 7, 2009, 5:34:20 PM4/7/09
to
On Apr 7, 4:02 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Why don't you blow yourself up?

That's rude.

> > > Your memory is selective (as usual.)  I'm the only one who packaged
> > > all of that stuff (well, mostly my contributions) into a modular
> > > library for anyone to pore over.  My effort has hardly ground to a
> > > halt.  It's still there for the world to see.
> > And completely unusable. You may have solved some of the problems, but
> Is it?!  Seems a lot of people are learning from it (namely you and
> John Resig.)

I do admit to having looked it for about 15 minutes. It was bloated,
obtuse, seemingly obfuscated, and overly complicated to package. But
it sure looked solid. I'm not sure I learned anything from it, since I
don't remember any of it.

> > you have done so in a way that is not what people actually need. You
> How so?

You've provided a bunch of functions, but you haven't wrapped
functionality in such a way that makes it more usable, accessible, and
clear to novice developers. In fact, I'd say you've added a layer of
complexity rather than removing a layer (similar to YUI). At least
jQuery removes a layer of complexity and allows the developer to think
in a different manner (even if it does so poorly).

> > > > John Resig would be posting on your support list asking
> > > > which methods to use.
> > > And you think that is appealing to me?
> > Sexually?
> Ask your other hen.  She'll tell you.

Your lack of wit must be frustrating. You're like a one-legged man in
an ass-kicking contest.

Matt Kruse

David Mark

unread,
Apr 7, 2009, 5:46:34 PM4/7/09
to
On Apr 7, 5:34 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 7, 4:02 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > Why don't you blow yourself up?
>
> That's rude.
>
> > > > Your memory is selective (as usual.)  I'm the only one who packaged
> > > > all of that stuff (well, mostly my contributions) into a modular
> > > > library for anyone to pore over.  My effort has hardly ground to a
> > > > halt.  It's still there for the world to see.
> > > And completely unusable. You may have solved some of the problems, but
> > Is it?!  Seems a lot of people are learning from it (namely you and
> > John Resig.)
>
> I do admit to having looked it for about 15 minutes. It was bloated,

Bloated?! Couldn't be more streamlined.

> obtuse, seemingly obfuscated, and overly complicated to package.

Your memory is faulty:

http://groups.google.com/group/comp.lang.javascript/msg/440d31bf380187c5

"I finally got a chance to look through your library. It's robust and
technically solid..."

You mentioned it was superior to the other "major libraries" on these
points:

"1. Cross-browser, future-proof coding
2. Design and quality code/technical accuracy
3. API clarity "

So, who are you?

> But
> it sure looked solid. I'm not sure I learned anything from it, since I
> don't remember any of it.

Obviously. You can see bits of it in jQuery though. Tell me you
can't (assuming you can endure more humiliation.)

>
> > > you have done so in a way that is not what people actually need. You
> > How so?
>
> You've provided a bunch of functions, but you haven't wrapped

An API.

> functionality in such a way that makes it more usable, accessible, and
> clear to novice developers.

Actually, that's a complete falsehood. There is a completely optional
OO wrapper that makes it work much like jQuery (only the metaphors
make sense.) Or you can roll your own objects. *That* is not hard
(again, see the code.)

> In fact, I'd say you've added a layer of
> complexity rather than removing a layer (similar to YUI). At least

It is clear that you would say about anything.

> jQuery removes a layer of complexity and allows the developer to think
> in a different manner (even if it does so poorly).

You seem to be babbling randomly at this point.

>
> > > > > John Resig would be posting on your support list asking
> > > > > which methods to use.
> > > > And you think that is appealing to me?
> > > Sexually?
> > Ask your other hen.  She'll tell you.
>
> Your lack of wit must be frustrating. You're like a one-legged man in
> an ass-kicking contest.

I don't think you'd fare very well in an ass-kicking contest. :)

Thomas Allen

unread,
Apr 7, 2009, 10:35:03 PM4/7/09
to
Well, I just upgraded to IE8 on my Windows VM, and lo and behold, all
of the jQuery functionality on my websites works perfectly, including
some pretty complex interfaces (Views UI in Drupal, for one). I guess
it is, like David said, jQuery's Y2K: Nothing happened.

Thomas

David Mark

unread,
Apr 7, 2009, 10:47:51 PM4/7/09
to
On Apr 7, 10:35 pm, Thomas Allen <thomasmal...@gmail.com> wrote:
> Well, I just upgraded to IE8 on my Windows VM, and lo and behold, all
> of the jQuery functionality on my websites works perfectly, including

Or so you think. But does it matter if it is somehow straddling the
land mines? You can't have the slightest confidence in twiddling with
them now (again, the exceptions are the irretrievably stupid.) You
might as well tear them down and start over. Of course, you would
have to learn Javascript basics first.

> some pretty complex interfaces (Views UI in Drupal, for one). I guess
> it is, like David said, jQuery's Y2K: Nothing happened.

So all of those other reports were figments of imagination; your five
minutes of surfing and expert observation trump all of them (plus the
code?)

What happened is three years of conditioning went out the window.
There's no actual documentation for the attr and related methods, so
clearly people were going by their experience. The rules have changed
overnight (if you can call all those months of IE8 Beta testing
overnight), exacerbating what was an existing and fatal flaw in the
design and forcing everyone to come to a screeching halt to reevaluate
their own code. Also broke lots of plugins, Websites, applications,
mashups, etc. But you know that.

There's no easy way to fix it either. They can't even fix the
documentation as it wouldn't approach "concise" after that. Certainly
they can't rewrite the books or reprogram everyone's brains, so they
are pretty much stuck at this point. I don't think they understand
the issue(s) anyway. If they had understood them, they never would
have slept through IE8. I know you don't understand them, so why do
you feel compelled to play the role of the apologist?

Which version are you using BTW and perhaps you would like to share
your wonderful examples of progressive enhancement through jQuery?
They will likely expose the flaws in your thinking.

Thomas Allen

unread,
Apr 7, 2009, 11:10:40 PM4/7/09
to
On Apr 7, 10:47 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Of course, you would have to learn Javascript basics first.

OK, first off, stop that bullcrap. I help people out here with JS
questions, and while I'm not an expert, to say that I don't know the
basics is ridiculous.

> Also broke lots of plugins, Websites, applications,

The only thing that the upgrade may have broken is crap code. The only
plugin I use is Validate, which is working fine. The rest is my own
code which is simple and works well.

> so why do you feel compelled to play the role of the apologist?

Because there's an aggressor making up nonsense? Seems like the right
thing to do with the hard work that people put into making the library
work properly. On the other hand, why do you care at all if you don't
use jQuery? Makes no sense.

> Which version are you using BTW

Depending on the site, anywhere from 1.2.3 to 1.3.2.

Thomas

David Mark

unread,
Apr 7, 2009, 11:17:22 PM4/7/09
to
On Apr 7, 11:10 pm, Thomas Allen <thomasmal...@gmail.com> wrote:
> On Apr 7, 10:47 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > Of course, you would have to learn Javascript basics first.
>
> OK, first off, stop that bullcrap. I help people out here with JS
> questions, and while I'm not an expert, to say that I don't know the
> basics is ridiculous.

Care to put it to a vote?

>
> > Also broke lots of plugins, Websites, applications,
>
> The only thing that the upgrade may have broken is crap code. The only

That describes everything ever written on top of jQuery.

> plugin I use is Validate, which is working fine.

As you see it. Of course, using a jQuery plug-in to validate a form
is madness, but there you are.

The rest is my own
> code which is simple and works well.

Simple I buy.

>
> > so why do you feel compelled to play the role of the apologist?
>
> Because there's an aggressor making up nonsense?

How does that make you feel?

> Seems like the right
> thing to do with the hard work that people put into making the library

Spreading misinformation is never the right thing to do. And what
hard work? It's 50K of junk written three years ago by a student.
Now it's a cult. Do you mean the marketing effort? Sorry if I don't
appreciate some nitwit polluting the Web with nonsense to sell books.

> work properly. On the other hand, why do you care at all if you don't
> use jQuery? Makes no sense.

Why do you care if I care if I don't use jQuery? Makes no sense.

>
> > Which version are you using BTW
>
> Depending on the site, anywhere from 1.2.3 to 1.3.2.

Ladies and gentlemen, the irretrievably stupid.

Matt Kruse

unread,
Apr 7, 2009, 11:45:34 PM4/7/09
to
On Apr 7, 9:47 pm, David Mark <dmark.cins...@gmail.com> wrote:
> There's no actual documentation for the attr and related methods, so
> clearly people were going by their experience.

When will you get over your little revelation about the 'attr' method?
You're a broken record.

Matt Kruse

David Mark

unread,
Apr 8, 2009, 12:08:13 AM4/8/09
to
On Apr 7, 11:45 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 7, 9:47 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > There's no actual documentation for the attr and related methods, so
> > clearly people were going by their experience.
>
> When will you get over your little revelation about the 'attr' method?

There's nothing for me to "get over." It is a fact that the Web is
covered with jQuery x.y scripts, they all act differently, most employ
UA-based browser sniffing, all were totally unnecessary and a bad idea
to start with.

The attr method is just one example (as you know) that singularly
proves jQuery folly, just by its existence and history. It's a
microcosm of the whole doomed enterprise. It really cuts straight
through the onion. If you can't put the pieces together after all of
this "discussion", then you are simply a fool.

All hell is breaking loose with simple sites that should have never
had to worry about upgrading a fucking CSS selector query engine in
their lifetime, let alone rely on weird XML detection logic to set a
property (logic that just changed, along with browser sniffing and
hundreds of other complications.)

It is a ridiculous situation and browser scripting is going to become
irrelevant if it is permitted to continue. So the only sensible thing
to do is to destroy it completely. Do you have a problem with that?

> You're a broken record.

That's precisely what I think of you (and your current shadow.) A
periodic broken record. Every year and a half you pop-up to plug
jQuery and we have to go through this attributes song and dance.
Leave it alone. I actually tried to help you in the first place. You
either missed it or didn't understand, now here you are again. Only
the IE version has changed.

John G Harris

unread,
Apr 8, 2009, 4:53:08 AM4/8/09
to
On Tue, 7 Apr 2009 at 13:45:13, in comp.lang.javascript, Matt Kruse
wrote:

<snip>


>While theoretically and technically television may be feasible,
>commercially and financially I consider it an impossibility, a
>development of which we need waste little time dreaming.
> - Lee DeForest, 1926 (American radio pioneer and inventor of the
>vacuum tube.)

<snip>

Many of the commercial TV companies in the UK are in deep financial
trouble.


>There is no reason for any individual to have a computer in their
>home.
> - Kenneth Olsen, president and founder of Digital Equipment Corp.,
>1977.

<snip>

Cloud computing.

John
--
John Harris

Eric Bednarz

unread,
Apr 8, 2009, 5:21:02 AM4/8/09
to
Matt Kruse <ma...@thekrusefamily.com> writes:

> On Apr 7, 9:47 pm, David Mark <dmark.cins...@gmail.com> wrote:

[…]

> You're a broken record.

So stop inserting coins into the jukebox. :-)

--
λ

Matt Kruse

unread,
Apr 8, 2009, 10:46:08 AM4/8/09
to
On Apr 8, 4:21 am, Eric Bednarz <bedn...@fahr-zur-hoelle.org> wrote:

> Matt Kruse <m...@thekrusefamily.com> writes:
> > You're a broken record.
> So stop inserting coins into the jukebox. :-)

True, true.

Matt Kruse

David Mark

unread,
Apr 8, 2009, 11:37:43 AM4/8/09
to
On Apr 8, 4:53 am, John G Harris <j...@nospam.demon.co.uk> wrote:
> On Tue, 7 Apr 2009 at 13:45:13, in comp.lang.javascript, Matt Kruse
> wrote:
>
>   <snip>>While theoretically and technically television may be feasible,
> >commercially and financially I consider it an impossibility, a
> >development of which we need waste little time dreaming.
> >    - Lee DeForest, 1926 (American radio pioneer and inventor of the
> >vacuum tube.)
>
>   <snip>
>
> Many of the commercial TV companies in the UK are in deep financial
> trouble.

They died out in the US a long time ago.

[snip]

David Mark

unread,
Apr 8, 2009, 11:39:40 AM4/8/09
to

If only you would have heeded my similar advice about a hundred posts
ago. Just leave it alone.

David Mark

unread,
Apr 8, 2009, 11:57:10 AM4/8/09
to
On Apr 3, 11:15 pm, David Mark <dmark.cins...@gmail.com> wrote:
> First anecdotal report I've spotted:
>
> http://news.cnet.com/microsoft-launches-ie-8-with-a-smile/
>
> "... And today is not Microsoft's day on the Internet, since their
> bloated browser can't even display a JQuery page correctly."
>
> Certainly these sorts of complaints will reach a crescendo as the
> masses upgrade IE (or have it upgraded for them.)
>

I wish jQuery users would shut up about the attr method. They are
like broken records. :)

http://dev.jquery.com/ticket/4283

Resig tried to close it immediately, a month back:

"This is the correct behavior. If you're serving up your document as
XML you need to treat it like a proper XML document - which means only
modifying the actual DOM attributes (and not the expandos)."

:)

Some other pinhead chimed in with this:

"jQuery does many hacky things in the name of compatibility for HTML
documents. It seems that one goal of XHTML+XML is to require a high
level of precision on the part of the designer/developer to say
precisely what they mean with no sloppiness. There are significant
gotchas to trying to read minds."

No, it does lots of hacky things to break compatibility for HTML
documents.

"Just before your ticket last night, I looked at #4281 which is the
other side of this coin. That person wants to know why .attr
("onclick", "javascriptcode") only works once; it's due to the browser-
induced magic of attributes becoming properties. The same goes for an
element's style property (a CSSStyleDeclaration object) versus its
style attribute (a string, if it's specified at all)."

Browser-induced magic, indeed. I hate to say I told you so.

And the proposed "fix" from two weeks ago:

http://dev.jquery.com/attachment/ticket/4283/4283%20Temporary%20Fix.txt

"I've uploaded a temporary fix by proxying attr and remoteAttr. It's
not an ideal solution or fix. But for folks with the server sending
application-xhtml+xml content type correctly, this will work."

Of course, jQuery won't do anything right in XML parse mode, but that
is a minor detail compared to the rest of the discussion.

Matt Kruse

unread,
Apr 8, 2009, 1:59:49 PM4/8/09
to
On Apr 8, 10:57 am, David Mark <dmark.cins...@gmail.com> wrote:
> "Just before your ticket last night, I looked at #4281 which is the
> other side of this coin. That person wants to know why .attr
> ("onclick", "javascriptcode") only works once; it's due to the browser-
> induced magic of attributes becoming properties. The same goes for an
> element's style property (a CSSStyleDeclaration object) versus its
> style attribute (a string, if it's specified at all)."

This post goes on to say:

"It seems like this case would benefit from a $().prop() method that
you could use that when you know for sure that you need to get/set a
property and not an attribute."

Which is funny, because that's exactly what I have in my local
"corrected" version of jQuery, and it works well. No need for attr(),
which I'm sure will be overhauled (and hopefully split into different
methods) at some point in the near future and have its functionality
clarified.

Matt Kruse

David Mark

unread,
Apr 8, 2009, 2:05:30 PM4/8/09
to
On Apr 8, 1:59 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 8, 10:57 am, David Mark <dmark.cins...@gmail.com> wrote:
>
> > "Just before your ticket last night, I looked at #4281 which is the
> > other side of this coin. That person wants to know why .attr
> > ("onclick", "javascriptcode") only works once; it's due to the browser-
> > induced magic of attributes becoming properties. The same goes for an
> > element's style property (a CSSStyleDeclaration object) versus its
> > style attribute (a string, if it's specified at all)."
>
> This post goes on to say:
>
> "It seems like this case would benefit from a $().prop() method that
> you could use that when you know for sure that you need to get/set a
> property and not an attribute."

*This* case would benefit from a separate method to get/set
properties? Where have I heard that theory?

>
> Which is funny, because that's exactly what I have in my local
> "corrected" version of jQuery, and it works well.

Glad somebody was listening. Of course, it is too late to rewrite all
of the books, re-record all of the videos, change everybody's
assumptions, etc. Glad it works for you though! :)

> No need for attr(),
> which I'm sure will be overhauled (and hopefully split into different
> methods) at some point in the near future and have its functionality
> clarified.

Who cares if it is "overhauled?" It is ten years too late to justify
jQuery. You'll see what I mean when I do my summing up (won't be
posted here, but will refer to the same resources.)

And they *can't* split it up, which is the only overhaul that makes
any sense (as I mentioned over a year and a half ago.)

You weren't listening then. When did you start listening?

David Mark

unread,
Apr 8, 2009, 2:18:58 PM4/8/09
to
On Apr 8, 1:59 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 8, 10:57 am, David Mark <dmark.cins...@gmail.com> wrote:
>
> > "Just before your ticket last night, I looked at #4281 which is the
> > other side of this coin. That person wants to know why .attr
> > ("onclick", "javascriptcode") only works once; it's due to the browser-
> > induced magic of attributes becoming properties. The same goes for an
> > element's style property (a CSSStyleDeclaration object) versus its
> > style attribute (a string, if it's specified at all)."
>
> This post goes on to say:
>
> "It seems like this case would benefit from a $().prop() method that
> you could use that when you know for sure that you need to get/set a
> property and not an attribute."
>
> Which is funny, because that's exactly what I have in my local
> "corrected" version of jQuery, and it works well.

And if you must run a "corrected" version, then you know something is
broken. Why did you not submit a ticket? Why did you not answer any
of the misunderstood questions in the forum(s). Why would you
question my assessments about the problem? You are obviously a
complete hypocrite.

Also, how do you figure that your vague promises about future
overhauls mean anything? If you had been paying attention way back
when, it wouldn't need an overhaul (hint: overhauls are a major pain
in the ass for everyone involved, not to mention a waste of money.)

[snip]

Matt Kruse

unread,
Apr 8, 2009, 2:23:54 PM4/8/09
to
On Apr 8, 1:05 pm, David Mark <dmark.cins...@gmail.com> wrote:
> Of course, it is too late to rewrite all
> of the books, re-record all of the videos, change everybody's
> assumptions, etc.

One more place we disagree.

They are phasing out the browser sniffing and people are learning to
use feature detection (in some form).
The latest version of jQuery actually broke plugins and existing code
because it changed how things work.
They completely changed the meaning of the :visible pseudo-selector
with the latest release, which broke code, but people quickly caught
up.

If John et al demand strict backwards-compatibility, then yeah,
they're kind of screwed. Hopefully they will be willing to change the
API and modify existing behavior as needed to make the whole thing
more solid. I trust they will, you assume they won't.

> Who cares if it is "overhauled?"  It is ten years too late to justify
> jQuery.  You'll see what I mean when I do my summing up (won't be
> posted here, but will refer to the same resources.)

I don't follow.

Matt Kruse

David Mark

unread,
Apr 8, 2009, 2:37:23 PM4/8/09
to
On Apr 8, 2:23 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 8, 1:05 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > Of course, it is too late to rewrite all
> > of the books, re-record all of the videos, change everybody's
> > assumptions, etc.
>
> One more place we disagree.

Of course. I'd say I disagree with you in the same way that I
disagree with dandelions in my lawn. They don't really have a
position either.

>
> They are phasing out the browser sniffing and people are learning to

Phasing out the browser sniffing? In 2009? After ten years of calm
on the IE front, just after IE8 is released? This seems sane to you?

> use feature detection (in some form).

They are only up to the page on object inferences.

> The latest version of jQuery actually broke plugins and existing code
> because it changed how things work.

Thank you.

> They completely changed the meaning of the :visible pseudo-selector

Thank you.

> with the latest release, which broke code, but people quickly caught
> up.

YMMD. And, of course, none of this justifies the idea of binding
Websites and applications to an ever-shifting collection of
misconceptions.

>
> If John et al demand strict backwards-compatibility, then yeah,

They don't demand anything. They break compatibility between jQuery
versions, browser versions and configurations and they do it *all the
time*.

> they're kind of screwed. Hopefully they will be willing to change the

They're very much screwed. The books are kindling. Obviously. All
code that has ever been written on top of jQuery must now be modified
to use the new version(s) (assuming there is ever one that can be
considered stable.)

> API and modify existing behavior as needed to make the whole thing
> more solid. I trust they will, you assume they won't.

Jesus. The central idea is that nobody should care if they will,
won't or whatever. Enough is enough. It was a stupid idea. You
aren't supposed to have to constantly upgrade complex and
interdependent blobs of Javascript to keep up with other people's
misconceptions. Are you kidding?

>
> > Who cares if it is "overhauled?"  It is ten years too late to justify
> > jQuery.  You'll see what I mean when I do my summing up (won't be
> > posted here, but will refer to the same resources.)
>
> I don't follow.

Then you are as irretrievably stupid as your shadow. After ten years,
they still don't get IE6/7. How many times has this stupid script
been rewritten, built up, torn down, drawn and quartered in the
meantime? How can you consider that a good thing when they have been
staring at the same critical bug all of that time, yet have done
nothing to put off disaster (which arrived in the form of IE8.)

Timo Reitz

unread,
Apr 8, 2009, 2:42:48 PM4/8/09
to
Thomas Allen wrote:
> Worst case scenario: Everything you claim about the library is correct
> and it's complete rubbish that will blow up in our faces when Browser
> X is released. I don't use JavaScript to provide critical
> functionality on any website, so the worst thing that would happen is
> that the site would be without JS for Browser X until (a) the jQuery
> team came up with a fix, which is likely, or (b) we rewrote our
> scripts that make use of jQuery, which mostly do some client-side form
> validation and a few drop-down menus.

"without JS"? But it's still there, just with a library with an undesired
behaviour. That's not the same! The part of your scripts which changes
something (so it could not be used without JS anymore) may be still
functional, while the part that does the work stops working.

David Mark

unread,
Apr 8, 2009, 2:52:03 PM4/8/09
to

Exactly. Botched attempts at progressive enhancements are very common
and typically render pages unusable. jQuery provides no mechanism to
determine if and when things will work as expected (or not), so it
provides no way to avoid breaking documents. In short, calling apps
blunder right into exceptions with no recourse. It would take a real
fool (or fools) to implement progressive enhancement in this way.

Matt Kruse

unread,
Apr 8, 2009, 2:55:48 PM4/8/09
to
On Apr 8, 1:18 pm, David Mark <dmark.cins...@gmail.com> wrote:
> And if you must run a "corrected" version, then you know something is
> broken.

Of course. I have several corrections in a local versions. And my own
hacked-up versions of some plugins.

> Why did you not submit a ticket?  

I contribute when the effort to do so is minimal and the potential
benefits to me make it worth it. This is not my job. If I point out
something on the dev mailing list, someone else will submit a ticket.
I find the process annoying.

> Why did you not answer any
> of the misunderstood questions in the forum(s).

I do answer questions there, randomly. Just like I participate here
randomly.

> Why would you question my assessments about the problem?

I'm not sure I ever did. At least not the technical side of it. The
implications of the problems, well we certainly disagree there.

To you, broken functionality means the whole thing is junk. To me,
broken functionality gets factored into the pro/con list for using the
tool, and gives you something to avoid or patch. No big deal. For me
it's fairly effortless to fix the things in jQuery that I consider
broken enough to need it. If those things get fixed in the core code,
then I just remove that part of my wrapper.

> You are obviously a complete hypocrite.

Nope, I just don't play in the world the way you want me to.

> Also, how do you figure that your vague promises about future
> overhauls mean anything?  If you had been paying attention way back
> when, it wouldn't need an overhaul (hint: overhauls are a major pain
> in the ass for everyone involved, not to mention a waste of money.)

They may be a pain in the ass, they may not. Depends on what part of
jQuery you use and what they change. Of course, if things work as-is,
there is no need to upgrade at all.

I've always told people not to rely on jQuery plugins (despite having
written one myself), and _certainly_ not on a stack of plugins with
dependencies. Upgrading to the latest version of jQuery didn't affect
me, AFAIK. If it did, I would either patch my code or my jQuery
wrapper.

I do think that developers using jQuery need some guidance. For
example:

1. Avoid plugins
2. Use POJS and normal DOM methods whenever it makes sense rather than
"the jQuery way"
3. Don't depend on attr()
4. Don't use jQuery on public-facing production sites where you aren't
willing to sacrifice a small percentage of users due to
incompatibility
5. Don't do lots of "progressive enhancement" using $(document).ready
() such as attaching hundreds of event listeners
6. Don't make repeated calls to $() for the same selector - instead,
cache the results into a variable
7. If you require high performance, break out of jQuery and manipulate
the DOM the old fashioned way
8. Use event delegation

In fact, some of these are part of a "jQuery Best Practices" document
I've written and will probably publish at some point.

With that being said, though, I use jQuery because of things like
this:

$('#container').css('position','absolute').animate({left:'+50px'});

How fun is that? It does exactly what I want. Sure, I could write my
own animation methods, but why? This works well, is easy to write, and
even has nice easing effects by default.

And stuff like that is why I use jQuery.

Matt Kruse

David Mark

unread,
Apr 8, 2009, 3:22:22 PM4/8/09
to
On Apr 8, 2:55 pm, Matt Kruse <m...@thekrusefamily.com> wrote:
> On Apr 8, 1:18 pm, David Mark <dmark.cins...@gmail.com> wrote:
>
> > And if you must run a "corrected" version, then you know something is
> > broken.
>
> Of course. I have several corrections in a local versions. And my own
> hacked-up versions of some plugins.

Thank you.

>
> > Why did you not submit a ticket?  
>
> I contribute when the effort to do so is minimal and the potential
> benefits to me make it worth it. This is not my job. If I point out
> something on the dev mailing list, someone else will submit a ticket.
> I find the process annoying.

All that shit about me not submitting tickets, being "unhelpful" was
just a waste of time, wasn't it?

>
> > Why did you not answer any
> > of the misunderstood questions in the forum(s).
>
> I do answer questions there, randomly. Just like I participate here
> randomly.

That's an apt description.

>
> > Why would you question my assessments about the problem?
>
> I'm not sure I ever did. At least not the technical side of it. The
> implications of the problems, well we certainly disagree there.
>
> To you, broken functionality means the whole thing is junk. To me,
> broken functionality gets factored into the pro/con list for using the
> tool, and gives you something to avoid or patch. No big deal. For me
> it's fairly effortless to fix the things in jQuery that I consider
> broken enough to need it. If those things get fixed in the core code,
> then I just remove that part of my wrapper.

Shut up.

>
> > You are obviously a complete hypocrite.
>
> Nope, I just don't play in the world the way you want me to.
>
> > Also, how do you figure that your vague promises about future
> > overhauls mean anything?  If you had been paying attention way back
> > when, it wouldn't need an overhaul (hint: overhauls are a major pain
> > in the ass for everyone involved, not to mention a waste of money.)
>
> They may be a pain in the ass, they may not. Depends on what part of
> jQuery you use and what they change. Of course, if things work as-is,
> there is no need to upgrade at all.

Shut up.

>
> I've always told people not to rely on jQuery plugins (despite having
> written one myself), and _certainly_ not on a stack of plugins with
> dependencies. Upgrading to the latest version of jQuery didn't affect
> me, AFAIK. If it did, I would either patch my code or my jQuery
> wrapper.

Dear God.

>
> I do think that developers using jQuery need some guidance. For
> example:
>
> 1. Avoid plugins
> 2. Use POJS and normal DOM methods whenever it makes sense rather than
> "the jQuery way"

So, if I may jump in to sum up. Avoid jQuery plug-ins and avoid
jQuery whenever possible. Do you hear yourself?

> 3. Don't depend on attr()

Too bad the entire culture revolves around that method.

> 4. Don't use jQuery on public-facing production sites where you aren't
> willing to sacrifice a small percentage of users due to
> incompatibility

LOL. A small percentage?

> 5. Don't do lots of "progressive enhancement" using $(document).ready

But, but, but... That's the "jQuery way!" Oh, see #2.

> () such as attaching hundreds of event listeners
> 6. Don't make repeated calls to $() for the same selector - instead,
> cache the results into a variable

Too bad the entire culture revolves around that technique. They've
never heard of "caching" references to host objects.

> 7. If you require high performance, break out of jQuery and manipulate
> the DOM the old fashioned way

If I could reach through the monitor and strangle you at this point,
you can believe I would. Why have you wasted all of this time, just
to make all of my points for me?

> 8. Use event delegation

Thanks for that tip, professor. What does this have to do with
jQuery.

>
> In fact, some of these are part of a "jQuery Best Practices" document
> I've written and will probably publish at some point.

You've got a best-seller there for sure! :)

>
> With that being said, though, I use jQuery because of things like
> this:
>
>   $('#container').css('position','absolute').animate({left:'+50px'});

(Test your code before posting.)

In other words, you are a complete prat. That ridiculous chaining,
which saved you nothing but some whitespace (which will likely be
minified out of the equation anyway) makes debugging a nightmare (even
before minification.)

var el = document.getElementById('container');
el.style.position = 'absolute';

Never mind the animation. The default browsers for Mac and Windows
come with that built-in. The others will follow. Whatever your next
call, it is just another line:

animate(el, {left:'+50px'});

Which is simpler? One long, ugly mess or three concise lines? We
know which is simpler to debug.

>
> How fun is that? It does exactly what I want. Sure, I could write my

Not fun at all. It does not do exactly what you want. You have no
idea what it does (in many cases.) You only have your own empirical
evidence, which doesn't add up to an argument.

> own animation methods, but why? This works well, is easy to write, and
> even has nice easing effects by default.

Little need to write animation methods at this point (or at all in the
near future.) Many good examples out there. And easing functions are
one-liners, genius. Copy all you want, they'll make more. Certainly
no need to tangle up animation and easing with a CSS selector query
engine (or the rest of Resig's interdependent follies.)

You can't even update a one-line function (or add new ones) without
breaking compatibility. And you have to upgrade every time as they
never get things right, so you can't break compatibility. Your
arguments go around in cirles.

>
> And stuff like that is why I use jQuery.

And why you should be considered a less than reliable source of
information on Javascript, browser scripting or programming in general.

Thomas Allen

unread,
Apr 8, 2009, 3:23:37 PM4/8/09
to
On Apr 8, 2:42 pm, Timo Reitz <godsb...@arcor.de> wrote:

By "without JS," I meant "without features provided by jQuery," as I
was referring to sites with mainly jQuery-derived functionality in the
first place. As I typically use

$(document).ready(function() { ...

to add onload events, these sites that lean on jQuery probably would
in fact lose all JS functionality (which, like I said, consists of non-
essentials, because I make sure that all of my sites work well with JS
absent).

But so far, so good. I honestly wasn't too worried about the upgrade
process for a browser that is gradually becoming more standards-
compliant.

Thomas

Eric Bednarz

unread,
Apr 8, 2009, 6:42:16 PM4/8/09
to
Matt Kruse <ma...@thekrusefamily.com> writes:

To be fair, I probably hate jQuery much more then David does, with
probably much better reasons, I just don’t enjoy these long pointless
threads. :-)

David Mark

unread,
Apr 8, 2009, 7:08:13 PM4/8/09
to
On Apr 8, 6:42 pm, Eric Bednarz <bedn...@fahr-zur-hoelle.org> wrote:
> Matt Kruse <m...@thekrusefamily.com> writes:
> > On Apr 8, 4:21 am, Eric Bednarz <bedn...@fahr-zur-hoelle.org> wrote:
> >> Matt Kruse <m...@thekrusefamily.com> writes:
> >> > You're a broken record.
> >> So stop inserting coins into the jukebox. :-)
>
> > True, true.
>
> To be fair, I probably hate jQuery much more then David does, with
> probably much better reasons, I just don’t enjoy these long pointless
> threads. :-)

Well, are they better reasons or not? Would you be willing to file a
ticket on them?


Eric Bednarz

unread,
Apr 14, 2009, 5:00:18 AM4/14/09
to
David Mark <dmark....@gmail.com> writes:

> On Apr 8, 6:42 pm, Eric Bednarz <bedn...@fahr-zur-hoelle.org> wrote:

>> To be fair, I probably hate jQuery much more then David does, with

>> probably much better reasons, […]

> Well, are they better reasons or not?

That depends on your point of view (all of the following would be true
for me even if your technical criticism were not valid).

I don’t mind so much if people wanna use jQuery on their own website or
one man company work, but I do mind it on the work floor a lot. While I
can sort of see its appeal for front-end developers who quickly want to
prototype behaviour in a website mockup, it creates the delusion (also
at the management level) that something is ‘about 95% finished’ after
that; all what is usually needed then is somebody to tear down the brick
wall that has the remaining “5%” on its other side (guess who is *not*
going to do *that*, especially when it turns out that those 5% require
500% of the previous development time ;-).

And it seems to encourage trial & error spaghetti code that has to be
totally rewritten. That’s the curse of quickly and easily ‘prototyping’
applications, instead of design you get a lot of ad hoc features
patched together.

0 new messages