T
timothytoe
have you worked out which post you are
replying to yet?
No, could you please help me with that?
replying to yet?
No, could you please help me with that?
Perhaps the library writers could be more easily convinced to see
things the correct way if insults were not the default form of
greeting on clj.
timothytoe said:No, could you please help me with that?
OK. You are using Google groups so you start off with a huge disadvantage
because all of its defaults are now geared toward Google's own web forums
rather than Usenet. Web forums tend to be linear and all new posts are
effectively just appended to a list. Usenet is 'threaded', which means that
discussions are tree-like in form. A discussion starts with a posted message
(know as the OP (for Original Post, though OP is also used to refer to the
Original Poster (the individual who makes the original post))), any number
of people may reply that OP and each reply can be subject to other replies,
thus each reply to the OP potentially becomes a branch in the tree structure
of the thread (though it may end up being a leaf if it does not get
responded to).
Most of the people who regularly use the group are doing so through
dedicated news servers (provided by their ISPs or as commercial service by
third parties (the days of free public news servers seem to have gone)) and
are using 'newsreader' software that is geared to presenting Usenet in its
threaded form.
This is not to say that Google groups interface cannot show Usenet in its
threaded form. Go to a discussion listing and click on the word 'Options' at
the right end of the grey bar that contains the subject to expand some
'links' that provide display options. One of those options is labelled "View
as tree", and clicking it shows Google's best effort at a tree display of
the thread. That should make things clearer.
It is also a good idea to also use the 'fixed font' option because ascii art
and various common text highlighting strategies rely upon the reader using a
fixed width font, as otherwise there is no telling how wide the reader's
characters (especially spaces) are. Also, avoid using tabs to indent code
(use (possibly multiple) spaces instead) because the display capabilities
and defaults of newsreaders when handling tabs varies enormously.
If you want to see the mechanism behind Usenet threading use the "more
options" 'link' at the top of each message and click the "Show original"
option. This shows the individual message with its headers (though google
always mangle everything that looks like an e-mail address). Not that each
message has a Message-ID header that uniquely identifies the message, and a
References header that describes its context in the tree of the thread by
listing the chain of Message-ID from the original post at the beginning to
the message that the current message is responding to at the end.
While you are there note that a Content-Type header should exist and specify
"text/plain". Usenet is normally (and comp.lang.javascript always) a plain
text medium (no HTML posts, mixed content posts or attachments here). That
explains why you don't need PRE elements in order to retain text formatting,
and why <i>xxx</i> doesn't work. There are Usenet conventions for
*emphasis*, _underline_ and /stress/ in plain text messages.
While you are in the 'options' at the top of each message, to the far left
is a 'Reply' option that has historically been the most effective at
providing the previous message body in a quoted form and replying
effectively to the specific message. There have been many (often extended)
periods when the similar link at the bottom of the message has either failed
to reply to the specific message or not provide the previous message in
quoted form. Remember that Google's javascript developers (and particularly
the ones working on google groups) are quite astoundingly bad, so you can
consider yourself lucky if anything works properly/consistently over any
period of time. Despite that you will be held responsible for what you post,
so keep your eyes open for when google f**k-up, because they will (and
blaming them will not get you very far).
In that context, be particularly cautions of google's habit of inserting
statements like "Show quoted text" into the material they present as a
'quote' of the pervasions message. The accuracy of any quotes you post are
your responsibility. You may edit the irrelevant/superfluous (appropriately
marking such edits so there is no doubt about what you have done) but you
must not change the wording of whatever you do quite and you certainly must
not add anything because that would be (literally or by implication) putting
words into other people's moths and be disingenuous at the very least.
Remember, it is no good blaming google, you are 100% responsible for
everything _you_ post.
There is a conventional/traditional form for Usenet posts. You can find out
more about this through the group's FAQ (hint: it is in the faq notes). We
expect to see that form followed here. The reasoning goes; A well
formed/complete Usenet post requires a little discipline, while browser
scripting requires a lot of discipline, so an individual who cannot
demonstrate the former is going to be a hopeless case with regard to the
latter. That may seem harsh and a little arbitrary but experience has not
invalidated it.
Richard.
timothytoe said:On Feb 16, 5:55 pm, "Richard Cornford" <[email protected]>
wrote: [...]Richard.
Ah, I see. Some of you are still reading on Usenet. I've not done it
that way for a few years. I understand the confusion now. Makes
perfect sense. Thanks.
timothytoe said:On Feb 16, 5:55 pm, Richard Cornford wrote:
Ah, I see.
Some of you are still reading on Usenet.
I've not done it that way for a few years. I understand
the confusion now. Makes perfect sense. Thanks.
timothytoe said:Until a clj Nazi codes a "correct" library with the capabilities
of jQuery or Prototype or YUI, those libraries will be continue
to be used to make websites. And probably to an acccelerating
degree.
I agree that browser-sniffing is about as appealing as
anus-sniffing, but programmers in the real-world sometimes need
to actually get things done. A smart programmer (as opposed to
a perfection-seeking zealot} will go with the flow and be able
to throw together a website quickly as a result.
Sure, the website will be brittle, and users with
obscure browsers will whine, but that's not a bad way
for programmers to ensure future work.
I agree that browser-sniffing is about as appealing as anus-sniffing,
but programmers in the real-world sometimes need to actually get
things done. A smart programmer (as opposed to a perfection-seeking
zealot} will go with the flow and be able to throw together a website
quickly as a result. Sure, the website will be brittle, and users with
obscure browsers will whine, but that's not a bad way for programmers
to ensure future work.
If you go back 5 or 6 years there is (or was) a "real world" practice that
had pretty much all of the characteristics that we see paraded before us in
favour of the otherwise objectively and demonstrably bad library code.
That practice was using the - eval - function to retrieve object references
using runtime assembles string representations of dot notation property
accessors. It had everything you might want; there were literally millions
of examples in use on the Internet, including on all of the sites of all of
the often-listed "major players" and in the majority of the 'popular
libraries' of the time. It worked, it got the job done and it allowed people
with a limited understanding of javascript to throw together web sites that
they would not have been able to create otherwise. (Indeed in relation to
browser sniffing it also has the advantages of a formal technical
justification and actually being reliable). It worked just fine then, it
works today, and it is going to still work tomorrow.
It is gone now. You don't see it being done in anything but the very oldest
code, and you don't see anyone recommending it as a practice any more. Why
is that? Could it be that somewhere there were people who could recognise a
bad idea when they observed it? People who were not interested in following
the crowd or accepting the "a million monkeys can't be wrong" argument.
Perfectionist zealots who kept on saying "this is stupidly inefficient",
"this is totally unnecessary" and "you should be doing this instead" until
eventually enough people understood the folly sufficiently for its
prorogation to cease and for the practice to die out.
Did you go and look at the "Why should I eschew prototype.js?" thread I
referred to? Did you see the code I highlighted there demonstrating that the
author of the (at the time) latest version of Prototype.js did not
understand how the code he was writing worked, and had ended up with
something that, where it worked at all, worked only by coincidence? It is
not a subjective question, and it is not a matter of opinion, it is in the
code for all to see; Prototype.js was written by people who don't understand
javascript. They don't understand its theory and they don't comprehend its
reality. Now if, knowing that, someone still thinks it is going to be a good
idea to use Prototype.js then more fool them, I cannot stop them. But that
is not a reason for me to stop telling it like it is.
Have you looked at the John Resig material I have been quoting today? Have
you seen the common theme?
Ignorance?
Professionalism? Did you actually ask the client how they feel about your
design strategy?
Richard.
Peter Michaux said the following on 2/16/2008 4:47 PM:
Fine by me. See my other reply. Somebody writes a Prototype entry and
the group wants it in the FAQ, I will add it
Peter Michaux said the following on 2/17/2008 1:57 AM:
Adding an entry isn't a big deal. It just a few lines pasted into a
file. The rest is automated. As for whether it should be in there or
not, let me see if I can find the thread where it was talked about last
time.
<FAQENTRY>
What are some of the problems with general purpose javascript libraries?
The consensus of regular posters in comp.lang.javascript hold the view
that most, if not all, general purpose libraries are of a sufficient
lack of quality as to make them useless in a cross-browser environment.
These are a few of the discussions that have taken place in the past
about libraries available for general public use:
Prototype.js:
<URL here>
<URL here>
<URL here>
YUI:
<URL here>
<URL here>
Mootools:
<URL here>
<URL here>
Etc..
That is a start.
I haven't been following your RFC threads lately, anything FAQ related
in them?
Peter Michaux said the following on 2/17/2008 2:30 AM:
I think that implies, or might, that non-mainstream libraries don't
suffer many of the problems that mainstream libraries do.
You going to volunteer to hunt and weed out the threads for links?
You know me too well
I think that Matt's libraries should be included as well if there are
any threads where they are discussed. From what I have seen though, when
Matt finds out about a problem with one of his, he tries to correct it.
Peter Michaux said the following on 2/17/2008 2:30 AM:
Well, if it isn't right, we can be sure Dr Stockton will mention it to
you soon and frequently.
I can find some.
I didn't say I was going to spend my life compiling them all.
These are ones I remember and all involve regulars and the general
opinions in the group. In some of the threads more than one library is
mentioned but I've grouped by the library that took the hardest hit.
Prototype
http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/181f03af63cc81c2
http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/2072e63631688fc4
jQuery
http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/415949d1bcce6e6a
YUI
http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/fefce445673d7135
http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/37c2a1b93d566b74
Peter
I don't think any library should be endorsed. Or condemned. Matt'sPeter Michaux said the following on 2/17/2008 2:30 AM:
Well, if it isn't right, we can be sure Dr Stockton will mention it to
you soon and frequently.
I can find some.
Matt did mention in one of the recent, colossal jQuery threads that he
uses jQuery at work and doesn't have much time for his own code
anymore. I don't know if he is keeping up to date.
library does not appear to be maintained.
Is there a bug count that, say, Prototype exceeds, yet Javascript
toolbox doesn't?
Which library should I use?
would be a good FAQEntry.
It could cover a range of things from: What are your needs/what are
you trying to accomplish? Or all or none of the following:
Library: jQuery :
overview: <BLAH>
pro: small, simple API
con: oversimplified; code behind methods is complicated, difficult
to test
<UNBIASED EXAMPLE>
known bugs /issues: <UNBIASED EXAMPLE>
highlights:
Then the reader can make his onw decision.
Pick Popular libraries that getasked about frequently. EXT, YUI,
Peter Michaux said:But why do they get better so slowly when so many people are using
them and apparently reading the code? Browser scripting topics like
feature detection have been known for a long time and there are many
well known tests; however, the mainstream libraries opt for
navigator.userAgent frequently.
David Mark said:No, that is an imagined utopia, where there are only three or four
agents to consider and user agent strings are meaningful.
Lasse said:According to the author of JQuery there are cases where it's
the only thing that "works".
You can't test for rendeing bugs by feature
detection.
You can have browsers that implement a feature so badly
that you must avoid it, even if feature detection detects it.
There is no easy way to make two pieces of crap compatible
According to the author of JQuery there are cases where it's the only
thing that "works". You can't test for rendeing bugs by feature detection.
You can have browsers that implement a feature so badly that you must
avoid it, even if feature detection detects it.
There is no easy way to make two pieces of crap compatible
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.