Options:
- # Session Start: Sun Jan 13 00:00:00 2008
- # Session Ident: #whatwg
- # [00:03] * Joins: anne-mac (n=annevk@77.163.243.203)
- # [00:19] * Joins: doublec (n=Chris_Do@202-74-218-144.ue.woosh.co.nz)
- # [00:21] * Quits: MacDome (n=eric@c-69-181-78-198.hsd1.ca.comcast.net)
- # [00:24] * Joins: MacDome (n=eric@c-69-181-78-198.hsd1.ca.comcast.net)
- # [01:23] * Quits: anne-mac (n=annevk@77.163.243.203) (Read error: 110 (Connection timed out))
- # [01:39] * Quits: doublec (n=Chris_Do@202-74-218-144.ue.woosh.co.nz) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [02:24] * Joins: doublec (n=doublec@203-211-99-90.ue.woosh.co.nz)
- # [03:20] * Quits: tndH (i=Rob@87.102.4.60) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [03:31] * Quits: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no) ("This computer has gone to sleep")
- # [03:36] * weinig is now known as weinig|foods
- # [05:02] * Parts: webben (n=benh@91.84.244.69)
- # [05:05] * weinig|foods is now known as weinig
- # [05:45] * Quits: MacDome (n=eric@c-69-181-78-198.hsd1.ca.comcast.net)
- # [05:48] * Joins: MacDome (n=eric@c-69-181-78-198.hsd1.ca.comcast.net)
- # [06:02] * Joins: kfish (n=conrad@61.194.21.25)
- # [06:04] * MacDome is now known as MacDomeOut
- # [06:43] * Quits: doublec (n=doublec@203-211-99-90.ue.woosh.co.nz) ("Leaving")
- # [06:59] * Quits: kfish (n=conrad@61.194.21.25) ("Pike!")
- # [07:05] * Joins: kfish (n=conrad@61.194.21.25)
- # [07:07] * Quits: kfish (n=conrad@61.194.21.25) (Client Quit)
- # [07:51] * Joins: doublec (n=Chris_Do@203-211-82-31.ue.woosh.co.nz)
- # [08:36] * Joins: aconbere|mobile (n=aconbere@c-67-171-24-45.hsd1.wa.comcast.net)
- # [08:37] <aconbere|mobile> hey, I'm working with html5lib in python and wondering if anyone has any advice on getting the lxml treebuilder working
- # [08:37] <aconbere|mobile> there don't apear to be any exmples that use it
- # [08:37] <aconbere|mobile> and when I do
- # [08:37] <aconbere|mobile> parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder('lxml'))
- # [08:37] <aconbere|mobile> I get the following error
- # [08:38] <aconbere|mobile> File "/Users/aconbere/Projects/python/html5lib/html5parser.py", line 52, in __init__
- # [08:38] <aconbere|mobile> self.tree = tree()
- # [08:38] <aconbere|mobile> TypeError: 'NoneType' object is not callable
- # [08:38] <aconbere|mobile> This happens for me both in trunk and in .10
- # [08:38] <aconbere|mobile> so I don't know if that's how you expected lxml to be implimented and there's a bug, or if there was some other expectation :-P
- # [08:39] <aconbere|mobile> ahh, actually the trunks doc string helps clarify that
- # [08:44] <aconbere|mobile> http://dpaste.com/30872/
- # [08:44] <aconbere|mobile> is the new traceback
- # [08:44] <aconbere|mobile> for the test file
- # [08:44] <aconbere|mobile> http://dpaste.com/30873/
- # [08:54] <aconbere|mobile> hmmm
- # [08:54] <aconbere|mobile> known bug
- # [08:54] <aconbere|mobile> okay I'll be about my buisness then
- # [09:37] * Quits: digx (n=rick@c-76-109-201-140.hsd1.fl.comcast.net) (Read error: 110 (Connection timed out))
- # [09:47] * MacDomeOut is now known as MacDome
- # [09:52] <MacDome> kig: url of your rewrite page?
- # [10:00] * Joins: Lachy (n=Lachlan@cm-84.215.54.100.getinternet.no)
- # [10:13] * Joins: ROBOd (n=robod@89.122.216.38)
- # [10:43] * Joins: maikmerten (n=maikmert@Lb56a.l.pppool.de)
- # [10:59] * Quits: maikmerten (n=maikmert@Lb56a.l.pppool.de) ("Leaving")
- # [11:11] * othermaciej is now known as om_sleep
- # [11:33] * MacDome is now known as MacDomeSleep
- # [11:47] * Quits: doublec (n=Chris_Do@203-211-82-31.ue.woosh.co.nz) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [11:48] * Joins: doublec_ (n=ChrisDou@li5-223.members.linode.com)
- # [11:48] * doublec_ is now known as doublec
- # [11:50] * Joins: doublec_ (n=Chris_Do@203-211-82-31.ue.woosh.co.nz)
- # [11:50] * Parts: doublec_ (n=Chris_Do@203-211-82-31.ue.woosh.co.nz)
- # [11:57] <jgraham> aconbere|mobile: Yeah, there have been problems with lxml since they started validating tag names. We need to come up with a long term solution better than the magic-name based hack we were previously using.
- # [11:58] <jgraham> Sadly, our design assumptions are not quit the same as those made in lxml so there's a bit of an impedance mismatch.
- # [12:13] * Quits: doublec (n=ChrisDou@li5-223.members.linode.com) ("Terminated with extreme prejudice - dircproxy 1.0.5")
- # [12:13] * Joins: doublec (n=ChrisDou@li5-223.members.linode.com)
- # [12:14] * Quits: doublec (n=ChrisDou@li5-223.members.linode.com) (Client Quit)
- # [12:16] * Joins: webben (n=benh@91.84.244.69)
- # [12:16] * Joins: doublec (n=ChrisDou@li5-223.members.linode.com)
- # [12:22] <aconbere|mobile> jgraham: understood
- # [12:23] <aconbere|mobile> really I was looking for a way to make parsing microformats easier, which if all I was interested in was getting properly formed xml out html5lib would have been fine for (using one of the other Etree implimentations)
- # [12:23] <aconbere|mobile> but I /really/ wanted to be able to apply xsl transforms to the xml
- # [12:23] <aconbere|mobile> and lxml makes that so much easier :P
- # [12:33] * Quits: doublec (n=ChrisDou@li5-223.members.linode.com) ("Terminated with extreme prejudice - dircproxy 1.0.5")
- # [12:33] <jgraham> aconbere|mobile: Yeah, I rather like lxml myself, so there is an incentive there to find a fix :)
- # [12:35] <aconbere|mobile> :-D
- # [12:40] * Joins: doublec (n=ChrisDou@li5-223.members.linode.com)
- # [12:51] * Quits: virtuelv (n=virtuelv@65.80-202-82.nextgentel.com) (Remote closed the connection)
- # [12:52] * Joins: virtuelv (n=virtuelv@65.80-202-82.nextgentel.com)
- # [13:03] * Joins: tndH_ (i=Rob@87.102.16.84)
- # [13:03] * tndH_ is now known as tndH
- # [13:08] * Joins: tndH_ (i=Rob@87.102.16.84)
- # [13:09] * Quits: tndH (i=Rob@87.102.16.84) (Read error: 104 (Connection reset by peer))
- # [13:09] * tndH_ is now known as tndH
- # [13:48] * Joins: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
- # [13:49] <zcorpan> Hixie: hmm.... i think the layout of acid3 probably isn't mobile friendly
- # [13:59] <hsivonen> Whoa!
- # [14:00] <hsivonen> the December content model change makes the real Web so much more valid
- # [14:00] <hsivonen> oops. my mistake...
- # [14:04] <zcorpan> hsivonen: do you have any figures? :)
- # [14:05] <hsivonen> zcorpan: no. And I made a mistake with the start symbol in the schema, so things looked better than they were...
- # [14:05] <zcorpan> ok
- # [14:05] <Philip`> Do you have any way to automatedly run the validator on lots of pages and see how frequent various errors are?
- # [14:06] <hsivonen> Philip`: I don't have that kind of test harness.
- # [14:07] * Philip` wonders whether it would be a useful thing to have
- # [14:07] <gsnedders> Atom autodiscovery test suite is b0rked
- # [14:09] <zcorpan> hmm... opera thinks that http://s.validator.nu/html5/html5full.rnc is text/plain and that http://s.validator.nu/html5/meta.rnc is text/html
- # [14:09] <zcorpan> (both are application/octet-stream)
- # [14:10] <hsivonen> hmm. I guess I should fix that...
- # [14:15] <hsivonen> zcorpan: fixed
- # [14:16] <hsivonen> whether having a type like application/relax-ng-compact-syntax at all is between browsers, browser users and the IETF to debate...
- # [14:19] <hsivonen> Philip`: early on, Sean Fraser picked up the HTML WG task of testing top sites against the spec definition of validity
- # [14:19] <hsivonen> Philip`: I think that would be good to automate
- # [14:19] * Joins: maikmerten (n=maikmert@Lb56a.l.pppool.de)
- # [14:20] <hsivonen> Philip`: if you already have a framework that prepares an ErrorHandler and an InputSource at hand that would help
- # [14:21] <hsivonen> Philip`: alternatively, the Validator.nu Web service interface could be used for that kind of thing
- # [14:22] <zcorpan> hsivonen: can you see which errors are most common by just people using the validator?
- # [14:22] <hsivonen> Philip`: I could add a parameter for putting the HTML parser into the survey mode (where legacy doctypes aren't errors)
- # [14:22] <hsivonen> zcorpan: I think I have a log for that but have never analyzed it
- # [14:23] <zcorpan> ok
- # [14:24] <hsivonen> zcorpan: hmm. looks like I didn't enable the log in deployment after all
- # [14:25] <hsivonen> It might be a good idea to enable it after I land the new content model changes
- # [14:25] <hsivonen> I guess I should adjust the privacy policy accodingly before I do.
- # [14:34] * Quits: maikmerten (n=maikmert@Lb56a.l.pppool.de) (Remote closed the connection)
- # [14:41] * Quits: ROBOd (n=robod@89.122.216.38) (Remote closed the connection)
- # [14:50] * Quits: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
- # [15:07] <kig> MacDomeSleep: url> http://glimr.rubyforge.org/cake/redesign.html (just woke up myself)
- # [15:43] <hsivonen> Lachy: seen the blog.whatwg.org moderation queue lately?
- # [15:44] <hsivonen> I'm going to zap the entries from the rapidshare and ringtones users
- # [15:45] <hsivonen> Lachy: also, a new version of WP is available
- # [15:52] * Joins: maikmerten (n=maikmert@Lb56a.l.pppool.de)
- # [16:23] <hsivonen> Lachy: there are two Polish translations of a post of yours in the moderation queue
- # [16:32] <hsivonen> hmm. http://www.w3.org/TR/html/
- # [16:32] <hsivonen> linked from http://www.w3.org/TR/html4/
- # [17:04] * Quits: maikmerten (n=maikmert@Lb56a.l.pppool.de) (Remote closed the connection)
- # [17:15] <Lachy> hsivonen, thanks for letting me know.
- # [17:39] * Joins: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
- # [17:41] <zcorpan> hsivonen: yeah, that should probably be changed to point to html4/
- # [17:41] * Joins: ROBOd (n=robod@89.122.216.38)
- # [17:46] * Joins: maikmerten (n=maikmert@Lb56a.l.pppool.de)
- # [17:57] <zcorpan> hmm... is this valid? <figure><legend></legend></figure>
- # [18:00] <hsivonen> zcorpan: should be, since emptiness is valid prose
- # [18:00] <hsivonen> zcorpan: however, RELAX NG is unable to make this invalid: <figure>foo<legend></legend>bar</figure>
- # [18:00] <hsivonen> zcorpan: I'm working on fixing that in Java
- # [18:01] <zcorpan> ok, so you're aware of v.nu not agreeing with the spec wrt figure... :)
- # [18:04] <zcorpan> it seems to do the right thing when you put elements in there, but not text or nothing
- # [18:10] <hsivonen> zcorpan: I wasn't aware that there was a problem with nothingness
- # [18:13] <zcorpan> Error: Required children missing from element figure.
- # [18:15] <hsivonen> zcorpan: I had accidentally made it require one prose element instead of prose content
- # [18:17] <zcorpan> i was about to send an email about empty <tbody>, but it turns out that i had already complained about that twice
- # [18:17] <hsivonen> heh
- # [18:20] <hsivonen> zcorpan: fix for nothingness deployed. thanks
- # [18:21] <hsivonen> whoa. I was wrong about the expressiveness of RELAX NG in this case, apparently
- # [18:21] <hsivonen> which is nice
- # [18:21] * Quits: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 104 (Connection reset by peer))
- # [18:22] * Joins: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
- # [18:32] * zcorpan notes that <map> now also has a friendlier content model
- # [18:34] <hsivonen> zcorpan: I implemented that one correctly, didn't I?
- # [18:34] <zcorpan> yes, afaict
- # [18:35] <hsivonen> ok
- # [18:35] <zcorpan> it was a note to self... :) i think i have sent email about that too, before
- # [18:35] <zcorpan> previously this was not allowed: <map><area ...></map>
- # [18:37] <hsivonen> I'm positively puzzled and surprised to learn that RELAX NG can deal with <figure>a<legend/>b</figure>
- # [18:40] <zcorpan> is text different from elements in relax ng?
- # [18:42] <hsivonen> zcorpan: I had thought it was different with the comma combinator, but it seems that it isn't
- # [18:42] <zcorpan> ok
- # [18:46] * Quits: aconbere|mobile (n=aconbere@c-67-171-24-45.hsd1.wa.comcast.net) (Read error: 113 (No route to host))
- # [18:49] <hsivonen> zcorpan: It seems I have fixed a noscript-in-head bug you reported. thanks
- # [18:50] <zcorpan> hsivonen: cool. can't remember what it was i reported, though :)
- # [18:53] * Quits: kingryan (n=kingryan@72.47.127.186)
- # [18:54] <zcorpan> why did html4 forbid IMG|OBJECT|BIG|SMALL|SUB|SUP from <pre>?
- # [18:55] <hsivonen> zcorpan: presumably they don't fit the idea of having only monospace text
- # [18:56] <hsivonen> zcorpan: you reported that <h1><noscript><p>... validates in HTML 4 in Validator.nu. I can't reproduce the problem.
- # [19:01] <zcorpan> aha. right
- # [19:03] <zcorpan> hsivonen: yeah. if that's a good reason then perhaps html5 should ban it as well
- # [19:04] <zcorpan> "The DTD fragment above indicates which elements may not appear within a PRE declaration. This is the same as in HTML 3.2, and is intended to preserve constant line spacing and column alignment for text rendered in a fixed pitch font. Authors are discouraged from altering this behavior through style sheets."
- # [19:10] * Quits: maikmerten (n=maikmert@Lb56a.l.pppool.de) (Remote closed the connection)
- # [19:26] * Joins: maikmerten (n=maikmert@Lb56a.l.pppool.de)
- # [19:33] * MacDomeSleep is now known as MacDome
- # [19:36] * Joins: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca)
- # [19:37] * Parts: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
- # [19:43] <gsnedders> can <dl> be within <p>?
- # [19:43] <gsnedders> (in the text/html serialisation)
- # [19:44] * gsnedders looks
- # [19:44] <gsnedders> no.
- # [19:47] * Joins: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se)
- # [19:55] <MacDome> Hixie: this one is still wrong:
- # [19:55] <MacDome> style.appendChild(doc.createTextNode('@media not all and (bogus) { #f { text-transform: uppercase; } }'));
- # [19:55] <MacDome> Hixie: that should match (as it does in Safari)
- # [19:55] <MacDome> at least according to my reading of the spec
- # [19:56] <MacDome> the logic reads !(true and false) -> !(false) -> true
- # [20:14] <virtuelv> MacDome: matches in Opera as well
- # [20:17] <virtuelv> (and I'm reading the spec the same way as you, the not negates the entire expression
- # [20:19] <MacDome> virtuelv: which honestly I find kinda odd
- # [20:19] <MacDome> but it does make the grammar simpler
- # [20:20] <virtuelv> MacDome: indeed
- # [20:20] <virtuelv> (or rather, it isn't odd when you are aware that 'not' except at the start of a query is invalid)
- # [20:30] <Hixie> MacDome: surely that reads as !(true and NaN) -> !(NaN) -> NaN ?
- # [20:48] * Quits: zcorpan (n=zcorpan@c-cb21e353.1451-1-64736c12.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
- # [20:49] * Joins: dglazkov (n=dglazkov@adsl-074-229-248-021.sip.bhm.bellsouth.net)
- # [20:52] * Quits: maikmerten (n=maikmert@Lb56a.l.pppool.de) ("Leaving")
- # [20:54] * Joins: digx (n=rick@c-76-109-201-140.hsd1.fl.comcast.net)
- # [21:34] * Joins: roc (n=roc@202.0.36.64)
- # [21:34] * Joins: aconbere|mobile (n=aconbere@c-67-183-217-226.hsd1.wa.comcast.net)
- # [21:39] * Quits: om_sleep (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 110 (Connection timed out))
- # [21:44] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [22:01] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [22:25] * Joins: weinig_ (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net)
- # [22:25] * Quits: weinig (n=weinig@c-71-198-176-23.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [23:09] <MacDome> Hixie: I wonder if it shouldn't throw an exception
- # [23:09] <MacDome> I'm not sure <value> is defiene
- # [23:09] <MacDome> Hixie: searching media queries for "nan" was no hits
- # [23:10] * MacDome reads http://www.w3.org/TR/css3-values/
- # [23:10] <jwalden> MacDome: test 23 is fixed, right? I see the "code" thing got fixed, and the last createElementNS's arguments are now reversed correctly
- # [23:11] <MacDome> jwalden: I believe hixie fixed it
- # [23:11] <jwalden> or at least fixed as far as you'd been asking
- # [23:11] <MacDome> jwalden: I didn't reply to all his emails yet
- # [23:11] * MacDome wonders why "true and NaN" would be "NaN"
- # [23:12] <MacDome> that's "true and number"
- # [23:12] <MacDome> which is "true and ToBoolean(number)"
- # [23:12] <MacDome> ToBoolean(NaN) is false
- # [23:12] <MacDome> at least talking about ecmascript, which really has no bearing on CSS3 media queries :)
- # [23:12] <jruderman> && and || in ecmascript return one of their arguments, not booleans
- # [23:13] <MacDome> it's true, media queries do talk in terms of "1" and "0" instead of "true" and "false"
- # [23:14] <MacDome> "A Media Query is a logical expression that is either true or false. A Media Query is true if the media type of the Media Query matches the media type of the device where the user agent is running, and all expressions in the Media Query are true. Also, a Media Query which is otherwise false becomes true if the "not" keyword is present."
- # [23:14] <MacDome> Hixie: I think it actually should be a CSS3 parse error
- # [23:15] <MacDome> Hixie: since @media specifies a grammar, and (bogus) does not conform to that grammar
- # [23:15] <othermaciej> MacDome: media queries that include an invalid keyword should fail to parse
- # [23:15] <othermaciej> whether or not there's a "not"
- # [23:15] <othermaciej> so the @media rule is discarded
- # [23:15] <othermaciej> since that's how CSS error handling works
- # [23:15] <othermaciej> I think the NaN was meant to be an analogy
- # [23:15] <jwalden> MacDome: incidentally, it looks like the algorithm I have for determining which exception to throw is (component-)start(s)-with-colon, ends-with-colon, multiple-colons-in-createElementNS, and start-with-non-ASCII-non-starting-valid-character cause NAMESPACE_ERR with createElementNS, all others are INVALID_CHARACTER_ERR
- # [23:16] <MacDome> othermaciej: ok, well, that would support hixie's test then
- # [23:16] <MacDome> the entire rule can be thrown out
- # [23:16] <MacDome> and a CSS parse error raised
- # [23:17] <jwalden> so "a::", "a::b", ":foo", "a:b:c", and <something that matches the start-with-non-ASCII possibility> are examples of all the possible namespace errors
- # [23:18] <othermaciej> DOM2 and DOM3 are actually inconsistent about when NAMESPACE_ERR or INVALID_CHARACTER_ERR should be thrown
- # [23:19] <jwalden> ha ha ha
- # [23:19] <MacDome> jwalden: a test case would demonstrate this better for me
- # [23:19] <jwalden> I should read 3, then -- think I've been using 2
- # [23:20] <othermaciej> DOM2 Core generally says this:
- # [23:20] <othermaciej> INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
- # [23:20] <othermaciej> NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is null, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace" [Namespaces].
- # [23:20] <jwalden> actually, no, I've been using 3
- # [23:20] <othermaciej> but DOM3 Core says this:
- # [23:20] <othermaciej> INVALID_CHARACTER_ERR: Raised if the specified qualified name is not an XML name according to [XML 1.0].
- # [23:20] <othermaciej> NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is null, or if the qualifiedName is null and the namespaceURI is different from null, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace" [XML Namespaces], or if the DOM implementation does not support the "XML" feature but a non-null namespace UR
- # [23:21] <jwalden> but I was fixing parsing code as opposed to namespace code, which the changes didn't affect
- # [23:21] <othermaciej> and there are strings which are not "an XML name", but for reasons other than containing an illegal character
- # [23:22] <MacDome> I can't imagine this really affects real web sites
- # [23:22] <othermaciej> in DOM2Core, that's a NAMESPACE_ERR ("qualifiedName is malformed"), but in DOM3Core, that's an INVALID_CHARACTER_ERR ("the specified qualified name is not an XML name")
- # [23:22] <othermaciej> I don't think it does
- # [23:22] <MacDome> jwalden: I'm most interested in us just agreeing
- # [23:22] <jwalden> yeah
- # [23:22] <othermaciej> but, oddly, the DOM2 Core test suite from the w3c tests for the DOM3 Core behavior
- # [23:22] <MacDome> jwalden: if we have a nice set of tests, we'll do that. there are some attached to the bug i posted
- # [23:22] <othermaciej> we could really use a DOM5 Core
- # [23:22] <jwalden> MacDome: URL again?
- # [23:22] <MacDome> othermaciej: like HTML5?
- # [23:22] <othermaciej> yes, exactly
- # [23:22] <othermaciej> rewrite the spec to make sense
- # [23:22] <jwalden> ambiguity die die die
- # [23:23] <MacDome> one which actually tries to describe behavior instead of make a fairytale?
- # [23:23] <gsnedders> ooo! I like fairytales!
- # [23:23] * gsnedders goes to read the DOM specs
- # [23:24] <MacDome> I always got the impression when reading sections of specs which say "left to the implementor" that the authors were thinking they were doing us a favor by leaving us "freedom"
- # [23:24] <MacDome> they sorta are,since some specs are crazy
- # [23:24] <MacDome> but often it just seems lazy to me
- # [23:24] <MacDome> or that they didn't sit down to think out what would make sense.
- # [23:24] <othermaciej> well, some things that were left up to the implementation are cases where, if we'd locked in the first guess at the right behavior, we'd be stuck with bad performance
- # [23:24] * MacDome is making poor generalizations about spec authors
- # [23:25] <othermaciej> like how exactly the prototype / method structure of JS DOM bindings should work
- # [23:25] <jruderman> speaking of specs and poor performance
- # [23:25] <MacDome> spec authoring is kinda a thankless job
- # [23:25] <othermaciej> but yeah, in most cases, interoperability is worth more than implementation freedom
- # [23:25] <jruderman> do DOM specs require support for "attribute nodes" and other such nonsense?
- # [23:25] * Quits: virtuelv (n=virtuelv@65.80-202-82.nextgentel.com) ("Leaving")
- # [23:25] <jruderman> or is that part optional?
- # [23:25] <othermaciej> they do require it, but it's possible to avoid ever making them for normal cases
- # [23:25] <gsnedders> MacDome: sometimes I do wonder why I try, knowing I'll be ridiculed whatever I write in the spec.
- # [23:26] <gsnedders> (where the spec = any spec I write)
- # [23:26] <othermaciej> WebKit makes real attribute nodes only on demand
- # [23:26] <MacDome> Hixie: I think your @media tests could be made more clear by indicating // silently fails to parse
- # [23:26] <othermaciej> (afaik the only demand comes from the DOM test suite)
- # [23:26] <MacDome> gsnedders: well, IMO Hixie (and the other whatwg participants) have done a huge service to web authors
- # [23:27] <othermaciej> I think WebKit passes pretty much all of the DOM1 Core and DOM2 Core w3c test suites, except for the tests that are contrary to compatibility requirements, and the tests where DOM2 and DOM3 have contradictory requirements
- # [23:27] <othermaciej> but the DOM working group refused to fix those things in the spec
- # [23:27] <gsnedders> MacDome: but still, ridiculed for trying to specify exact behaviour, and leaving nothing able to be added to the parser (like namespaces, if it is possible)
- # [23:28] <MacDome> othermaciej: I wonder if a public page of "we intentionally disagree" would aid in convincing them. it probably wouldnt' be worth the time
- # [23:28] <othermaciej> MacDome: the DOM Working Group no longer exists
- # [23:28] * MacDome is against making work for arguing with folks
- # [23:28] <MacDome> i see.
- # [23:29] <gsnedders> That does complicate matters, then.
- # [23:29] <MacDome> othermaciej: nothing more exciting to do with the DOM?
- # [23:29] <othermaciej> I think the Web API Working Group would be willing to host work for a realistic DOM spec
- # [23:29] <othermaciej> but no one has time
- # [23:29] <gsnedders> Some of the specs already in the Web API WG have died off for lack of time.
- # [23:29] <MacDome> web browsers (And more importantly web apps) have hit a layer of complexity where things like HTML5 become essential
- # [23:29] <othermaciej> MacDome: the DOM working group towards the end was seemingly more focused on server-side Java than browser-hosted implementations
- # [23:29] <MacDome> browsers are coming to another level of refinement
- # [23:30] * jwalden is now known as jwalden|awol
- # [23:30] <gsnedders> (I am, FWIW, working on a spec of dealing with HTTP data)
- # [23:32] <othermaciej> someone should propose that HTTP headers should use XML-like namespaces defined by URIs
- # [23:32] <othermaciej> just to watch the fireworks
- # [23:33] <gsnedders> Already been proposed.
- # [23:33] <othermaciej> (and hey, why only headers, maybe methods too)
- # [23:33] <gsnedders> I probably can't find a link to a discussion, but it's happened.
- # [23:33] <othermaciej> gsnedders: I underestimated the power of human stupidity
- # [23:33] <MacDome> oh, I totally want to namespace my headers!
- # [23:34] <MacDome> xmlns:FooBar="http://www.foobar.com/2007/FooBar"
- # [23:34] <gsnedders> Get rid of all this X-* nonsense!
- # [23:34] <MacDome> FooBar:ContentType = FooDelicious
- # [23:34] * Quits: aconbere|mobile (n=aconbere@c-67-183-217-226.hsd1.wa.comcast.net) (Connection timed out)
- # [23:34] * gsnedders sniffs the delicious foo
- # [23:35] <MacDome> gsnedders: most interesting would be someone making a locally-runable HTTP test suite
- # [23:35] <MacDome> with all sorts of header parsing tests
- # [23:36] <gsnedders> MacDome: I've made a start, but the biggest issue is testing how things like dates are parsed
- # [23:36] <MacDome> gsnedders: the fact that CF network still has cookie parsing errors is an indication to me of the lack of a good test suite
- # [23:37] <MacDome> or just a big test
- # [23:37] <MacDome> like Acid3
- # [23:37] <MacDome> which when you pass you can claim compliance
- # [23:37] <MacDome> something that tested for pipelining support would be preferred :)
- # [23:37] <gsnedders> A lot of behaviour is undefined anyway
- # [23:37] <othermaciej> MacDome: cookies don't even have a proper spec defining them
- # [23:37] <MacDome> gsnedders: well I'm totally looking forward to Base1 :)
- # [23:38] * gsnedders wonders where Base1 came from :)
- # [23:38] <othermaciej> there's the "HTTP State Management" spec which defines cookie headers that no one uses
- # [23:38] <MacDome> Acid2 :)
- # [23:38] <gsnedders> ah.
- # [23:38] <othermaciej> gsnedders: if you have an acid test, why not a base test?
- # [23:38] * MacDome bets gsnedders can mke the connection :)
- # [23:38] * gsnedders hasn't done chemistry is a couple of years :P
- # [23:38] <MacDome> gsnedders: you could be our hero!
- # [23:39] <MacDome> fix damn networking issues for good
- # [23:39] <gsnedders> <super:gsnedders>?
- # [23:39] <MacDome> require support for some sort of sane multi-part/mixed thing as well :
- # [23:39] <MacDome> )
- # [23:39] <gsnedders> Maybe I'll make Base1 when I'm finished with everything else :)
- # [23:40] * MacDome wishes the W3c would do more test suite development *alongside* their spec work
- # [23:40] * gsnedders hopes Hixie hasn't trademarked Acid*, Alkaline*, Base*
- # [23:40] <MacDome> things like SVG should have had 10000 tests
- # [23:40] <gsnedders> some people are questioning the need for tests for HTML 5, sadly.
- # [23:40] <othermaciej> the original acid test was the CSS box model acid test
- # [23:41] <gsnedders> was IE5/Mac not the first to pass acid?
- # [23:42] <Philip`> It's a bit annoying to write tests while the spec is still being developed, because any spec change could potentially invalidate anything in the test suite and you have to carefully check every one to see if it should change
- # [23:42] * Quits: gavin_ (n=gavin@firefox/developer/gavin)
- # [23:42] <gsnedders> In the case of HTML 5, I've found some bugs in some algorithms doing so though, that weren't obvious just looking at them.
- # [23:43] <gsnedders> MacDome: if you have any suggestions of actually finding parsed values of headers it'd be welcome
- # [23:43] * gsnedders finds undefined behaviour in XMLHttpRequest
- # [23:43] <MacDome> Philip`: I think that could be mitigated by using some sort of assert() scheme where you swapped out assert during development, and had it only print the current result, instead of actually checking
- # [23:43] <MacDome> then you coudl go back and fix the "expected" side of the assertr
- # [23:43] <MacDome> shouldBeEqual(foo, bar);
- # [23:44] <MacDome> develpoment : print whatever foo actually is
- # [23:44] <MacDome> production : check against bar
- # [23:44] <MacDome> I guess you can always check
- # [23:44] <MacDome> you just would ignore FAIL
- # [23:45] * MacDome didn't actually have a very useful proposal just then
- # [23:45] <MacDome> mostly lots of hot air
- # [23:45] * MacDome goes back to coding
- # [23:45] <othermaciej> unfortunately, serializing spec development and test suite development is also a bad thing
- # [23:45] <othermaciej> because applying the test suite to implementations may find bugs in the spec
- # [23:47] <roc> that's more of an argument for interleaving spec development with implementation
- # [23:48] <roc> randomized testing is also good at finding bugs in specs, but you need an implementation
- # [23:49] <gsnedders> MacDome, othermaciej: what would be the best way to contact the CF Network guys?
- # [23:49] <othermaciej> you need multiple implementations
- # [23:50] <roc> that too
- # [23:50] <othermaciej> but then you need thorough testing, not just spot tests, to make them interoperable
- # [23:50] <othermaciej> gsnedders: contact about what?
- # [23:50] * jwalden|awol is now known as jwalden
- # [23:50] <Philip`> I've been slightly surprised when writing tests to find bits of the spec that are undefined or ambiguous, but have been implemented multiple times and no implementor commented on them
- # [23:50] <roc> in super-high-integerity software development, there's this idea called "traceability", which is that you maintain a database tracking all dependencies between code, specs and testcases
- # [23:50] <gsnedders> othermaciej: Impl. of HTTP
- # [23:51] <othermaciej> gsnedders: what I'm getting at is, would this be a bug report?
- # [23:51] <othermaciej> if so, bugreport.apple.com is the right way
- # [23:51] <othermaciej> if not, I'm not sure
- # [23:51] <gsnedders> othermaciej: well, judging by the fact that I don't really know what yet… :D
- # [23:51] <roc> unfortunately that is incredibly expensive and slow
- # [23:51] <gsnedders> othermaciej: you need to be 18 to join the ADC, so can't really use bugreport.apple.com
- # [23:52] <Philip`> gsnedders: You could lie like everyone else does :-p
- # [23:52] <gsnedders> Philip`: already done that :P
- # [23:52] <gsnedders> Philip`: "can't *really*"
- # [23:52] <roc> Philip`: well, many times I've implemented something where the spec is just plain *wrong* yet other implementations claim to have implemented it correctly :-)
- # [23:53] <othermaciej> gsnedders: even for the student membership?
- # [23:53] <gsnedders> othermaciej: yeah
- # [23:53] <othermaciej> go figure
- # [23:53] * gsnedders sues Apple under agism laws :P
- # [23:54] <dglazkov> it's probably because of all the porn
- # [23:54] <othermaciej> gsnedders: it's probably because contracts with a minor are not enforceable, and access to ADC provides access to some info that is technically under NDA
- # [23:54] <othermaciej> Philip`: most implementors are not overly concerned with ambiguities or even outright wrongness in the spec
- # [23:54] <Philip`> What do really old people do when they go to a website with over-18-only content that requires them to select their year of birth from a drop-down list that starts at 1901?
- # [23:55] <gsnedders> Philip`: what if they're female, and seeming you're not meant to ask old women for their age…
- # [23:55] <Philip`> gsnedders: Hmm, that wouldn't work very well if it's only for old women, because that would mean if you didn't ask someone their age then you would be implying they are old
- # [23:56] <roc> they append the required year to the combobox by handwriting a javascript: URL
- # [23:57] <Philip`> Ah, cunning
- # [23:58] <gsnedders> or just use telnet to submit a request to the server with the correct year, and hope the server just uses inequality year less than, and copy the cookie to the browser
- # [23:58] * Parts: TheSheep (i=sheep@atos.wmid.amu.edu.pl)
- # [23:59] * weinig_ is now known as weinig
- # [23:59] <roc> someone could write a pointy-clicky Firefox extension for this
- # [23:59] <roc> thus locking up Firefox share in the 108+ demographic
- # Session Close: Mon Jan 14 00:00:00 2008
The end :)