2007-05-01 [17:07:00.0000] so i'm thinking of making the parser introduce xml:base attributes as the way to handle stray elements [17:07:01.0000] anyone see anything wrong with that? [17:08:00.0000] the alternatives are to have a magical base resolution mechanism and simply ignoring stray tags [17:08:01.0000] ie7 ignores stray s, doesn't it? [17:08:02.0000] (or is that in standards mode only?) [17:08:03.0000] probably both [17:09:00.0000] as in, "yes" to both questions, probably [17:09:01.0000] right. and we want to deal with quirks :) [17:09:02.0000] (at least if the web relies on them) [17:09:03.0000] i wonder if i have some data on elements [17:10:00.0000] it amused me when ms decided to ignore stray s... obviously they based their implementation on document conformance requirements in html4 [17:11:00.0000] about 5% of sites have 1 tag, apparently [17:12:00.0000] 0.03% have 2 [17:12:01.0000] /me uses base [17:12:02.0000] 0.0017% have 3 [17:12:03.0000] but does defining it with xml:base work? i mean if there are multiple s in the same parent [17:12:04.0000] and a few thousand have more than 3 [17:13:00.0000] zcorpan_: i would make the xml:base be set on every element until the next , i guess [17:13:01.0000] ah. right [17:14:00.0000] so we're talking about a few million pages here [17:14:01.0000] with 2 or more elements [17:14:02.0000] i wonder how many have the same URI in both elements [17:14:03.0000] there might be pages that use only one but have it in the middle [17:15:00.0000] [17:15:01.0000] oh actually this was only counting _different_ values for [17:15:02.0000] so a few million pages use two different values for [17:18:00.0000] so if you serialize to xml, do you drop the s? [17:19:00.0000] afaict browsers don't ignore in xhtml [17:20:00.0000] for some reason i think magical base resolution mechanism would work better [17:22:00.0000] i'm not an implementor though but i'm just observing what browsers are doing today :) [17:25:00.0000] yeah, dunno [17:25:01.0000] /me needs to study this more [17:26:00.0000] my main concern with supporting in XHTML is that it means URI resolution will be different in XHTML UAs than pure XML UAs [17:26:01.0000] but i guess i can point the topic at myself [17:27:00.0000] ah. so you'd like to drop support for in xhtml5 completely? [17:27:01.0000] that's what the spec says today iirc [17:27:02.0000] but people have argued against that [17:28:00.0000] I like base [17:28:01.0000] it makes it easy to develop entire websites and then move the whole thing [17:28:02.0000] only thing you need to change is a variable somewhere [17:28:03.0000] you like , or you like the concept of having a base URI? [17:28:04.0000] base URI [17:28:05.0000] it says authors must not use it in xml. afaict it doesn't say uas must ignore it in xml [17:28:06.0000] ok well that's fine, nobody's talking about removing that feature :-) [17:29:00.0000] ah [17:29:01.0000] we're just talking about the syltax [17:29:02.0000] /me pipes down [17:29:03.0000] zcorpan_: ah [17:29:04.0000] hehe [17:30:00.0000] today, browsers don't ignore in xml, but since 0.00% of the web use xml it might not be much of an issue to change that :) [17:31:00.0000] :-) [17:31:01.0000] yeah, especially since 95% of pages don't use base stuff at all [17:31:02.0000] so that'd make it 5% of 0.00% :-) [17:31:03.0000] indeed :) [17:33:00.0000] I guess a physicist would call that 0.000% [17:34:00.0000] but changes the #document base uri. xml:base at best changes the root element's base uri [17:34:01.0000] (which makes a difference with xhr iirc) [17:34:02.0000] yeah [17:36:00.0000] talking about t-shirts [17:36:01.0000] here's one [17:36:02.0000] it just says "XForms is the automobile." on it [17:36:03.0000] lol [17:36:04.0000] I thought xforms was the lightbulb [17:37:00.0000] and HTML forms is LOAD AX, 1000 [17:37:01.0000] but we really need more declarative syntax for that [17:38:00.0000] op="load" ra="ax" rb="1000" ? [17:38:01.0000] we need spreadsheets to make our t-shirts [17:38:02.0000] it really should be LOADAX1000 [17:39:00.0000] then you can abstract opcode to be a processor-independent operation, and use psuedo-registers for your registers, and allow the author to add a declarative model of their instruction set and pipeline model [17:39:01.0000] don't forget version="1.0" on the element [17:39:02.0000] and optimal code can be generated automatically [17:40:00.0000] You could do all your register allocation using XSLT [17:40:01.0000] most importantly, it can be produced by authoring tools for people who don't know about markup [17:41:00.0000] They don't even need to know assembly if we abstract away the commands well enough [17:47:00.0000] yes, we should have declaritive expressions for spreadsheets for people who can't author them, but we should also be sure to leave out of it [17:47:01.0000] 'cause is what those browser-makers want [17:47:02.0000] bewest: to be fair, that's two separate groups of crazy people [17:47:03.0000] yeah [17:47:04.0000] but it's all crazy if you ask me [17:49:00.0000] I'm just waiting for the "remove all vestiges of presentational markup" people to get in a fight with the "we need more presentational markup" people [17:49:01.0000] someone should Cc Tina on the thread [17:50:00.0000] That would probably make the server kneel under the load [19:07:00.0000] so... [19:08:00.0000] IE only handles on the first element [19:08:01.0000] but [19:08:02.0000] it handles the same way as before [19:09:00.0000] that's kinda freaky [19:14:00.0000] so does safari have any bugs about compat regarding your handling? [19:15:00.0000] I'll see if I can find any [19:15:01.0000] but it's unlikely I can give a definitive "no" [19:16:00.0000] since there could well be unreduced bugs that boil down to that issue [19:19:00.0000] I have one titled "Documents with multiple base tags handled differently than IE" [19:19:01.0000] but it does not appear to involve target [19:19:02.0000] and may be obsoleted by IE7 [19:20:00.0000] k [19:22:00.0000] Hixie: I couldn't find any that were clearly about , but I only found very few that were about at all (4 total) [19:22:01.0000] there could easily be more lurking in unreduced bugs [19:22:02.0000] k [19:22:03.0000] thanks [19:22:04.0000] do let me know if you spot anything in future [19:30:00.0000] is there a document.us collection that returns all the base elements? [20:04:00.0000] What should I read to convince me that the current direction of HTML 5 is not insane? [20:13:00.0000] hays: the spec, probably [20:15:00.0000] Hixie: The spec is what makes him think it's insane, so I doubt reading it again will turn his opinion to the opposite [20:16:00.0000] So the C spec, for example, has a document that discusses the "why" of certain decisions that is not normative. Python has PEPs. Is there something like that for HTML 5? [20:16:01.0000] yeah, hold on, let me get you some links [20:30:00.0000] thanks 2007-05-02 [03:31:00.0000] Pint [04:39:00.0000] whow, Gareth negative vote was removed [07:11:00.0000] /me notes that that the current spec doesn't specify expansions for HTML5 or XHTML5. [07:11:01.0000] /me notes that RELAX NG isn't defined to be an abbreviation [07:12:00.0000] https://bugzilla.mozilla.org/show_bug.cgi?id=147856 shows that authors are confused with how CSS works in XHTML [07:12:01.0000] so far, I've marked HTML5 and XHTML5 as but not RELAX NG [07:13:00.0000] for the former, me too [07:13:01.0000] /me thinks the expansion of XHTML5 should be "XML serialization of HyperText Markup Language 5" :) [07:13:02.0000] for the latter, dunno [07:13:03.0000] XHTML = XML serialization of HTML [07:14:00.0000] HTML = HTML language and / or HTML syntax [07:14:01.0000] /me just wrote Extensible HyperText Markup Language 5 in his glossary [07:14:02.0000] Hixie: should I revise? [07:15:00.0000] Then there's the battle over (XHTML)5 vs X(HTML5) [07:15:01.0000] Dashiva: my glossary has "(X)HTML5" ;-) [07:16:00.0000] "(XML serialization of) HTML5" [07:16:01.0000] :) [07:47:00.0000] Hixie: http://forum.doom9.org/showthread.php?t=122363 seems a useful explanation - there is a secret fixed set of possible processing keys, and each can be 'reached' (in some mathematical way I don't quite understand) from a different subset of all device keys; so you can revoke compromised devices by choosing a (small) set of processing keys such that none can be reached from any of the device keys known to any compromised device. [07:47:01.0000] Once you know a processing key that's used on a disc (which is typically the same for all discs), you can combine that with some other disc-specific data to end up with the keys that decrypt the actual data; at least until new discs are manufactured with new processing keys, in which case you have to start all over again and try to discover the new keys. [07:48:00.0000] (...or at least that's my understanding - it looks like a not entirely trivial system) [07:56:00.0000] Security through really many keys [08:13:00.0000] At least it's a readable published specification, and the security depends entirely on the keys being kept secret, which is how cryptography ought to work - the problem is that it's impossible to keep the keys secret, and it has statements like "A device shall keep the value s_0 confidential, as defined in the license agreement" which doesn't work quite so well when millions of customers have your devices and want to extract the secret values [08:14:00.0000] As the aacs people say, the system hasn't been breached, it's key leakage. They just leave out the 'inevitable'. [08:14:01.0000] So apart from being fundamentally flawed, it seems quite good :-) [08:55:00.0000] Philip`: like HTML5?-) [09:12:00.0000] any interest in reviewing my glossary? http://hsivonen.iki.fi/thesis/html5-conformance-checker.xhtml#glossary [09:14:00.0000] hsivonen: American Standard Code of Information Interchange, s/of/for/? [09:14:01.0000] You don't define conforming, but you define both valid and validation [09:14:02.0000] hasather: right. thanks [09:15:00.0000] Hypertext vs. HyperText [09:15:01.0000] hsivonen: IANA: "... maintains regisries of Internet media types" [09:16:00.0000] regisries is wrong [09:16:01.0000] not sure which it should be (for the expansion of HTML) [09:21:00.0000] Dashiva: defined. [09:21:01.0000] zcorpan_: fixed. HyperText for HTML and XHTML. Hypertext for HTTP and WHATWG. [09:21:02.0000] hasather: typo fixed [09:21:03.0000] thanks [09:22:00.0000] oops. the explanation for GML is missing [09:25:00.0000] hsivonen: is RELAX NG ever expanded as "... New Generation". I haven't seen that in any official docs [09:26:00.0000] hasather: neither the OASIS nor the ISO spec defines RELAX NG as an abbreviation [09:26:01.0000] of either New Generation or Next Generation [09:27:00.0000] ok, so is that bogus? Did someone just make it up? Or did it disappear sometime? [09:27:01.0000] hasather: Wikipedia says Next [09:27:02.0000] hasather: it is pretty obvious that NG comes from Next Generation even if unofficially [09:28:00.0000] or perhaps New [09:31:00.0000] hsivonen: yea, it's pretty obvious what it stands for, but kinda weird that it's not used in any of the official docs [09:32:00.0000] hasather: yeah. it's weird that HTML5 isn't expanded, either [09:33:00.0000] it is in your glossary though :) [09:34:00.0000] hasather: which is why I asked Hixie if I need to revise :-) [09:35:00.0000] btw, my generator works in the opposite direction than usual [09:35:01.0000] it doesn't collect title attributes [09:35:02.0000] but it collects dl definitions and assigns titles based on that [09:36:00.0000] hsivonen: ah, cool [09:38:00.0000] hasather: hence the seemingly extra spans [09:38:01.0000] in the definitions, that is [09:45:00.0000] "UTF-32: ... a one-to-one mapping between characters and code units" - I think "code point" would be more accurate than "character" [09:48:00.0000] Philip`: ok. though characters and code points are one-to-one [09:50:00.0000] I don't think "code point" is accurate [09:51:00.0000] because there is a one-to-one mapping between characters and code points even in UTF-8 [09:51:01.0000] the code point is the unique numeric identifier of the character [09:51:02.0000] what's different about UTF-32 is that it always takes exactly one unit of the encoding to identify a code point [09:52:00.0000] whereas for UTF-8 it's 1-5 and for UTF-16 it's 1-2 (I think) [09:59:00.0000] hsivonen: I can't find any precise definition of "character" in Unicode at all - their glossary gives four different meanings, including "abstract character" which is defined as being possibly multiple code points (it "can often be represented by the use of combining character sequences") [09:59:01.0000] othermaciej: I intended "between code points and code units" (rather than "between characters and code points") [10:07:00.0000] hmm. I need to add entries for document tree and infoset [10:08:00.0000] Added character-related entries [10:25:00.0000] "UTF-32: ... a character encoding a single ..." -> "a character encoding in which a single ..." [10:26:00.0000] Philip`: uploading a fix right now [10:28:00.0000] "XML parsing failed: syntax error" - hmm, I'm unsure whether it's good or bad that that happens with partially-uploaded files [10:28:01.0000] I suppose it's good that it makes it obvious there's a problem [10:28:02.0000] (given that the problem will be fixed shortly) [10:28:03.0000] now fully uploaded [10:33:00.0000] Looks good :-) [10:33:01.0000] Unrelated to the glossary, in the section headings for 5.10 and 8.10, there seems to be insufficient space between the 0 and the words [10:34:00.0000] Philip`: which format? which UA? [10:35:00.0000] XHTML and HTML, in Opera and Firefox [10:35:01.0000] Philip`: do you have Palatino or Palladio available? [10:36:00.0000] Philip`: firefox 2 or 3 nightly? [10:36:01.0000] Ah, neither - I guess the different font would cause it to mess up [10:37:00.0000] works for me in both Firefox and Opera on Mac with Palatino available [10:37:01.0000] Philip`: does your serif font have unusually wide digit glyphs? [10:37:02.0000] It breaks in FF3, works in FF2, but that's just because they have different fonts selected [10:38:00.0000] Looks like it's DejaVu Serif that causes problems [10:38:01.0000] Philip`: Firefox 2.0 gets different layout because it doesn't support inline-block [10:38:02.0000] Philip`: I'm going to resolve as WONTFIX [10:38:03.0000] Philip`: but thanks [10:39:00.0000] /me is optimizing for Prince [10:40:00.0000] Okay, sounds sensible :-) [12:43:00.0000] +1 (ducks) [12:43:01.0000] I didn't know we had ducks [12:44:00.0000] yeah, they're cute and will follow you around. also they are yellow. [12:44:01.0000] Most ducks just run away from me :-( [13:22:00.0000] reading http://www.evardsson.com/blog/2007/05/02/looks-like-whatwgs-html-5-is-a-go/ it's true only 110 members of html wg can vote? or all 384 members? [13:23:00.0000] companies can vote once [13:24:00.0000] looking at http://www.w3.org/2000/09/dbwg/details?group=40318&public=1 there are >300 invited experts so >300 votes, isn't? [13:24:01.0000] He's probably counting the 90 voters plus the 20 in the non-responders list [13:24:02.0000] (which won't quite work since the non-responders list is broken) [14:30:00.0000] hsivonen: i personally prefer "XML serialisation of...", but I don't believe I or the WHATWG has ever taken an official stance on the matter before now [14:31:00.0000] Hixie: ok. [14:32:00.0000] Hixie: does HTML5 stand for HyperText Markup Language 5? that is, is it still an abbreviation? (I hope it is) [14:33:00.0000] sure [14:34:00.0000] /me doesn't really have an opinion either way :-P [14:36:00.0000] the fix to the glossary should be live now [14:36:01.0000] Hixie: thanks [16:30:00.0000] annevk: btw, i don't even remotely intend to go through and read every piece of feedback sent to public-html. if you see specific things that should be taken into account, please feel free to forward them to me (or the whatwg list, or forward a pointer to the whatwg list) so i can make sure to take them into account. [16:42:00.0000] wow, anne actually caused a spec to not go through the CR transition call [16:42:01.0000] i'm impressed [16:43:00.0000] really? how? [16:43:01.0000] pointer? [16:43:02.0000] and which spec? [16:44:00.0000] http://lists.w3.org/Archives/Member/w3c-css-wg/2007AprJun/0146.html [16:44:01.0000] behind the member-wall :( [16:45:00.0000] cool! 2007-05-03 [17:28:00.0000] hsivonen? [17:29:00.0000] fantasai? [17:29:01.0000] I'm going through your responses to my comments [17:30:00.0000] I still have some questions [17:30:01.0000] I'll send it to you in a few minutes [17:31:00.0000] ok. [17:45:00.0000] fantasai: reading your mail now. it is 02:49 in my timezone and I have a lunch meeting at noon, so my judgment may be bad and hasty [17:45:01.0000] k [18:05:00.0000] fixes as per the first email should be live now. [18:05:01.0000] I really have to go to bed now, so I'll reply to the rest later [18:06:00.0000] thanks [18:06:01.0000] nn [18:09:00.0000] g'night [19:10:00.0000] /me wonders if it's a known issue that ' One

Two Three' parsed by html5lib can't match the mostly-interoperable rendering of IE6/FF2/O9 [19:11:00.0000] (because it creates a "Two Three" text node, whereas the browsers all do Two in red and Three in black) [19:12:00.0000] try it with [19:12:01.0000] is it still different? [19:12:02.0000] if yes, then that's because we specifically avoided because Safari said we didn't have to do it for [19:12:03.0000] s/Safari/experience based on Safari's implementation/ [19:12:04.0000] html5lib parses that correctly (i.e. splitting into two s) [19:13:00.0000] yeah [19:13:01.0000] in that case it's intentional [19:13:02.0000] we want to keep the number of "magic" elements to a minimum [19:13:03.0000] (span appears to be not mentioned in the parsing algorithm, so it's the same as any unrecognised element) [19:13:04.0000] yup [19:13:05.0000] Ah, okay then [23:20:00.0000] Someone doesn't undestand joke http://blog.whatwg.org/html6-plan#comment-3728 [00:33:00.0000] Hixie, I was referring to his comments on the WHATWG [00:34:00.0000] /me will try to write less one-liners [05:52:00.0000] Hixie: it might be a practical move to give the issue priority in your feedback queue [05:53:00.0000] has there been new evidence? [05:53:01.0000] apart from the fact that style= is prolly to be made conforming [05:54:00.0000] annevk: I, for one, have weeks ago presented a technical (backwards compat) argument why with a transparent content model is bad [05:55:00.0000] annevk: and we all know that UAs will have to support style='' on every element anyway [05:55:01.0000] oh, allowing everywhere? [05:55:02.0000] yeah, i wasn't talking about UAs [05:56:00.0000] annevk: as for the popularity point of view, so far it looks like no one (except for Hixie and perhaps you) likes the way is specced [05:57:00.0000] i think some people want in there at all [05:57:01.0000] annevk: the current speccing is inferior compared to allowing style='' on every element for the compat/practical point of view and the current way of speccing is additionally massively unpopular [05:58:00.0000] do you want the content model of to change or simply making it non-conforming? [05:58:01.0000] /me doesn't really care about atm [05:58:02.0000] annevk: moreover, repurposing is a bad political move, because the new element doesn't behave like the old but gets the negative reputation of the old [05:59:00.0000] annevk: I want to: [05:59:01.0000] 1) Allow style='' on every element [05:59:02.0000] 2) either [05:59:03.0000] a) remove [05:59:04.0000] or [05:59:05.0000] b) allow font as a strictly inline element that has the attribute color [06:00:00.0000] I expect accessibility folk to shoot down b) [06:00:01.0000] but 1) is my main point [06:00:02.0000] that has not much to do with then, i think :) [06:01:00.0000] annevk: it has everything to do with how Hixie has specced [06:16:00.0000] fair enough [06:17:00.0000] although I doubt people have read that [06:41:00.0000] even entities can have public and external identifiers [06:53:00.0000] XML is crazy [06:54:00.0000] I especially like that entity declarations can contain XML subtrees and the like and therefore references to other entities [06:54:01.0000] so you have to address looping of those entity references in some way [06:55:00.0000] /me wonders if there's a blue pill somewhere [07:05:00.0000] http://lists.w3.org/Archives/Public/public-html/2007May/0305.html - was that supposed to be a joke or something? I know what Groundhog day is, but I don't see the relevance. [07:07:00.0000] i didn't understand it [07:07:01.0000] also not after looking up Groundhog [07:07:02.0000] I've sort of given up, I think [07:07:03.0000] I think it maybe possibly might be another way of saying "Didn't you say that before, again and again and again?" [07:07:04.0000] I'll be waiting until the chairs make some noise [07:07:05.0000] But that's pure guesswork, not founded in reality [07:07:06.0000] Which is unlikely to be soon given that DanC is going away Sunday or so [07:08:00.0000] Dashiva, that sounds about right [07:09:00.0000] /me repeated it lots of time in different ways hoping they'd just get it at some point [07:09:01.0000] how naive [07:09:02.0000] Don't worry, we'll be doing this for another 10 years, just lean back and enjoy the ride [07:11:00.0000] i'm sort of hoping to get something done too [07:12:00.0000] and i've the feeling that goal isn't shared [07:12:01.0000] or maybe people don't understand the amount of work involved [07:31:00.0000] heh, the guy in this video reminds me of the attitudes of some people on public-html (though he's slightly more extreme) :-) - http://www.youtube.com/watch?v=qYgZYkTYUaQ [07:49:00.0000] this would be an awesome colour scheme for acid 3 http://img172.imageshack.us/img172/9812/colorsgq0.png :-) [07:50:00.0000] (c: [07:56:00.0000] here's one with the actual hex codes http://www.hd-dvd-tee.com/images/bubble.png [07:57:00.0000] there can't be any red when it passes :) [07:58:00.0000] there already is in the current colour scheme [07:58:01.0000] http://www.hixie.ch/tests/evil/acid/003/reference.html [07:58:02.0000] indeed, i think that's not so good [07:59:00.0000] test case with red == fail to me [08:00:00.0000] zcorpan_, acid tests aren't traditional test cases, they're marketing material [08:00:01.0000] so? [08:00:02.0000] it will contain more red when it fails, no? [08:00:03.0000] They have to look cool to the average author, not just be all green and say PASS, or whatever [08:01:00.0000] doesn't look like it [08:01:01.0000] Maybe people would analogise with litmus paper and think red = acid therefore the acid test succeeded [08:01:02.0000] would be awesome to have an Acid test that does just that :) [08:01:03.0000] i didn't suggest being all green, just don't contain red when it passes [08:02:00.0000] I just don't see what problem you are trying to solve by elimiating red from the acid 3 test case. [08:02:01.0000] :-) [08:03:00.0000] pehaps people will create their own test cases after seeing acid [08:03:01.0000] Why not let people pick a color stylesheet, then? [08:03:02.0000] yes, that's what they did with acid 2 [08:04:00.0000] acid3-red [08:04:01.0000] acid2 contained red when it failed [08:04:02.0000] the acid test isn't useful as is to implementers, except as a way to say "oh look, we have some bugs", but not any more specific without deconstructing it [08:04:03.0000] so people might think that acid3 fails if it contains red [08:19:00.0000] Acid2 had a happy face when it passed, but that doesn't mean people will think Acid3 hasn't passed just because it doesn't have a face [08:20:00.0000] Acid1 had red too [08:21:00.0000] indeed, it can contain pretty much anything when it passes [08:21:01.0000] it's just a fact that most tests contain red when they fail [08:52:00.0000] it is so confusing having 2 Philip Taylors on the list! I have to check the e-mail address just to see if it's the sensible one, or the other one. :-/ [08:53:00.0000] they both use the suffic (Webmaster)? [08:53:01.0000] no, which is good [08:53:02.0000] so you can just check that [08:54:00.0000] I just got confused at first, cause I thought he had just removed that from his name [08:54:01.0000] whoa, already 5pm [08:55:00.0000] I think tomorrow I'll do some implementing then of my xml5lib idea unless something important comes up [09:03:00.0000] Lachy: You could check punctuation too - one does /italics/ and double-spaces between sentences and spaces before colons and question marks, whereas the other doesn't :-) [09:05:00.0000] oh no, and I thought you were the sensible one. It's 2 spaces after a full stop! :-) [09:06:00.0000] 2 spaces between sentences is incorrect when using a proportional font [09:07:00.0000] plain text emails use monospace fonts [09:08:00.0000] (well, actually, they use whatever font the user likes, but typically monospace) [09:08:01.0000] plain text emails don't use any specific font; how they are displayed depends on the mail client [09:08:02.0000] hmm, really? I'd have thought it'd be incorrect to use it with monospace fonts [09:08:03.0000] but I know nothing about this! [09:09:00.0000] apparently text/plain is displayed using

in some UAs [09:09:01.0000] <othermaciej> Mail on Mac OS X displays them by default in a proportional font, for instance [09:09:02.0000] <Lachy> ascii art and code samples look better when viewed with monospace fonts [09:09:03.0000] <annevk> someone please call tag abuse! [09:09:04.0000] <othermaciej> annevk: it's just an example of how browsers hate standards [09:09:05.0000] <Lachy> /me doesn't like proportional fonts for emails, it just looks wrong [09:10:00.0000] <annevk> geek [09:10:01.0000] <annevk> /me uses monospace too though [09:10:02.0000] <othermaciej> proportional fonts look better to me unless someone went out of their way to make a point and align things in a way that requires a monospace font [09:10:03.0000] <othermaciej> when I have a part of my email that requires monospace display to read right, I ususally send an HTML email w/ an explicit font setting [09:11:00.0000] <Lachy> I just assumed most people would use monospace [09:11:01.0000] <othermaciej> so that I know my reader will get the right thing [09:11:02.0000] <othermaciej> I don't know how other mail clients are configured out of the box [09:12:00.0000] <Lachy> I never send HTML email [09:12:01.0000] <othermaciej> gmail doesn't use a monospace font by default [09:12:02.0000] <othermaciej> I don't think any other webmail client does [09:12:03.0000] <Lachy> yeah, gmail is broken [09:12:04.0000] <othermaciej> I'd be very surprised if Exchange does [09:13:00.0000] <Lachy> I don't think it does, but I think it offers the choice, IIRC [09:13:01.0000] <othermaciej> so probably most people use the default settings of popular mail clients [09:13:02.0000] <Lachy> default for Thunderbird is monospace [09:13:03.0000] <mpt> Next up from the WhatWG: RFC5822 [09:14:00.0000] <Lachy> LOL [09:15:00.0000] <othermaciej> the RFCs don't go that high yet, do they? [09:15:01.0000] <Lachy> they're up to 4xxx [09:15:02.0000] <annevk> otherwise we'd have 8225 [09:17:00.0000] <Lachy> We've got RFC5616, RFC5023 and RFC5854 to write first :-) [09:18:00.0000] <annevk> 3023 -> 5023? [09:18:01.0000] <annevk> right [09:18:02.0000] <Lachy> yes [09:18:03.0000] <annevk> /me will incorperate 3023 in XML5 [09:18:04.0000] <annevk> of course, that won't be done when I fnish my project, but some of it will be in [09:18:05.0000] <Lachy> 2854 (text/html) will be in HTML5 anwya [09:18:06.0000] <Lachy> *anyway [09:19:00.0000] <annevk> /me wonders how many people will appreciate XML5 [09:19:01.0000] <annevk> /me thinks it's a nice project for now [09:19:02.0000] <Lachy> I bet Philip Taylor (Webmaster) and Gareth Hays won't be happy [09:19:03.0000] <mpt> XML5? What's that? [09:20:00.0000] <annevk> superset of XML1 and XML1.1 with user friendly error handling [09:20:01.0000] <Lachy> non-draconian XML [09:20:02.0000] <mpt> oh boy [09:21:00.0000] <annevk> mpt, the idea or the mess in e-mail it might create? [09:21:01.0000] <mpt> I don't care about the mess in e-mail, I'm not subscribed to any w3.org lists [09:21:02.0000] <mpt> I'm just wondering whether XHTML5 would ever be an XML5 application [09:21:03.0000] <annevk> all things XML will be XML5 [09:21:04.0000] <annevk> it's like all things HTML are HTML5 [09:21:05.0000] <mpt> seeing as how HTML5's error recovery is so element-specific [09:22:00.0000] <annevk> oh [09:22:01.0000] <annevk> XHTML5 will use XML5 error handling which is not element-specific [09:22:02.0000] <annevk> if it's up to me [09:22:03.0000] <Philip`> But you couldn't write X(HT)ML5 documents and have them degrade gracefully in legacy user agents [09:22:04.0000] <annevk> XML would just stay a generic language [09:22:05.0000] <mpt> annevk, won't that break the Web? [09:22:06.0000] <annevk> mpt, XHTML isn't used [09:22:07.0000] <Lachy> the web is already broken, XML on teh web isn't well formed [09:22:08.0000] <annevk> mpt, and you'll only render more if you start "fixing" XML [09:23:00.0000] <annevk> /me isn't talking about XHTML as text/html, that's HTML5 [09:23:01.0000] <mpt> my head hurts [09:23:02.0000] <annevk> it's all about MIME types :) [09:23:03.0000] <mpt> My day-job is XHTML-as-text/html [09:23:04.0000] <annevk> XML MIME types -> XML5, text/html -> HTML5 [09:24:00.0000] <annevk> mpt, that would use the HTML5 parsing algorithm [09:24:01.0000] <mpt> ok, but then, the error recovery for HTML5-with-slashes will still be different from that in XHTML5 [09:24:02.0000] <gsnedders> yes [09:24:03.0000] <gsnedders> XHTML-as-text/html is currently parsed as malformed HTML. [09:25:00.0000] <gsnedders> (to the extent of which HTML can be malformed) [09:25:01.0000] <mpt> So XHTML5 will be how we escape to a world of predictable error handling? [09:25:02.0000] <mpt> (as in human-predictable) [09:26:00.0000] <gsnedders> both will be predictable if you know the rules :P [09:26:01.0000] <mpt> gsnedders, I'm assuming most humans won't memorize the HTML5 rules [09:26:02.0000] <gsnedders> mpt: most humans won't memorise XML5 rules either [09:27:00.0000] <mpt> Then make them simpler [09:27:01.0000] <Philip`> Doesn't that just depend on how complex the XML5 rules are? [09:27:02.0000] <annevk> XML5 rules are very simple in my head [09:27:03.0000] <gsnedders> mpt: most humans have bo reason to. [09:28:00.0000] <mpt> /me tries to figure out how to download Opera [09:28:01.0000] <annevk> "</test>" -> if <test> is in scope, close everything up to and including <test>, otherwise, ignore [09:28:02.0000] <annevk> "<test>" -> append a tag to the stack of open elements [09:28:03.0000] <annevk> that's about it [09:28:04.0000] <mpt> ok, that's simple enough [09:28:05.0000] <annevk> on popular request we might get </> -> pop an element from the stack of open elements [09:29:00.0000] <mpt> I guess the simplest counterexample would be <a><b><c><d> </c></b></a> [09:29:01.0000] <mpt> oh wait, no, that works too [09:29:02.0000] <mpt> up to and including [09:29:03.0000] <mpt> Nifty, I like it [09:32:00.0000] <Lachy> I don't think you should define new features that would be incompatible with XML 1.0 well-formedness constraints [09:32:01.0000] <Lachy> in other words, a conforming XML5 doc must be a well formed XML 1.0 doc [09:33:00.0000] <annevk> I don't want to restrict characters in element names for no good reason [09:33:01.0000] <gsnedders> any well formed XML 1.0 must be a well formed XML 5 document, mapping to the exact same DOM tree, IMO [09:34:00.0000] <annevk> yes [09:34:01.0000] <annevk> that's a requirement [09:34:02.0000] <mpt> annevk, how about not being able to see any error even after a validator points it out, because in an element's end tag you've accidentally used a Unicode character that looks extremely similar to the one you meant [09:34:03.0000] <annevk> I'd like to require the same for XML 1.1 [09:34:04.0000] <annevk> mpt, aren't you doing something with usability? :) [09:35:00.0000] <mpt> I don't fully understand that question [09:35:01.0000] <annevk> note that XML 1.1 allows way more characters in tag names [09:35:02.0000] <annevk> almost unrestricted [09:36:00.0000] <annevk> mpt, well, (1) the validator could go to extreme lengths and make sure those are clear, (2) if people are using such tag names they probably know what they're doing [09:36:01.0000] <Lachy> ah, good point [09:36:02.0000] <mpt> (1) "the tools will save us" [09:36:03.0000] <mpt> /me ducks [09:37:00.0000] <annevk> yeah, fair enough [09:37:01.0000] <mpt> (2) "accidentally" [09:38:00.0000] <annevk> /me blames it on XML 1.1 [09:38:01.0000] <mpt> but if XML 1.1 already allows non-Ascii characters, I guess that's lost [09:39:00.0000] <annevk> /me likes it when the obvious things (such as "allow unicode") have nasty flaws [09:39:01.0000] <annevk> (it also goes for "use XML" which is fricking complicated compared to say, JSON) [09:40:00.0000] <mpt> The AGM of the Law of Unintended Consequences Fan Club is now in session [09:40:01.0000] <hsivonen> mpt: XML 1.0 allows non-ASCII element names [09:40:02.0000] <mpt> Ooh, I know, make them non-conformant but define how they should be parsed [09:41:00.0000] <hsivonen> mpt: XML 1.1 is an unpragmatic excercise in markup *nationalization* (not *inter*nationalization) by allowing Khmer, etc. element names that XML 1.0 did not allow [09:42:00.0000] <hsivonen> mpt: XML 1.1 is about political correctness and causes harm to real world [09:42:01.0000] <annevk> no, XML 1.0 only allowed Unicode 2.0 characters [09:42:02.0000] <annevk> XML 1.1 allows all characters (with some restrictions) [09:42:03.0000] <hsivonen> annevk: right. which is why e.g. Khmer was not allowed [09:43:00.0000] <hsivonen> annevk: but most of e.g. Japanese was covered in XML 1.0 [09:43:01.0000] <annevk> mpt, that's an idea [09:43:02.0000] <annevk> /me wonders how that will fly [09:44:00.0000] <mpt> <<﹤≲≳﹥>></<﹤≲≳﹥>> [09:45:00.0000] <hsivonen> annevk: will your XML5 be resilient to Unicode normalization combining an combining solidus with >? [09:47:00.0000] <annevk> aah [09:47:01.0000] <annevk> no more Unicode today [09:47:02.0000] <annevk> it will do whatever experts tell is better [09:48:00.0000] <annevk> but hopefully I can stay mostly silent on the dark corners of character representation for a while [10:05:00.0000] <zcorpan_> Lachy: did you see the entry i wrote for the faq? [10:06:00.0000] <Lachy> no [10:08:00.0000] <Lachy> zcorpan_, where did you post it? [10:09:00.0000] <zcorpan_> in here... can't find it in the logs though [10:13:00.0000] <Philip`> Was it while Krijn was offline? [10:14:00.0000] <zcorpan_> could be [10:15:00.0000] <zcorpan_> seems i've lost it too [10:15:01.0000] <Lachy> what was it about? [10:15:02.0000] <Lachy> I have almost full logs, so if you can tell me what to search for... [10:16:00.0000] <zcorpan_> "why does html5 allow for deprecated elements or tag soup?" [10:16:01.0000] <zcorpan_> or something like that [10:16:02.0000] <zcorpan_> "actually it doesn't" [10:17:00.0000] <Philip`> Look for "this should be added to the faq" [10:17:01.0000] <Lachy> May 02 10:38:39 <zcorpan_> Lachy_: perhaps we should add something along the following lines to the faq... [10:17:02.0000] <Lachy> May 02 10:38:46 <zcorpan_> Why does HTML5 allow for deprecated markup or tag soup? [10:17:03.0000] <Lachy> May 02 10:38:46 <zcorpan_> Actually it doesn't. This is a misconception that comes from a fundamental misunderstanding of what the specification is saying. [10:17:04.0000] <Lachy> May 02 10:38:46 <zcorpan_> The HTML5 spec defines what UAs must do when they are confronted with invalid markup, as a way to achieve interoperability and reduce the need for reverse engineering other browsers. For instance, it is defined what to do with misnested tags. This does not imply that authors are allowed to misnest tags. [10:17:05.0000] <Lachy> May 02 10:38:46 <zcorpan_> The HTML5 spec also defines what authors must do in order to create conforming documents, as a way to promote the creation of accessible and device-independent documents. For instance, authors must not use the marquee element. This does not imply that UAs must ignore marquee elements. [10:17:06.0000] <Lachy> May 02 10:38:49 <zcorpan_> You have to be able to make the distinction between the rules that UAs have to follow to be conforming, and the rules authors have to follow to be conforming. They are completely orthogonal. [10:17:07.0000] <zcorpan_> yes, that [10:17:08.0000] <Lachy> I'll review it later [10:17:09.0000] <zcorpan_> ok [10:17:10.0000] <Lachy> /me -> bed! [10:18:00.0000] <zcorpan_> cya [10:37:00.0000] <zcorpan_> annevk: shouldn't you change http://annevankesteren.nl/img/logo to say "WEBLOG5"? :) [10:37:01.0000] <zcorpan_> or "WEBLOG42" [10:58:00.0000] <mpt> dbaron, where can I find an explanation of your quit message? [10:59:00.0000] <dbaron> it's just a message printed by a lisp implementation I was using [10:59:01.0000] <dbaron> it had a generational GC [10:59:02.0000] <dbaron> it should make sense if you look up generational garbage collection [10:59:03.0000] <mpt> ok, thanks [10:59:04.0000] <mpt> It's been bothering me for years [10:59:05.0000] <dbaron> I suppose the idea is sort of that I'm getting collected by the garbage collector and disappearing. :-) [11:04:00.0000] <dbaron> Hrm, I have a fixed bug report claiming we implemented http://www.whatwg.org/specs/web-apps/current-work/#alternate-style-sheets [11:05:00.0000] <dbaron> but that anchor doesn't work [11:05:01.0000] <dbaron> Hrm, I have a fixed bug report claiming we implemented http://www.whatwg.org/specs/web-apps/current-work/#alternate-style-sheets [11:05:02.0000] <dbaron> but that anchor doesn't work [11:05:03.0000] <dbaron> how would I find where that content is now? [11:05:04.0000] <dbaron> Did it move to some other spec? [11:05:05.0000] <dbaron> And if so, shouldn't the anchor stay, with a pointer? [11:09:00.0000] <gavin_> it's probably http://www.whatwg.org/specs/web-apps/current-work/#link-type [11:10:00.0000] <gavin_> /me also finds https://bugzilla.mozilla.org/show_bug.cgi?id=200930#c96 :) [11:10:01.0000] <Philip`> It would be nice if the links didn't move, but the tools aren't set up to make that happen [11:10:02.0000] <zcorpan> http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.src.html?content-type=text/html;%20charset=utf-8 [11:19:00.0000] <jruderman> http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html#dynamically ? seems newer [11:21:00.0000] <Philip`> annevk: The list of acknowledgements in that CSSOM document isn't quite alphabetical ("Sj" before "Si") [11:21:01.0000] <jruderman> if a stylesheet has been in the document before and it's put back into the document, should it go through that algorithm to decide whether it's enabled or should it remember whether it was enabled? [11:22:00.0000] <jruderman> "If new style sheets with titles are added to the document" ... i guess it depends on what "new" means :( [11:26:00.0000] <jruderman> i guess i'll have to ask annevk [11:31:00.0000] <Hixie> dbaron: it's in the CSSOM spec now [11:31:01.0000] <Hixie> http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.35&content-type=text/html;%20charset=utf-8 [11:32:00.0000] <Hixie> hsivonen: so, my requirements for the <font>/style="" thing is that style="" not be allowed everywhere, since that encourages media-specific markup. [11:33:00.0000] <Hixie> hsivonen: however, i acknowledge that we have to deal with WYSIWYG UAs that don't have any proven-usable way to encode author intent [11:33:01.0000] <Hixie> hsivonen: i'm open to suggestions, but putting style="" everywhere only deals with the use case of one of the camps involved in the discussion [11:36:00.0000] <zcorpan> /me thinks that disallowing style="" on any element results in not using any other element than <font>, thus resulting in even worse media independence [11:37:00.0000] <zcorpan> e.g. instead of <h1 style> wysiwyg tools would just emit <font style> [11:42:00.0000] <Hixie> wysiwyg tools can use the new embedded <style> and IDs or classes with <div>s and <p>s [11:43:00.0000] <Hixie> or we could provide them with style="" everywhere [11:43:01.0000] <Hixie> the thing is wysiwyg tools are a unique case, and what we allow for wysiwyg tools shouldn't apply to templates, hand-written content, etc [11:43:02.0000] <Hixie> imho [11:44:00.0000] <jruderman> how would you allow different things for wysiwyg than for templates? [11:45:00.0000] <zcorpan> Hixie: the result will be that those who hand-write templates will add the <meta> to claim that they are wysiwyg. so they can use style="" and pass validation [11:45:01.0000] <zcorpan> q.v. transitional doctype and target="" [11:45:02.0000] <zcorpan> *or* they will come up with uglier hacks [11:45:03.0000] <zcorpan> q.v. adding target="" with javascript [11:48:00.0000] <zcorpan> so if we find that we need to allow something for wysiwyg, it has to be conforming for anyone (yet we can discourage or say that authors SHOULD NOT do it or whatever, but trying to force them not to will lead to the same path as target="" situation today, i think) [11:51:00.0000] <zcorpan> or say that it isn't conforming but say that wysiwyg tools can emit it anyway [11:52:00.0000] <zcorpan> what i'm saying is that the wysiwyg meta tag is the new transitional doctype [11:52:01.0000] <dbaron> Hixie, but how do I learn that from the URL I gave above? [11:53:00.0000] <zcorpan> there should be a note in WA1 that has that id, saying that it has moved to cssom :) [11:56:00.0000] <Hixie> learn what? [11:56:01.0000] <zcorpan> that it has moved to cssom [11:57:00.0000] <Hixie> jruderman, zcorpan: i don't know, i don't have a good solution. if i did, we wouldn't be arguing about it. [11:57:01.0000] <Hixie> oh, i see [11:57:02.0000] <Hixie> (re the altss) [11:57:03.0000] <Hixie> i guess i can add a redirecty-like thing [11:57:04.0000] <Hixie> i might end up just merging it back in if anne doesn't get on with it :-) [11:59:00.0000] <Hixie> ok, added a link [12:09:00.0000] <Hixie> dbaron: i added a link to the spec [12:10:00.0000] <dbaron> thanks [12:11:00.0000] <Hixie> np [12:14:00.0000] <othermaciej> zcorpan: isolating the use of purely presentational inline markup seems to have some value [12:14:01.0000] <othermaciej> I'm not sure of the right way to do it myself [12:14:02.0000] <othermaciej> except that most of the extremist positions don't seem right to me [12:16:00.0000] <othermaciej> personally I'd just allow the style attribute on everything still, it seems like a useful shortcut for scoped <style> that also degrades gracefully in existing browsers [12:16:01.0000] <othermaciej> and it doesn't preclude including both aural and visual rules, say [12:17:00.0000] <othermaciej> it does rule out having separate print and screen rules, but that doesn't mean you can't use a scoped <style> if you want to do that [12:17:01.0000] <Hixie> the problem with style="" is that it encourages thinking in a media-specific way [12:17:02.0000] <Hixie> imho [12:17:03.0000] <Hixie> i mean we have inline <style> elements now [12:17:04.0000] <Hixie> that go almost anywhere [12:17:05.0000] <Hixie> and are scoped [12:17:06.0000] <Hixie> why use style=""? [12:17:07.0000] <Hixie> just to omit a selector? [12:20:00.0000] <othermaciej> to omit a selector, an id, and an extra element when you want to apply a style to exactly one element [12:20:01.0000] <othermaciej> or, to apply a scoped style that degrades gracefully to HTML4 UAs [12:20:02.0000] <othermaciej> these seem like practical reasons to me that override concerns about encouragement - seems like that is better addressed through providing scoped style for cases where multiple media must be styled differently [12:20:03.0000] <zcorpan> i'd be fine with dropping style="" altogether, but i don't think making it allowed based on a magic <meta> [12:20:04.0000] <zcorpan> ...is a good idea [12:20:05.0000] <Hixie> i agree that the magic <meta> thing sucks [12:20:06.0000] <othermaciej> do you have any data on how many style blocks or stylesheets have an @media rule or are media-scoped? [12:20:07.0000] <Hixie> no, but i don't imagine it's many at all [12:20:08.0000] <othermaciej> (i.e. through the media="" element) [12:21:00.0000] <bewest> what's the issue? [12:21:01.0000] <othermaciej> if it wasn't very many, that seems to be evidence against a theory that <style> better encourages thinking about multiple-media than style="" [12:22:00.0000] <Hixie> bewest: the issue is that we have several groups with contradictory requirements. we have people who don't want people to let people write presentational markup at all (and want style="" gone forever), we have wysiwyg editors who can only output presentational markup and so need style="", and we have everyone in between. [12:23:00.0000] <bewest> ok [12:23:01.0000] <bewest> yeah, I've been trying to follow along [12:23:02.0000] <bewest> thanks [12:24:00.0000] <zcorpan> currently i think the best outcome is to make style="" conforming on any element for anyone, but at the same time say that authors should not use it (and cite reasons why in the spec, and why it is conforming anyway) [12:24:01.0000] <Hixie> the idea of making style="" only apply to <font> was that we could attach the stigma of <font> to style="" [12:24:02.0000] <bewest> isn't the solution in these kinds of circumstances usually to remove some of the requirements until the issue is solveable? [12:25:00.0000] <Hixie> another possibility is to allow style="" on <font> and <div>, and allow them everywhere [12:25:01.0000] <bewest> zcorpan: that sounds like a good idea [12:25:02.0000] <othermaciej> at least some strict opponents of presentational markup would like to eliminate <b>, <i> and <font>, but have no problem with style="" [12:25:03.0000] <Hixie> (as in, remove the wysiwyg flag) [12:26:00.0000] <othermaciej> I'm not sure if they have clearly thought through their point of view though [12:26:01.0000] <zcorpan> Hixie: (yes) [12:26:02.0000] <Hixie> othermaciej: i'm trying to address their underlying requirements, not what they say they want, which is often stupid and illogical :-) [12:26:03.0000] <bewest> is anyone advocating wysiwyg POV or are we guessing? [12:27:00.0000] <Hixie> bewest: in this discussion, othermaciej and i both represent wysiwyg interests. [12:27:01.0000] <othermaciej> Hixie: I'm not sure removing style="", allowing it on <font> for WYSIWYG only, and adding scoped <style> addresses any actual requirements [12:27:02.0000] <Hixie> othermaciej: i agree [12:27:03.0000] <Hixie> othermaciej: the current spec is a failed experiment [12:27:04.0000] <Hixie> that much is clear [12:28:00.0000] <Hixie> what would the people here think of allowing style="" on certain elements, namely <font>, <div>, maybe <p>, maybe <section>? [12:28:01.0000] <othermaciej> ok, I'm caught up on public-html email for the first time in days, clearly time to unsubscribe [12:28:02.0000] <Hixie> i don't think it makes sense to make style="" apply to all elements (e.g. <head>) [12:28:03.0000] <zcorpan> Hixie: i don't see the benefit of allowing on only some elements [12:29:00.0000] <Hixie> the idea is to give the wysiwyg enough hooks to do what they want, but to still flag errors when mere mortals attempt to use style="" [12:29:01.0000] <zcorpan> contenteditable doesn't make sense on <head> either [12:29:02.0000] <othermaciej> putting style="" on <head> is silly mainly because the head is not normally displayed, not because it is intrinsically more bad [12:29:03.0000] <othermaciej> irrelevant also doesn't make sense on <head> [12:30:00.0000] <bewest> Hixie: yeah, I'm against more modality.. there's no harm in allowing style="" on head [12:30:01.0000] <zcorpan> Hixie: i think allowing style="" on only some elements will lead to authors only using those elements [12:30:02.0000] <Hixie> the argument is that there's harm merely in style="" existing [12:31:00.0000] <bewest> I think the idea that style="" is allowed on everything is currently in the mindshare of many authors, whether or not it's used [12:31:01.0000] <Hixie> i agree [12:31:02.0000] <Hixie> /me is hoping we can change that mindshare [12:31:03.0000] <Hixie> i shouldn't have mentioned <head> [12:31:04.0000] <jruderman> i'd love to have scoped style [12:31:05.0000] <bewest> my suggestion would be to wait for html6 for that [12:32:00.0000] <Hixie> what can we do to move towards that though? [12:32:01.0000] <jruderman> i don't see the point in breaking the style attribute [12:32:02.0000] <bewest> I like zcorpan's suggestion [12:32:03.0000] <othermaciej> I'm not sure what the harm is of style="" existing that isn't also created by scoped <style> existing [12:32:04.0000] <Hixie> if we don't do anything now, we have no reason to believe anything will change in the future [12:32:05.0000] <bewest> you are doing something: 1.) add an informative note that style="" can be harmful because of media assumptions and 2.) allow <style> anywhere [12:33:00.0000] <Hixie> hmm [12:34:00.0000] <bewest> then the next 10 years of useage can inform the next positive step :-) [12:34:01.0000] <Hixie> maybe we can add two levels of conformance, "five star conforming html5" and "four star conforming html5", where the presence of a style="" attribute causes the document to drop to four stars [12:34:02.0000] <Hixie> what do people think of that idea? [12:34:03.0000] <bewest> that's great [12:34:04.0000] <othermaciej> is that a serious suggestion? [12:34:05.0000] <Hixie> yes [12:34:06.0000] <bewest> kind of like yahoo's browser grades? [12:34:07.0000] <bewest> be careful of slipping down the rabbit hole though [12:34:08.0000] <othermaciej> sounds like a slippery slope [12:35:00.0000] <bewest> people will want graded conformance on other areas as well [12:35:01.0000] <Hixie> slippery slope to where? [12:35:02.0000] <zcorpan> it might still lead to ugly workarounds for people who want five stars but also want to use style="" [12:35:03.0000] <othermaciej> to having many conformance grades with all sorts of differences, not just style="" [12:35:04.0000] <bewest> right [12:35:05.0000] <Hixie> true [12:35:06.0000] <othermaciej> which to me seems like clearly a bad thing [12:35:07.0000] <Hixie> yeah [12:35:08.0000] <Hixie> hmmm [12:35:09.0000] <othermaciej> it would be like Strict/Transitional/Frameset DTDs all over again [12:35:10.0000] <bewest> erm not quite [12:35:11.0000] <Hixie> see, this is why i haven't addressed this issue yet [12:36:00.0000] <Hixie> nobody has come up with a solution that works for all sides [12:36:01.0000] <bewest> there is already different ability levels among authorship [12:36:02.0000] <bewest> it might make sense to capitalize on it [12:37:00.0000] <bewest> whether or not that causes too much work for speccing purposes is a different issue [12:37:01.0000] <Hixie> maybe the two conformance levels can be "valid html5" and "astrophy-approved! valid html5" [12:37:02.0000] <bewest> we have technology for doing feature detection... schematron, griddl, etc... [12:38:00.0000] <zcorpan> if allowing style="" anywhere for anyone is not acceptable, then the next best alternative as i see it is to make it non-conforming for everyone but allow wysiwyg-tools to emit it anyway [12:38:01.0000] <Hixie> zcorpan: unfortunately the flag to distinguish wysiwyg markup from non-wysiwyg markup is itself not acceptable to everyone [12:39:00.0000] <zcorpan> Hixie: without the flag [12:39:01.0000] <Hixie> well then what would the conformance checker say? yay on nay? [12:39:02.0000] <zcorpan> wysiwyg-documents that emit style="" would be non-conforming [12:39:03.0000] <zcorpan> nay [12:39:04.0000] <Hixie> editing tools would never accept that [12:39:05.0000] <Hixie> as in, editing tool representatives [12:40:00.0000] <zcorpan> those two options are the ones i see would prevent ugly workarounds we see today with the transitional/strict situation [12:41:00.0000] <zcorpan> one will not be accepted by semanticists. the other will not be accepted by wysiwyg tools that want to emit conforming content [12:42:00.0000] <bewest> I don't see how you can realistically ax style="" [12:42:01.0000] <Hixie> in continues to amaze me how the xforms advocates totally disbelieve that wf2 has actually managed to spec new features in backwards-compatible ways [12:43:00.0000] <bewest> the path forward would probably look like putting a note that says to avoid style if you can, along with something like "when useage of style="" drops below .5% useage, it will be considered deprecated" [12:43:01.0000] <Hixie> heh [12:43:02.0000] <bewest> and then in the subsequent version drop it :-) [12:43:03.0000] <Hixie> we shouldn't make this conforming if we believe they will one day be non-conforming [12:43:04.0000] <othermaciej> I honestly don't see how having both style="" and scoped <style> is worse than having just scoped <style> [12:43:05.0000] <Hixie> that's just silly [12:43:06.0000] <othermaciej> both allow you to make the same set of mistakes [12:44:00.0000] <othermaciej> and give you the same set of tools to avoid those mistakes [12:44:01.0000] <zcorpan> deprecated! :) [12:44:02.0000] <Hixie> i really thing that style="" encourages worse behaviour than <style>, but i have no evidence for that. [12:44:03.0000] <Hixie> so i can't really argue the case. [12:44:04.0000] <bewest> deprecate: express strong disapproval of; deplore [12:44:05.0000] <zcorpan> but being deprecated would still lead to ugly workarounds because authors don't want warnings [12:45:00.0000] <bewest> zcorpan: but you can't offer any evidence of that either [12:46:00.0000] <bewest> in fact I'm not sure the evidence supports that [12:46:01.0000] <bewest> most authors do author invalid content [12:46:02.0000] <zcorpan> no, i can't prove that it will happen, i have just seen it happen with target="" and strict/transitional [12:46:03.0000] <zcorpan> indeed, it would only be worked around by authors who want conforming documents but also want to use style="" [12:47:00.0000] <bewest> zcorpan: and if <style> was available, why wouldn't they use that? [12:47:01.0000] <bewest> zcorpan: especially if style="" is discouraged? [12:47:02.0000] <bewest> or, am I missing the problem with <style>? [12:47:03.0000] <bewest> what's wrong with <style> again? [12:48:00.0000] <zcorpan> hmm, good question. perhaps because it's more verbose [12:48:01.0000] <zcorpan> but that would be their simplest "workaround" [12:48:02.0000] <zcorpan> which isn't very ugly [12:49:00.0000] <zcorpan> instead of <section><h1 style=...> you would have <section><style scoped>h1{...}</style><h1> [12:49:01.0000] <bewest> meanwhile everyone can write the article entitled "style="" considered harmful" [12:50:00.0000] <bewest> zcorpan: who would? [12:50:01.0000] <bewest> zcorpan: wysiwyg editors or authors? [12:50:02.0000] <zcorpan> bewest: authors who want to pass conformance-checking [12:50:03.0000] <bewest> zcorpan: why would authors use that when there are better ways that are more familiar? [12:51:00.0000] <zcorpan> same reason they are using style="" today [12:51:01.0000] <bewest> hmmm [12:51:02.0000] <zcorpan> (this is if style="" would be made non-conforming) [12:51:03.0000] <Philip`> zcorpan: Wouldn't they want graceful degradation too? (which <style scoped> doesn't really give, unless they're sufficiently careful and test in both old and new browsers) [12:52:00.0000] <bewest> zcorpan: are most people using style=""? [12:52:01.0000] <bewest> isn't this two separate issues? [12:52:02.0000] <zcorpan> Philip`: yes, and then it would be even more verbose [12:53:00.0000] <zcorpan> bewest: no, most people are using tables and <font color> :) [12:53:01.0000] <zcorpan> my issue is, if style="" becomes non-conforming, then authors who use it today and want to pass conformance-checking will try to replace it with something else that does the same thing [12:54:00.0000] <zcorpan> if that something else is more verbose or bad in other ways then i don't see the win of making it non-conforming [12:54:01.0000] <bewest> zcorpan: so what is the preferred way, again? <link /> <style> in head or scoped style blocks? [12:54:02.0000] <bewest> zcorpan: and why do you believe they would opt for scoped style blocks over the other options? [12:55:00.0000] <bewest> zcorpan: you are specifically talking about authors who know that they want their documents to conform? [12:55:01.0000] <zcorpan> they will do what is simplest for them to do. if moving to an external style sheet is simpler than replacing with inline <style>s or something else then they will do that [12:55:02.0000] <zcorpan> bewest: yes (re your last q) [12:56:00.0000] <zcorpan> this is also why i want target="" to be conforming [12:56:01.0000] <zcorpan> (authors are already working around it not being conforming with scripting) [12:57:00.0000] <zcorpan> this is not a large group of people but their workarounds bother me [12:57:01.0000] <bewest> zcorpan: I'm not convinced that people would opt for the nasty workarounds [12:58:00.0000] <zcorpan> bewest: see e.g. http://www.sitepoint.com/print/standards-compliant-world [12:58:01.0000] <zcorpan> they already are [12:58:02.0000] <bewest> zcorpan: is fear of a workaround a good basis for reasoning about a feature? [12:59:00.0000] <zcorpan> not sure. wysiwyg tools could emit similar workarounds too, fwiw, if they want to emit conforming documents [13:00:00.0000] <bewest> I thought that's the use case we're trying to support, though [13:00:01.0000] <bewest> ooo lunch is here [13:01:00.0000] <zcorpan> yes, but why is e.g. scoped style better than equivalent style=""? [13:01:01.0000] <zcorpan> (i know scoped style is more powerful, but it's also more verbose) [13:59:00.0000] <bewest> zcorpan: scoped style allows decoupling of media-specific stuff [14:00:00.0000] <zcorpan> bewest: yes [14:43:00.0000] <zcorpan> how should i make it easy to contribute to http://simon.html5.org/temp/author-view-of-html5.css ? move it to google code? [14:44:00.0000] <zcorpan> the wiki? [14:44:01.0000] <bewest> google code is good [14:45:00.0000] <bewest> I've seen people serve files straight from google code svn [14:45:01.0000] <zcorpan> ok. perhaps it should be part of the html5 project at google code [14:45:02.0000] <bewest> svn seems to be the favorite tool these days [14:46:00.0000] <zcorpan> Hixie: how do i go about to add it to http://code.google.com/p/html5/ ? [14:47:00.0000] <Hixie> check out the subversion repository [14:47:01.0000] <Hixie> add a directory [14:47:02.0000] <Hixie> check it back in :-) [14:48:00.0000] <zcorpan> ok [14:50:00.0000] <Philip`> hsivonen: For the table at http://hsivonen.iki.fi/doctype/, in Konqueror 3.5.5 I see exactly the same behaviour as the "Moz & Safari" column, in case you want to update it [14:50:01.0000] <Philip`> (Or should I send email or something?) [14:56:00.0000] <zcorpan> http://html5.googlecode.com/svn/trunk/author-view-of-html5/ [14:58:00.0000] <Philip`> javascript:void(document.getElementsByTagName("head")[0].innerHTML+="<link rel=stylesheet href=http://simon.html5.org/temp/author-view-of-html5.css>") looks like a shorter valid (I hope) alternative [14:59:00.0000] <Philip`> ...but that should probably point to the SVN URL in any case [14:59:01.0000] <zcorpan> Philip`: you're free to modify it :) [14:59:02.0000] <zcorpan> the svn url is text/plain [15:01:00.0000] <Philip`> I'd have to remember my password before modifying it :-) [15:01:01.0000] <zcorpan> http://code.google.com/hosting/settings [15:02:00.0000] <Philip`> text/plain: Ah, okay - that seems to make it work in Opera but not Firefox [15:03:00.0000] <zcorpan> it could perhaps be hosted somewhere at whatwg.org (as text/css) and the spec could include a <link> to that [15:03:01.0000] <zcorpan> either updated automatically or manually [15:41:00.0000] <Hixie> othermaciej: you need .value on the form control names in your examples, fyi [15:41:01.0000] <Hixie> as in onforminput="value = 'Hello, ' + firstname.value + ' ' + surname.value; ..." [15:42:00.0000] <othermaciej> Hixie: feel free to correct me - I'm pretty sure that the XForms version would still be much longer if not entirely impossible [15:42:01.0000] <Hixie> i don't think it needs corrections [15:43:00.0000] <Hixie> just thought you'd want to know :-) [15:43:01.0000] <Hixie> another thing is that in wf2 instead of onkeypress it's better to use oninput [15:43:02.0000] <Hixie> i love your autosuggest thing though [15:43:03.0000] <Hixie> that's awesome [15:43:04.0000] <Hixie> two lines! [15:43:05.0000] <bewest> ooOOo where? [15:44:00.0000] <Hixie> <input name="search" type="text" list="suggestions" onkeypress="list.data = '/suggest?prefix=' + value"> [15:44:01.0000] <Hixie> <datalist id="suggestions" data="/suggest"></datalist> [15:44:02.0000] <Hixie> (except s/keypress/input/) [15:45:00.0000] <bewest> this is in wf2 or xforms? [15:45:01.0000] <gavin_> wf2 [15:45:02.0000] <Hixie> wf2 [15:45:03.0000] <Hixie> should work in opera 9 today, even [15:45:04.0000] <Philip`> The lack of ugly namespace prefixes should make it obvious :-) [15:46:00.0000] <bewest> ah that's a nice improvement over the acrobatics required to do it today [15:46:01.0000] <Hixie> yeah [15:47:00.0000] <bewest> I assume the suggestions are stylable via css? [15:48:00.0000] <Hixie> that may or may not be a good assumption [15:48:01.0000] <Hixie> not sure [15:49:00.0000] <othermaciej> Hixie: the one thing it doesn't do well is it lacks hysteresis [15:49:01.0000] <othermaciej> Hixie: that could be added w/ a bit of script [15:50:00.0000] <othermaciej> bewest: they are given as <option> elements, so depends on whether your UA respects styles on <option> [15:50:01.0000] <Hixie> othermaciej: the waiting for the user to stop typing? [15:50:02.0000] <othermaciej> yeah [15:50:03.0000] <Hixie> othermaciej: that's why you should use oninput="" [15:50:04.0000] <Hixie> it's defined to fire "when the UA thinks the user has stopped inputting" or some such [15:50:05.0000] <othermaciej> Hixie: if oninput has that behavior then it totally wins :-) [15:50:06.0000] <Hixie> :-) [15:51:00.0000] <Hixie> you sure you want me to write those examples? [15:51:01.0000] <Hixie> /me is tempted to not bother yet and instead just work on html5 [15:52:00.0000] <othermaciej> well, I don't know that it would persuade John Boyer, but it could be informative to others [15:52:01.0000] <Dashiva> Wow [15:52:02.0000] <Hixie> i guess i'll do that tomorrow [15:52:03.0000] <Dashiva> Chris isn't top-posting. It's a miracle! [15:52:04.0000] <Hixie> bbiab [15:53:00.0000] <othermaciej> Hixie: I actually didn't think it would be that easy to do that in WF2 (the Ajax combo box thing), I was pleasantly surprised [15:53:01.0000] <bewest> othermaciej: I think you really stuck a bee in his bonnet... [15:53:02.0000] <othermaciej> but Mark Birbeck brought up Ajax libraries [16:04:00.0000] <zcorpan> <?php header("Content-Type: text/css"); include("http://html5.googlecode.com/svn/trunk/author-view-of-html5/author-view-of-html5.css"); ?> [16:04:01.0000] <zcorpan> shouldn't that work? [16:04:02.0000] <zcorpan> http://simon.html5.org/temp/author-view-of-html5.css [16:06:00.0000] <Dashiva> Many systems block crossdomain includes [16:07:00.0000] <Philip`> "URL file-access is disabled in the server configuration" - seemingly not [16:07:01.0000] <hasather> yea, for security reasons [16:07:02.0000] <Philip`> PHP server configuration sounds like fun [16:07:03.0000] <zcorpan> /me ponders [16:07:04.0000] <Dashiva> There is A Way (tm) around it [16:08:00.0000] <Philip`> Use Perl? ;-) [16:08:01.0000] <zcorpan> or python [16:08:02.0000] <Philip`> You could write an Apache module in C [16:09:00.0000] <zcorpan> how does one include in python? [16:11:00.0000] <Dashiva> I would try fopen, and if that fails too, fsockopen [16:11:01.0000] <zcorpan> /me finds http://www.diveintopython.org/http_web_services/review.html [16:12:00.0000] <Philip`> import urllib; print urllib.urlopen("http://google.com").read() [16:12:01.0000] <Philip`> perhaps [16:12:02.0000] <zcorpan> yeah [16:13:00.0000] <Philip`> Ah [16:26:00.0000] <bewest> <?php header("Content-Type: text/css"); echo file_get_contents("$url"); ?> [16:26:01.0000] <bewest> not include [16:27:00.0000] <Dashiva> Isn't file_get_contents blocked by the same setting as include? [16:27:01.0000] <bewest> no [16:27:02.0000] <bewest> include means execute as php code [16:27:03.0000] <bewest> it's like using eval [16:27:04.0000] <bewest> which is why it's dangerous to use with URLs [16:27:05.0000] <bewest> file_get_contents just reads a file-like object stream [16:28:00.0000] <Dashiva> "You can use a URL as a filename with this function if the fopen wrappers have been enabled." [16:28:01.0000] <Dashiva> If "URL fopen wrappers" are enabled in PHP (...), you can specify the file to be included using a URL [16:28:02.0000] <Dashiva> Seems like the same to me [16:28:03.0000] <zcorpan> "URL file-access is disabled in the server configuration" [16:29:00.0000] <zcorpan> my attempt to do it with python only resulted in 500 internal error [16:29:01.0000] <hasather> zcorpan: is the file executable? [16:29:02.0000] <zcorpan> hasather: yes [16:29:03.0000] <bewest> include is not the same [16:29:04.0000] <bewest> include is like import [16:29:05.0000] <bewest> in python [16:29:06.0000] <hasather> zcorpan: do you have the shebang? [16:29:07.0000] <bewest> or use in perl [16:29:08.0000] <Dashiva> The functionality doesn't matter, the fact is they're blocked by the same setting [16:30:00.0000] <zcorpan> hasather: what shebang? [16:30:01.0000] <hasather> zcorpan: #!/usr/bin/env python [16:30:02.0000] <zcorpan> hasather: yes [16:30:03.0000] <hasather> hmm, ok [16:30:04.0000] <zcorpan> and SetHandler cgi-script [16:30:05.0000] <Dashiva> zcorpan: What if you only do the import and not the print/urlopen call? [16:31:00.0000] <zcorpan> Dashiva: i commented out everything and still got 500 [16:31:01.0000] <Philip`> Are you just doing 'print "Content-Type: text/css\r\n\r\n"' in Python? [16:31:02.0000] <zcorpan> oh, perhaps need that [16:31:03.0000] <zcorpan> forgot [16:35:00.0000] <zcorpan> nope [16:38:00.0000] <zcorpan> <Files author-view-of-html5.css> [16:38:01.0000] <zcorpan> ForceType text/plain [16:38:02.0000] <zcorpan> SetHandler cgi-script [16:38:03.0000] <zcorpan> </Files> [16:39:00.0000] <zcorpan> ah! [16:40:00.0000] <zcorpan> #!/usr/bin/python works [16:41:00.0000] <zcorpan> success! [16:48:00.0000] <Dashiva> Good, because using fsockopen requires you to write and parse HTTP manually 2007-05-04 [17:06:00.0000] <Philip`> The PHP manual's user comments are fun - there's one with a code sample saying "This might help a bit for security (no guarantees)" which, naturally, is buggy and doesn't help with security at all [17:20:00.0000] <jgraham> /me just checked in the html5lib parse tree viewing web-app bits to http://code.google.com/p/html5/ [17:22:00.0000] <jgraham> If anyone has any suggestions for a place to host that more stable than "over my dsl connection" that would be good :) [17:23:00.0000] <jgraham> /me feels he should emphasise again the code is not production quality [17:28:00.0000] <hasather> jgraham: do you want a suggestion for a place where you could host it, or do you want someone to host it for you? [17:29:00.0000] <jgraham> hasather: Well preferably the latter but if you know of somewhere that has cheap webhosting with excellent python support and reasonable customer service that would be good too :) [17:30:00.0000] <hasather> jgraham: I could throw it up on my server if you want [17:31:00.0000] <jgraham> That sounds good [17:33:00.0000] <jgraham> Assuming you don't mind and won't object to getting the occasional request to update it, that is :) [17:33:01.0000] <hasather> jgraham: nope :) [17:34:00.0000] <jgraham> /me has to sleep now [17:35:00.0000] <hasather> jgraham: I fix it tomorrow, good night [17:53:00.0000] <zcorpan> Hixie: you think you could add jdandrea⊙gc to the html5 google project? [17:54:00.0000] <zcorpan> (he wants to contribute to the style sheet) [17:54:01.0000] <Hixie> done [17:54:02.0000] <zcorpan> thanks [18:20:00.0000] <Hixie> othermaciej: btw, john is wrong on almost all counts on his description of the problems with the wf2 repetition model [18:20:01.0000] <Hixie> notwithstanding that it does suck [18:20:02.0000] <othermaciej> Hixie: at least he gave actual technical feedback on a specific point! [18:21:00.0000] <Hixie> indeed [18:21:01.0000] <othermaciej> Hixie: B.F. Skinner says he must receive a treat to reinforce this behavior [18:22:00.0000] <bewest> is there some short javascript function I can use to detect whether a browser is in strict or quirks mode? [18:22:01.0000] <Hixie> if we do this <repeat> thing, i really would want the repeated blocks of the template to be in the DOM, but that doesn't really mesh well with the requirements [18:22:02.0000] <Hixie> hm [18:22:03.0000] <Hixie> bewest: look at document.compatMode [18:22:04.0000] <Hixie> it'll be CSS1Compat or QuirksMode, iirc [18:22:05.0000] <Hixie> or something like that [18:22:06.0000] <Philip`> BackCompat, I think [18:23:00.0000] <Hixie> oh right [18:23:01.0000] <Hixie> BackCompat [18:23:02.0000] <bewest> oOOoo [18:23:03.0000] <bewest> nice [18:23:04.0000] <Philip`> (http://developer.mozilla.org/en/docs/DOM:document.compatMode) [18:23:05.0000] <Hixie> is doesn't expose Almost Standards Mode [18:23:06.0000] <Hixie> it [18:24:00.0000] <Philip`> (A more consistent naming convention for the various frozen-bug modes might be nice) [18:25:00.0000] <zcorpan> opera used to have QuirksMode. now it's BackCompat [18:25:01.0000] <Philip`> (except the old inconsistent names have to be frozen too, for backward compatibility...) [18:26:00.0000] <zcorpan> Hixie: you think it would be realistic to get the css21 spec changed to reflect almost standards mode (so the two modes can be merged)? [18:27:00.0000] <bewest> thanks [18:28:00.0000] <zcorpan> (aiui, it would only affect handling of replaced inline elements when there is no text or non-replaced inline elements in the same line box) [18:29:00.0000] <Hixie> zcorpan: realistic how? [18:55:00.0000] <zcorpan> that the wg would accept the proposal to spec how almost standards mode works [18:57:00.0000] <Hixie> oh. no. [18:57:01.0000] <Hixie> they won't even accept that we define how tables render in quirks mode [18:57:02.0000] <Hixie> _and_ standards mode [18:57:03.0000] <Hixie> (which is the same) [18:57:04.0000] <Hixie> instead insisting that the css spec say that html tables are undefined and xhtml tables are different [18:57:05.0000] <zcorpan> yeah [18:59:00.0000] <zcorpan> what i thought was that if i could spec something that implementors can agree on and implement then the csswg could either ignore reality and or accept the proposal [18:59:01.0000] <zcorpan> s/and or/or/ [18:59:02.0000] <Hixie> almost standards is basically an entirely different inline box model [18:59:03.0000] <zcorpan> yes [18:59:04.0000] <Hixie> the inline box model is the most complicated part of css [19:00:00.0000] <zcorpan> yeah... i'm not saying it's trivial... just that any ua would have to implement almost standards mode anyway [19:00:01.0000] <Hixie> yeah [19:00:02.0000] <Hixie> certainly i'm not going to discourage you from trying to spec it [19:00:03.0000] <zcorpan> so having something different in the spec is not helful imho (since there are more ASM documents than there is SM documents on the web) [19:01:00.0000] <Hixie> but it's not something i plan on being involved with for a while :-) [19:01:01.0000] <Hixie> yeah i gave up on the csswg a few months back [19:01:02.0000] <zcorpan> ok [19:22:00.0000] <othermaciej> Hixie: well, it seems like The Director didn't accept the CSS WG's stance on tables [19:22:01.0000] <othermaciej> although of course that has limited value in getting to do something good [19:23:00.0000] <othermaciej> zcorpan: I think there are factions in the csswg that are low on willingness to acknowledge reality [19:24:00.0000] <zcorpan> well... so long as implementors can agree on implementing something then i'm happy. if the csswg ignores it then oh well [19:24:01.0000] <othermaciej> csswg has not gone sufficiently down the tubes yet for implementors to entirely rebel [19:25:00.0000] <zcorpan> keeping almost standards mode and standards mode is also an option, but i'd still like to spec ASM [19:25:01.0000] <zcorpan> i would like them to be merged though [19:26:00.0000] <zcorpan> my limited testing so far has shown that there is not interop in ASM handling [19:26:01.0000] <othermaciej> I would prefer standards mode to change to match ASM [19:26:02.0000] <othermaciej> zcorpan: what's the lack of interop? [19:26:03.0000] <zcorpan> when to use the real line box model or not [19:26:04.0000] <zcorpan> e.g. if you have <div><img> <img></div> [19:27:00.0000] <zcorpan> vs. <div><img><img></div> vs. <div><img>x<img></div> [19:27:01.0000] <othermaciej> which one of those has layout differences, and in what browsers? [19:29:00.0000] <zcorpan> iirc, the first is equivalent to the second in ie, but equivalent to the third in gecko [19:29:01.0000] <zcorpan> i'll have to do a lot more testing on this though [19:32:00.0000] <zcorpan> also, is a non-replaced empty inline element that has a border enough to trigger the real line box model or not? at least opera and gecko disagree about that in ASM [19:33:00.0000] <zcorpan> (gecko does the same as in SM in that case, opera doesn't) [19:33:01.0000] <othermaciej> well, IE has no difference between ASM and SM [19:33:02.0000] <zcorpan> i know [19:33:03.0000] <othermaciej> and both may be wrong [19:34:00.0000] <othermaciej> the first matching the third is probably an artifact of IE dropping whitespace text nodes entirely [19:34:01.0000] <othermaciej> wait, I guess they wouldn't in that case [19:34:02.0000] <zcorpan> no, the text node is there [19:34:03.0000] <othermaciej> so nevermind [19:34:04.0000] <othermaciej> if you can't easily test in Safari yourself I can help (though not right now, most go soon) [19:35:00.0000] <zcorpan> sure, thanks [19:35:01.0000] <zcorpan> i'll let you know when i have more tests [19:37:00.0000] <bzed> jgraham: btw, html5lib is in Debian's testing/unstable since a few days [19:47:00.0000] <zcorpan> /me finds the new buzzword "POSH" [19:47:01.0000] <zcorpan> seems to be the same as the "XHTML" buzz a few years back [19:47:02.0000] <zcorpan> just without the X :) [20:04:00.0000] <zcorpan> so HTML5 without style="" would be POSH5 :) [20:05:00.0000] <marcosc> :D [20:10:00.0000] <zcorpan> http://www.ilimitado.de/blog/allgemeines/whatwg-kundigt-html6-an/ [20:18:00.0000] <Philip`> The danger of making April Fools' jokes not quite obvious enough :-) [20:19:00.0000] <zcorpan> /me commented [20:26:00.0000] <zcorpan> /me notes that the whatwg blog's tagline is now "Please leave your sense of logic at the door, thanks!" [20:26:01.0000] <Hixie> heh [02:50:00.0000] <hsivonen> whoa. so many points about style='' that I think I'll reply to list [02:52:00.0000] <annevk> please also point out the problems with style= [02:53:00.0000] <hsivonen> Philip`: Konq doctype: ack [03:47:00.0000] <annevk> help, HTML5 links to CSSOM [03:58:00.0000] <annevk> hsivonen, the case study is really about adding target= through scripting [04:03:00.0000] <hsivonen> annevk: is that really what the ALA types are doing these days? [04:04:00.0000] <annevk> that's the script on sitepoint [04:04:01.0000] <annevk> i also made one of those scripts [04:04:02.0000] <annevk> using rel=external [04:04:03.0000] <annevk> as indicator [04:04:04.0000] <hsivonen> wow. aren't people even interested in fooling themselves anymore? [04:05:00.0000] <annevk> i don't really see the difference with window.open() [04:05:01.0000] <annevk> people are also using <script> to write out <embed> [04:05:02.0000] <annevk> for Flash [04:05:03.0000] <annevk> (before Eolas) [04:10:00.0000] <Philip`> Maybe there could be a i-know-this-is-nonconforming-but-let-me-do-it-anyway="true" attribute, which makes conformance checkers look away while you do something naughty because the alternatives are worse [04:11:00.0000] <zcorpan> ...or you make those cases conforming [04:14:00.0000] <annevk> "embrace and extend" :) [04:14:01.0000] <hsivonen> annevk, Philip`: do you have suggestions with better net effects? [04:15:00.0000] <annevk> i'm not against [04:15:01.0000] <annevk> /me is all for target [04:15:02.0000] <annevk> let authors indicate what they want [04:15:03.0000] <annevk> let the user decide what to do with that information [04:17:00.0000] <annevk> implemented EndTagShort, EndTag, Pi so far... [04:17:01.0000] <annevk> didn't do anything fancy for Pi though... just extracting the name and its contents [04:21:00.0000] <hsivonen> annevk: is your XML5 error recovery streamable (i.e. SAX-friendly)? [04:22:00.0000] <annevk> like not having adoption agency? [04:22:01.0000] <hsivonen> annevk: yes [04:22:02.0000] <annevk> yes [04:23:00.0000] <hsivonen> annevk: cool [04:23:01.0000] <annevk> although it's not entirely clear how this will work out with entities [04:23:02.0000] <annevk> because of the looping [04:23:03.0000] <hsivonen> looping? [04:23:04.0000] <annevk> two entity definitions that refer to each other [04:23:05.0000] <annevk> (entities are like templates) [04:24:00.0000] <hsivonen> my point is that if you are looking for adoption and a wide buy-in, you cannot sacrifice the performance properties of streaming parsers [04:24:01.0000] <hsivonen> annevk: that's not exposed through ContentHandler anyway [04:24:02.0000] <annevk> yeah, so presumably this is a solved problem already because their entity checking happens during streaming [04:25:00.0000] <annevk> except that I don't throw an error but print out the looping entity or simply drop it [04:25:01.0000] <annevk> (well, an error too) [04:25:02.0000] <hsivonen> annevk: do you have a prescribed anti-billion laughs limit? [04:26:00.0000] <hsivonen> you need 16 for the XHTML+SVG+MathML DTD, IIRC [04:26:01.0000] <hsivonen> 16 as the depth, that is [04:27:00.0000] <annevk> what's that? [04:28:00.0000] <annevk> I'm not doing DTDs [04:28:01.0000] <zcorpan> annevk: one more thing i'm curious about, will there be only be one conformance level? e.g. non-validating that don't fetch external entities, but know about some FPIs? [04:28:02.0000] <zcorpan> annevk: but you'll have to spec the internal subset, right? [04:29:00.0000] <annevk> yes, yes [04:29:01.0000] <zcorpan> ok [04:29:02.0000] <zcorpan> good :) [04:29:03.0000] <annevk> (i'm not sure I'll do the crap about known FPIs) [04:29:04.0000] <annevk> just predefine a bunch of cool entities [04:30:00.0000] <annevk> actually, I'm sure I won't do FPIs in my initial version [04:30:01.0000] <annevk> the initial version will ignore all that [04:30:02.0000] <zcorpan> ok [04:30:03.0000] <hsivonen> annevk: aren't you required to do the internal subset? [04:31:00.0000] <annevk> FPIs != internal subset right? [04:31:01.0000] <hsivonen> Formal Public Identifier [04:31:02.0000] <hsivonen> -//blahblah DTD// ffo //EN [04:31:03.0000] <annevk> /me will do the internal subset, including entities, default attribute values, attribute types and parameter entities [04:31:04.0000] <annevk> right, that's simply ignored [04:31:05.0000] <hsivonen> annevk: billion laughs can be delivered in the internal subset [04:32:00.0000] <annevk> still need to know what it is [04:32:01.0000] <annevk> /me -> lunch [04:32:02.0000] <hsivonen> annevk: it is a denial of service attack [04:32:03.0000] <hsivonen> annevk: I'd rather not paste a test case URL here, because someone might open it in a vulnerable browser [04:33:00.0000] <zcorpan> <!ENTITY ha "ha! ha! "><!ENTITY ha1 "&ha; &ha;">... &ha128; [04:33:01.0000] <hsivonen> http://agorf.void.gr/blog/archive/2005/11/05/the-billion-laughs-attack/ [04:33:02.0000] <hsivonen> beware of the further links there [04:34:00.0000] <zcorpan> those links are 404s :) [05:05:00.0000] <annevk> hsivonen, so laughs is looped entities? [05:06:00.0000] <annevk> that page doesn't tell me much [05:06:01.0000] <annevk> given that the links are broken [05:09:00.0000] <hsivonen> annevk: not looped. growing to power of two. see what zcorpan said above [05:11:00.0000] <annevk> oh right [05:11:01.0000] <annevk> suggestions for entity tokenizing welcome [05:54:00.0000] <Dashiva> This seems relevant: http://www.bash.org/?684098 [08:16:00.0000] <annevk> is <x foo=bar/> a start or empty tag? [08:17:00.0000] <annevk> /me leaves it a start tag for now [09:08:00.0000] <annevk> hmm, doctypes [09:22:00.0000] <jdandrea> annevk: <x foo=bar/> - my knee-jerk reaction is "that's a start tag." [09:22:01.0000] <jdandrea> (which happens to comprise an empty element) [09:23:00.0000] <Lachy> it would make the most sense to parse <x foo=bar/> similarly to HTML5, which treats it like <x foo="bar/"> [09:24:00.0000] <Lachy> so it's just a start tag [09:24:01.0000] <jdandrea> Lachy: Oh! I see the distinction. Subtle. :) [09:24:02.0000] <jdandrea> It's not even an empty element then. [09:27:00.0000] <Philip`> Given how people like writing <x /> in XML, it could be convenient to have <x foo=bar/> === <x foo="bar/"> and then <x foo=bar /> === <x foo="bar"/> [09:27:01.0000] <Lachy> Philip`, yes [09:28:00.0000] <Philip`> (so, rather than forcing them to go back and add two quotes when they get it wrong, they only have to go back and add a space if they get it wrong) [09:29:00.0000] <Lachy> that depends on whether or not omitting quotes is conforming or not [09:29:01.0000] <Philip`> Does anyone care if that's conforming, as long as it parses correctly? :-) [09:30:00.0000] <Lachy> yes, it's important to have sensible document conformance requirements, so that conformance checkers can issue errors, that help authors fix documents if the error recovery isn't what they actually intended [09:31:00.0000] <Lachy> it could be that the author intended <x foo=bar/> to be an empty element, but because quotes were omitted accidentially, it's not [09:32:00.0000] <jdandrea> So, at the very least, the author should be warned. [09:32:01.0000] <Lachy> conformance checkers should mostly emit errors instead of warnings [09:33:00.0000] <jdandrea> In the <x foo=bar/> case, would the checker issue a warning or an error? [09:33:01.0000] <Lachy> though, warnings are ok for things that are technically conforming, but not advisable, or explicitly requested by the person checking the doc [09:34:00.0000] <Lachy> an error [09:34:01.0000] <jdandrea> Ah, because it's non-conforming. Got it. [09:37:00.0000] <Philip`> Hmm, I think I'm missing the reason why rather than having error recovery for non-conforming documents that works almost but not quite properly, which will hurt people in rare cases (like when they add a / to an attribute value), it isn't more convenient to have error recovery that makes it obvious those cases are wrong (e.g. by parsing <x foo=bar> into <x foo="" bar="">) so the author knows their code is likely to break in the future (without them usi [09:37:01.0000] <Philip`> ...using a conformance checker) [09:39:00.0000] <Lachy> Philip`, that would be an example of non-fatal error recovery that could significantly break a document [09:41:00.0000] <Lachy> e.g. consider this XHTML: <div class=content> (div used for layout)</div>, the .content selector would no longer apply with that suggested parsing, and so the layout could break significantly [09:43:00.0000] <Philip`> The lack of "" doesn't seem like an error that's going to creep in without the document author noticing (unlike how unencoded &s and badly-nested tags and broken character encodings can creep in) - maybe they'd write 'print "<x foo=$bar>";' once but then they'd notice when testing (since it's not complex dynamically-generated output) and fix it to 'print "<x foo=\"$bar\">;' and it'll work alright [09:44:00.0000] <Philip`> Lachy: Is this meant to be somewhat backward compatible with HTML5 documents? [09:44:01.0000] <Lachy> being somewhat consistent would have the path of least surprise for authors [09:45:00.0000] <Lachy> s/have/be/ [09:46:00.0000] <Philip`> Ah, okay [09:47:00.0000] <Philip`> I guess the problem is <x foo="bar/"> would be the least surprising parse for HTML authors, but <x foo="bar"/> would be the least surprising for XML authors, so you have to consider which is more prevalent and which is least good at writing well-formed documents, in which case I guess you should minimise surprise for HTML authors :-) [09:48:00.0000] <Philip`> *consider which group of authors is ... [10:02:00.0000] <jdandrea> Minor nit: In WA 1.0 section 3.9.4 shouldn't the example dt and dd elements have end tags? [10:02:01.0000] <jdandrea> /me is looking at http://www.whatwg.org/specs/web-apps/current-work/multipage/section-prose.html#dialog [10:06:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-writing.html#optional says the end tags are optional [10:17:00.0000] <zcorpan> /me points to http://forums.whatwg.org/viewtopic.php?t=30 [10:23:00.0000] <jdandrea> Philip `: Ahh, yes indeed - just when I think I've stumbled upon something. Thx. :) 2007-05-05 [05:43:00.0000] <hsivonen> Hixie: should headers='' and summary='' be considered removed or not added yet? [05:44:00.0000] <annevk> when he did tables they were "removed" [05:44:01.0000] <annevk> well, not added because it wasn't clear what their processing model and use case was [05:56:00.0000] <Lachy> headers is useful for associating cells with their headers in complex tables. They're also more supported by ATs than scope="" [05:56:01.0000] <Lachy> but that could be fixed by defining the processing model for scope in a way that ATs can implement [05:57:00.0000] <Lachy> I think summary wasn't added few people use it, and even fewer use it correctly [05:57:01.0000] <annevk> I don't think much people use headers either [05:58:00.0000] <annevk> But I should shut up as I don't have data [05:58:01.0000] <Lachy> I've used headers="" before [05:59:00.0000] <Lachy> but I mostly use scope="" [10:02:00.0000] <Lachy> updated the FAQ with a new entry, thanks to zcorpan http://blog.whatwg.org/faq/#tag-soup [10:04:00.0000] <zcorpan> Lachy: your revised text is much better than my original :) [10:04:01.0000] <Lachy> :-) [10:41:00.0000] <gsnedders> on that subject… [10:42:00.0000] <gsnedders> annevk: does your XML5 have the same document conformance requirements as XML 1.0, so that any XML5 document can be parsed as XML 1.0? (seeming the real failing on XML 1.1 was the lack of compatiblity in a similar way) [10:43:00.0000] <annevk> no [10:43:01.0000] <annevk> that's by definition impossible since "XML5 document" will depend on the MIME type, not on the document [10:43:02.0000] <Lachy> but conforming XML 1.0 will be conforming XML5, so XML5 is a superset [10:44:00.0000] <annevk> yeah, although I'd like to simply forbid DOCTYPEs [10:44:01.0000] <Lachy> (unless you're going to make DOCTYPEs and DTDs non conforming) [10:44:02.0000] <annevk> :) [10:44:03.0000] <gsnedders> but I guess they won't cause a fatal error :P [10:44:04.0000] <gsnedders> </sarcasm> [10:44:05.0000] <Lachy> you could make external subsets non-conforming [10:45:00.0000] <annevk> external subsets are not supported [10:45:01.0000] <Lachy> yeah, right, so any document that uses one, like <!DOCTYPE foo SYSTEM "http://..."> will be non-conforming [10:45:02.0000] <annevk> currently it gives you a parse error after "<!DOCTYPE" [10:46:00.0000] <Lachy> so <!DOCTYPE html> will be non-conforming XML5? cool@ [10:46:01.0000] <Lachy> ! [10:47:00.0000] <annevk> i'm sure it will be changed in due course [10:47:01.0000] <annevk> but for the moment it's ok I think [10:48:00.0000] <zcorpan> /me thinks that conforming xml5 has to be the same or a subset of well-formed xml 1.0 in order to be successful, looking at xml 1.1, but i could be wrong [10:48:01.0000] <zcorpan> otherwise there will be a de-facto subset of xml5 that is also well-formed xml 1.0 [10:48:02.0000] <zcorpan> which might be ok [10:49:00.0000] <zcorpan> when xml 1.0 processors are not longer used that subset becomes irrelevant :) [10:49:01.0000] <annevk> If people start relying on my single new feature </> XML 1.0 processors might be encouraged to update [10:49:02.0000] <Lachy> the major problem with XML 1.1 was that it wasn't even backwards compatible. There was no subset of 1.1 that was conforming 1.0 [10:49:03.0000] <gsnedders> close last open tag? [10:49:04.0000] <annevk> CloseTagShort [10:49:05.0000] <annevk> yes [10:49:06.0000] <zcorpan> ah, i like </> :) [10:50:00.0000] <hasather> it should've been in XML from the beginning IMO [10:50:01.0000] <gsnedders> doesn't SGML have something similar? [10:50:02.0000] <annevk> This is all highly theoretical of course because I'm not sure how much people like it. [10:50:03.0000] <gsnedders> like, exactly that? [10:50:04.0000] <hasather> it was discussed [10:50:05.0000] <Lachy> nice! Defining failed SGML features is sure to work! :-) [10:50:06.0000] <zcorpan> gavin: yes [10:50:07.0000] <zcorpan> annevk: can't you make end tags optional too? [10:51:00.0000] <annevk> I'm not sure whether that's conforming or a parse error [10:51:01.0000] <Lachy> omitting end tags should be a parse error [10:51:02.0000] <annevk> The idea is that <a><b></a> will give you <a><b></b></a> as tree [10:52:00.0000] <annevk> The idea is also for that to be non-conforming markup [10:52:01.0000] <Dashiva> Is there a WD on XML5 somewhere? [10:52:02.0000] <Lachy> consider the case where someone writes <a>foo <b>bar<b> baz</a>. They probably meant </b>, but mistyped, so it would be good for conformance checkers to emit an error [10:53:00.0000] <annevk> Dashiva, I'm implementing first [10:53:01.0000] <Lachy> other than just allowing more Unicode chars, and the possible </>, what other features will be incompat with 1.0? [10:53:02.0000] <annevk> http://annevankesteren.nl/2007/xml5lib-tokenizer-plan.txt has an incomplete tokenization plan though, fwiw [10:53:03.0000] <annevk> Lachy, <x foo bar=x /> [10:54:00.0000] <Lachy> why are you making that conforming? [10:54:01.0000] <annevk> for timbl [10:54:02.0000] <Lachy> ? [10:55:00.0000] <annevk> that was a joke sort of; mainly for compat with HTML [10:55:01.0000] <Lachy> I don't think it should be made conforming, though I agree with making the error handling compat with HTML in that case [10:55:02.0000] <zcorpan> annevk: won't </> being conforming as an end tag in xml5 make people try to use it in html? (cf <foo />) [10:56:00.0000] <annevk> zcorpan, maybe [10:58:00.0000] <Lachy> I'd advise against making too many incompat changes from XML 1.0. It's going to be hard enough getting people XML fans to accept XML5's error handling, without making it seem even more like tag soup [10:59:00.0000] <zcorpan> annevk: have you researched what non-drocanian xml parsers do? feed parsers, for isntance? [10:59:01.0000] <Lachy> just look at how many arguments there have been against HTML defining error handling! I wish you luck with XML ;-) [10:59:02.0000] <zcorpan> yeah [10:59:03.0000] <gsnedders> /me shudders [10:59:04.0000] <gsnedders> /me then moves on the implement it regardles [10:59:05.0000] <gsnedders> *regardless [11:00:00.0000] <annevk> zcorpan, a little bit, not much [11:00:01.0000] <zcorpan> ok [11:00:02.0000] <annevk> zcorpan, I don't think those non-draconian parsers do the interesting bits, such as DOCTYPEs [11:00:03.0000] <zcorpan> e.g., how they handle </> might be relevant [11:01:00.0000] <annevk> ah, we just put a WHATWG sticker on it and ship it [11:01:01.0000] <annevk> zcorpan, how easy they seem to be willing to switch from one draconian parser to another suggests otherwise [11:02:00.0000] <zcorpan> i don't follow [11:02:01.0000] <annevk> Sam Ruby made a liberal XML parser based on html5lib and used that instead [11:02:02.0000] <zcorpan> right [11:02:03.0000] <gsnedders> it isn't overly imporatnt [11:02:04.0000] <gsnedders> they're very varied [11:02:05.0000] <annevk> as opposed to one based on an SGML parser [11:03:00.0000] <annevk> anyway, if something proves to be an issue we should of course change it [11:03:01.0000] <gsnedders> so reverse engineering them is pointless. all do different things really. [11:03:02.0000] <zcorpan> my point is that if a number of non-drocanian xml parsers treat </> differently from the way you planned it should work then it might not be a good idea to spec something different from what they already do [11:03:03.0000] <zcorpan> i don't know what they do, i'm just suggesting that it's something to look into [11:04:00.0000] <zcorpan> if all are very different then content probably doesn't depend on it :) [11:04:01.0000] <annevk> it is very likely they do something else [11:04:02.0000] <annevk> i think it's unlikely "XML content" will depend greatly on it though [11:05:00.0000] <Lachy> good night everyone [11:05:01.0000] <annevk> bye [11:32:00.0000] <zcorpan> jdandrea: made any progress on the style sheet thing? [11:40:00.0000] <annevk> Ok, the tokenizer now handles cases like <a x y>TEST<![CDATA[test]]>x</a> [11:40:01.0000] <annevk> And it actually works. I was planning to do entities to today, but it seems like it has to wait [11:56:00.0000] <Dashiva> I am bit depressed by how much of the tokenizer is just handling doctypes [11:58:00.0000] <Dashiva> 68 states, 42 are for doctype. Simplicity cries. [12:28:00.0000] <jdandrea> zcorpan: not yet (some multitasking afoot) but I did run through Hixie's excellent article on spec parsing (a few times, slowly). I expect to try a section today. To recap, I'm looking for author-specific normative statements (correct me if I'm wrong)? [12:29:00.0000] <jdandrea> /me is tending to an injured family member (they'll be fine) [12:30:00.0000] <gsnedders> jdandrea: what article? [12:32:00.0000] <jdandrea> gsnedders: http://ln.hixie.ch/?start=1140242962&count=1 - I've read RFC2119 and all but this was a really good review. Should be required reading by everyone on the HTML WG list IMNSHO. :) [12:32:01.0000] <gsnedders> jdandrea: ah. that old article. [12:33:00.0000] <jdandrea> an oldie but goodie. ;) [13:28:00.0000] <zcorpan> jdandrea: you should be looking for things that *don't* apply to authors :) [13:31:00.0000] <zcorpan> jdandrea: things that are author-specific but not normative should still be visible (e.g. examples) [13:32:00.0000] <zcorpan> jdandrea: and things that are ua-specific but non-normative should probably still be hidden (e.g. examples for how some algorithm works) [14:23:00.0000] <gsnedders> Hixie: you able to get a list of @rel values on HTML docs? [15:33:00.0000] <met_> shoudn't be first paragraph actualized? http://blog.whatwg.org/faq/#schedule [16:03:00.0000] <Hixie> "actiualised"? [16:04:00.0000] <Hixie> gsnedders: how do you mean? [16:06:00.0000] <met_> "When will HTML 5 be finished? - Around 15 years or more to reach a W3C recommendation" sound little bit sarcastic now [16:08:00.0000] <Hixie> why? [16:08:01.0000] <Hixie> it's about right [16:08:02.0000] <met_> if html wg name his next specification HTML5? [16:08:03.0000] <Hixie> yes, that's what the question is talking about [16:09:00.0000] <met_> there is schelude for 2010, isn't? [16:09:01.0000] <Hixie> haha [16:09:02.0000] <Hixie> yes [16:09:03.0000] <Hixie> but that schedule is a joke [16:09:04.0000] <met_> really? 8-) [16:09:05.0000] <Hixie> consider that work on HTML4 started around 1996, and still today, 11 years later, hasn't got two complete interoperable implementations [16:09:06.0000] <met_> but we need some specificaition earlier then in 2022 8-0 [16:12:00.0000] <Hixie> we have one today [16:12:01.0000] <Hixie> read the rest of the answer :-) [16:14:00.0000] <met_> reading "For a spec to become a REC, it requires two 100% complete and fully interoperable implementations", really it worked such way in W3C? im not sure [16:14:01.0000] <met_> not speaking it isn't good idea, of course it is [16:16:00.0000] <met_> "different parts of the specification are at different maturity levels" - it's ok in WHATWG, but surely it is not way how it will work in HTML WG? [16:16:01.0000] <Hixie> you'd have to ask DanC about how it'll work in the W3C [16:16:02.0000] <Hixie> gotta go [16:16:03.0000] <Hixie> bbl [16:28:00.0000] <gsnedders> Hixie: what values people use in the rel attribute 2007-05-06 [03:36:00.0000] <hsivonen> /me wonders what YesLogic uses for regression testing. hyphenation broke again in an alpha [03:36:01.0000] <hsivonen> /me downgrades [08:40:00.0000] <Philip`> Eek, I think I did something bad to html5lib... [08:41:00.0000] <Philip`> "RuntimeError: maximum recursion depth exceeded" - maybe it's just a badly written site, though [08:47:00.0000] <Philip`> Aha, no, it's not the site's fault [08:49:00.0000] <Philip`> If I try to parse the document <script></script><html><head></head><body></body></html> then it fails with that error [08:49:01.0000] <Philip`> ...at least in version 0.9 - it seems to work happily in http://hasather.net/html5/parsetree/ which I guess might be a different version [08:51:00.0000] <Philip`> Ah, it works in the SVN version [15:02:00.0000] <MichaelMH> Yo, I'm a humble webdesigner and I was reading wikipedia when I got "see also-ed" WHATWG. I'm a litte confused as to why theres a XHTML 2 and a HTML5 [15:02:01.0000] <MichaelMH> I thought XHTML replaced HTML as like a new version. [15:03:00.0000] <zcorpan> MichaelMH: http://blog.whatwg.org/faq/ might help (although it doesn't really cover in detail what you're asking about yet :( ...) [15:04:00.0000] <ajnewbold> MichaelMH: xhtml was never really meant to replace html; it's a common misconception :( [15:05:00.0000] <met_> maybe here http://xhtml.com/en/future/conversation-with-x-html-5-team/ are some basic principles described [15:06:00.0000] <zcorpan> MichaelMH: but in any case, html5 has an xml serialization as well should you want to use it [15:07:00.0000] <zcorpan> (referred to as xhtml5) [15:07:01.0000] <MichaelMH> ic.. well I don't really use any xml [15:08:00.0000] <MichaelMH> thank you for the links. [15:08:01.0000] <zcorpan> ok. then presumably the xml serialization is less interesting to you than the text/html serialization [15:12:00.0000] <MichaelMH> hmm.. I really need to learn about this stuff. Does the w3c decide what can and cant be used for web development? [15:12:01.0000] <zcorpan> MichaelMH: does the w3c endorce flash? [15:13:00.0000] <zcorpan> s/endorce/endorse/ [15:13:01.0000] <MichaelMH> ah yeah [15:13:02.0000] <MichaelMH> so, what do they do exactly? [15:13:03.0000] <MichaelMH> just provide nice buttons for your websites? [15:14:00.0000] <zcorpan> no [15:14:01.0000] <zcorpan> "w3c" is mostly a name aiui. then there are many working groups working on different things [15:15:00.0000] <zcorpan> e.g. a new html wg was chartered recently to work on the same thing that the whatwg are working on, basically [15:15:01.0000] <zcorpan> http://www.w3.org/html/wg/ [15:16:00.0000] <MichaelMH> so two seperate groups are working on the same thing? [15:17:00.0000] <zcorpan> it hasn't been decided formally yet what the htmlwg will be doing, but taking the whatwg proposals as a starting point is the only real proposal that has been put forward [15:17:01.0000] <zcorpan> though the charter is very similar to the whatwg proposals, so presumably that is the intent [15:17:02.0000] <MichaelMH> ah ic. so if the whatwg proposal is accepted will they begin working with them? [15:18:00.0000] <zcorpan> yes [15:18:01.0000] <zcorpan> hopefully it will be one and the same spec with the same editors that are part of both groups [15:19:00.0000] <zcorpan> (i and many others here are members of both groups) [15:20:00.0000] <MichaelMH> so whats this for http://www.w3.org/MarkUp/ [15:21:00.0000] <zcorpan> MichaelMH: the xhtml2 wg's home page [15:23:00.0000] <MichaelMH> yeah but why is there a xhtml2 and a (x)html5 [15:25:00.0000] <zcorpan> MichaelMH: because the people in the xhtml2 wg (the old html wg) had a different vision of the future of the web than the vision of opera, mozilla and apple [15:26:00.0000] <MichaelMH> So does that mean xhtml2 will never be implemented into a browser? [15:27:00.0000] <zcorpan> well, aiui opera, mozilla and apple are not interested in implementing xhtml2 [15:27:01.0000] <zcorpan> microsoft have bigger fish to fry [15:28:00.0000] <MichaelMH> what do you mean by that? whats microsoft up to? [15:28:01.0000] <zcorpan> microsoft are chairing the html wg, but i don't know what their plans are wrt xhtml2 (i would presume they won't implement xhtml2 anytime soon) [15:29:00.0000] <zcorpan> (or at all) [15:29:01.0000] <MichaelMH> I've never gotten anything to work with IE anyway. [15:30:00.0000] <MichaelMH> I signed upto the forums. its a bit of a ghost town. I would of thought it would be full of web developers [15:31:00.0000] <zcorpan> the forums are not so old [15:31:01.0000] <zcorpan> but feel free to ask questions there [15:31:02.0000] <MichaelMH> ah Ic. whats with the skinny author column in viewtopic [15:33:00.0000] <zcorpan> um. dunno. probably because it's not in quirks mode [15:33:01.0000] <MichaelMH> And no avatars! [15:33:02.0000] <zcorpan> you want avatars? [15:34:00.0000] <MichaelMH> yeah, it so much easier to remember somebody with an image rather than there name. [15:35:00.0000] <Philip`> It should be just the quality of the message that is important, not who wrote it ;-) [15:36:00.0000] <zcorpan> anyone here against avatars? [15:36:01.0000] <MichaelMH> yeah but if someone has written several quality messages you are more inclined to listen to their opinion [15:37:00.0000] <Philip`> /me thinks they do make it easier to follow a discussion [15:37:01.0000] <zcorpan> enabled [15:38:00.0000] <Philip`> (It's like in IRC when there's a discussion between people whose names are the same length, and you can't tell who's who without actually reading all the letters, which is irritating) [15:40:00.0000] <MichaelMH> ok.. now to find/make an avatar [15:42:00.0000] <MichaelMH> oh my god... [15:43:00.0000] <MichaelMH> I've always questioned that trailing slash [15:45:00.0000] <Dashiva> Some clients assign random colors to each nick to separate them, but it might get too intense [15:46:00.0000] <MichaelMH> X-Chat Aqua does that [15:49:00.0000] <MichaelMH> yo... this may be a stupid question but in html5 if you just wrote <div> and didn't have a </div> anywhere would it treat it as a void div.. or would it just not work [15:50:00.0000] <Philip`> It would work the same as in current HTML [15:51:00.0000] <Philip`> (The whole parsing algorithm is designed to be compatible with what browsers currently implement) [15:53:00.0000] <MichaelMH> Is it a bad thing to have an empty div? because sometimes (actually quite alot) I use divs purely for presentational purposes [15:54:00.0000] <zcorpan> an empty div for presentational purposes is mostly harmless [15:55:00.0000] <MichaelMH> mostly...? [15:55:01.0000] <zcorpan> but using html for presentational purposes in general is not what html is designed to do [15:55:02.0000] <Philip`> (...but a <div> without a matching </div> is an error and makes the document non-conforming, regardless of how it's parsed) [15:56:00.0000] <MichaelMH> so can you write it as "<div>" or does it have to be "<div></div>" [15:56:01.0000] <zcorpan> the latter [15:56:02.0000] <MichaelMH> why? [15:56:03.0000] <MichaelMH> if theres nothing in it why does it need the </div> [15:57:00.0000] <zcorpan> because otherwise everything after it will be children of the div [15:58:00.0000] <zcorpan> e.g. compare "<div>X" with "<div></div>X" [15:58:01.0000] <MichaelMH> oh ok, it just looks a little silly is all [16:00:00.0000] <MichaelMH> do you gentlemen mind if I show off my latest design to you? [16:00:01.0000] <MichaelMH> its written in xhtml tho.. with the <br />s so I hope none get offended [16:01:00.0000] <Philip`> I think the people here don't mind much about impure language usage - that's why we're not working on XHTML :-) [16:02:00.0000] <MichaelMH> its um still a work in progress [16:02:01.0000] <MichaelMH> http://www.michaelmh.com/stuff/JimKing/ [16:03:00.0000] <MichaelMH> its a bit iffy in opera with the drop down color change bit. and it basically explodes in IE. should be fine in Firefox and Safari [16:04:00.0000] <MichaelMH> i'm a newbie to javascript and php tho so the color change thing might be a bit iffy too [16:06:00.0000] <MichaelMH> who picked pink? [16:08:00.0000] <Philip`> /me looks innocent [16:09:00.0000] <MichaelMH> do you like whole one area controlled by the page scroll bar thing going on? [16:10:00.0000] <MichaelMH> purple... [16:11:00.0000] <Philip`> /me fails to break the code :-( [16:11:01.0000] <MichaelMH> what did you do? [16:11:02.0000] <MichaelMH> I was scared of someone breaking it. it validates both client side and server side [16:12:00.0000] <Philip`> Maybe it'd be nice if that area could expand to fill the screen, since it's otherwise fairly tiny in the middle of a big screen - I have no idea how to implement that, though [16:12:01.0000] <Philip`> (It also breaks really badly in Firefox 3 when scrolling, since everything jumps around until it's redrawn the whole screen, but maybe they'll fix that eventually) [16:14:00.0000] <Philip`> Otherwise I think it looks good, particularly with the faint shadows :-) [16:17:00.0000] <MichaelMH> :D thanks. I'm really chuffed with the code too. I literally just started learning javascript two days ago (and consequently php since I need to validate the info client side and write it to a file.) and i coded the bit which checks the brightness of the colour. I nicked the thing that checks whether or not the value is hex tho, I couldnt fiqure out how to do that [16:22:00.0000] <MichaelMH> well gtg. I'll come back on tommoro with new questions once I've read all this stuff. [16:22:01.0000] <MichaelMH> nice shade of blue ;) 2007-05-07 [04:00:00.0000] <virtuelv> a tad off-topic, but should still be of some interest, http://www.andybudd.com/archives/2007/05/css22/index.php [04:08:00.0000] <hsivonen> http://hsivonen.iki.fi/thesis/bib4ht-0.9.tar.gz may interest people who seek to author stuff in XHTML+SVG instead of LaTeX+EPS. [04:09:00.0000] <annevk> virtuelv, not really, we've been discussing CSS5 [04:09:01.0000] <met_> CSS5 ? 8-) [04:11:00.0000] <annevk> met_, nothing more concrete than that, although it sort of implies a cleaned up version of CSS with probably some features for applications [04:11:01.0000] <annevk> and more aimed at implementors [04:12:00.0000] <met_> if it helps in some progress, good [04:13:00.0000] <hsivonen> now that I have a legitimate reason to do XHTML+SVG vs. HTML+PNG serving from a single URL, I'd be interested in pointers to a howto on how I can write my own decision logic with Apache [04:14:00.0000] <hsivonen> should I use mod_rewrite to map http://hsivonen.iki.fi/thesis/html5-conformance-checker to a PHP script? [04:15:00.0000] <hsivonen> basically, I want to serve a/x+x if Accepted but serve t/h to a old version of popular a/x+x-accepting browsers [04:49:00.0000] <MichaelMH> hello [04:50:00.0000] <zcorpan> MichaelMH: heya [04:53:00.0000] <MichaelMH> I'm back, I did a little bit of reading last nite. the FAQ seems to be a bit unfinished though [05:03:00.0000] <annevk> MichaelMH, yeah, much like the spec [05:03:01.0000] <Lachy_> MichaelMH, if you would like to contribute to the FAQ, I'd appreciate it :-) [05:06:00.0000] <MichaelMH> I'm afraid I'm not very good at writing about things I do not fully understand myself :P [05:06:01.0000] <Lachy_> well, if there are any unanswered questions you would like answered, let me know, and I can write an answer for you [05:07:00.0000] <Lachy_> or if you have any new questions [05:08:00.0000] <MichaelMH> this one: "Why do we need both HTML 5 and XHTML 2.0?" although zcorpan explained it to me last nite it was what confused me the most when I came to this site [05:13:00.0000] <met_> Lachy_, you still insist on "When will HTML 5 be finished? Around *15* years or more to reach a W3C recommendation"? 8-) [05:14:00.0000] <Lachy_> at the rate the HTMLWG is resolving any issues, I'd be inclined to extend that a little :-) [05:14:01.0000] <met_> /me uffs [05:15:00.0000] <Lachy_> but I have faith in Hixie getting his act together and actually doing some work on the spec regardless of the HTMLWG ;-) [05:15:01.0000] <annevk> In terms of features HTML5 is mostly finished. In terms of gaining implementation experience and incorperating feedback and implementation feedback it's not. And that's a process that likely takes a decade or longer. [05:15:02.0000] <annevk> This is a very different model from older specifications. [05:16:00.0000] <annevk> Older specifications were mostly finished in terms of features. And where then rubberstamped with a W3C sticker on top. [05:16:01.0000] <Lachy_> it's similar to the model used for CSS2.1, but even that's gradually failing [05:16:02.0000] <annevk> And never took much implementation experience into account etc. [05:16:03.0000] <Lachy_> HTML4 advocates still refuse to take implementation experience into account [05:17:00.0000] <Lachy_> XHTML2 advocates as well [05:19:00.0000] <MichaelMH> Do I need to be advance in javascript to use canvas? [05:19:01.0000] <Lachy_> you can get libraries that do a lot of the difficult work for you, depending on what you want to do [05:19:02.0000] <annevk> You need to understand some of the basics, yes. [05:19:03.0000] <Lachy_> e.g. PlotKit is really simple and easy to understand if you want to draw a graph [05:19:04.0000] <annevk> But there's lots of tutorials out there [05:20:00.0000] <Lachy_> but to build a game like Doom in Canvas, you need to be a genius like Philip` [05:20:01.0000] <met_> yes Doom in cavas is great 8-) [05:20:02.0000] <met_> *canvas [05:21:00.0000] <MichaelMH> doom in canvas? [05:21:01.0000] <met_> any idea when it become multiplayer? 8-) [05:21:02.0000] <MichaelMH> link me =0 [05:21:03.0000] <virtuelv> MichaelMH: there's several [05:21:04.0000] <Lachy_> /me is looking for the link [05:21:05.0000] <met_> MichaelMH http://canvex.lazyilluminati.com/84/play.xhtml [05:21:06.0000] <Lachy_> that's it [05:21:07.0000] <met_> and http://canvex.lazyilluminati.com/83/play.xhtml [05:21:08.0000] <virtuelv> and http://www.abrahamjoffe.com.au/ben/canvascape/ [05:24:00.0000] <MichaelMH> witchcraft [05:32:00.0000] <Lachy_> here's a pre-canvas attempt at a 3d game http://www.sylloge.com/5k/entries/232/domaze5k.htm [05:32:01.0000] <Philip`> met_: I've thought about adding multiplayer, but sadly not had the time to implement it :-( [05:33:00.0000] <Philip`> (There isn't really any complicated JS, though - most of the non-trivial bits are just the maths in the raycasting/rendering part) [05:34:00.0000] <met_> Philip`, keeping fingers crossed you early have! [05:36:00.0000] <virtuelv> met_: 84/ - really quite smooth in Opera [05:36:01.0000] <virtuelv> but it makes my CPU bleed [05:38:00.0000] <MichaelMH> yeeeah. just made my first rectangle with canvas [05:38:01.0000] <MichaelMH> its immense [05:38:02.0000] <MichaelMH> best rectangle ever. [05:38:03.0000] <Philip`> There's not much point having a fast CPU if you don't want to actually use it to its full extent :-) [05:40:00.0000] <Philip`> Even normal Doom isn't incredibly smooth on my computer - admittedly that's running at 1280x960 and inside Wine, and the original was a bit faster, but still the JS version isn't too awful in comparison... [05:43:00.0000] <MichaelMH> is the drawing paths stuff just like dot to dot? [05:43:01.0000] <annevk> MichaelMH, yeah [05:43:02.0000] <annevk> MichaelMH, the nice thing about <canvas> is creating images easily without a graphics editor [05:44:00.0000] <annevk> when you're done you just invoke toDataURL() and save the resulting URL as a PNG :) [05:44:01.0000] <MichaelMH> =0 thats so cool. [05:44:02.0000] <MichaelMH> I'm going to attempt a star [05:44:03.0000] <Lachy_> annevk, if you call writing a script to draw an image, easier than working with photoshop, then ok [05:44:04.0000] <annevk> http://annevankesteren.nl/2006/08-paintr21 has a simple sample of that [05:45:00.0000] <annevk> Lachy_, well, I don't have photoshop :) [05:45:01.0000] <Lachy_> ah, ok [05:45:02.0000] <virtuelv> a slightly more complex example, http://widgets.opera.com/widget/4647 [05:45:03.0000] <Lachy_> MS Paint is pretty good though [05:46:00.0000] <annevk> MS paint is web stuff now [05:46:01.0000] <annevk> photoshop is next [05:46:02.0000] <MichaelMH> yeah if ms paint had multiple levels of transparancy and layers then it would be such a good pixel art tool [05:46:03.0000] <met_> annevk, Paintr excellent idea 8-) [05:47:00.0000] <Lachy_> that's awesome! data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAL2UlEQVR4nO3dy28TVxsG8OccOyQOQSWBCBoIAhqgZQMIBF0UqFq6KeqGZRewasuOXaXSPyBhB91FLNoFLIAlLQKJXihNLxEI2NGSoBJKgBYIYBQHHPt8i3xncIzzJrbHc449z0+yuCgevx77mffMmUuUMcaAiErSrgsg8hkDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAE [05:47:01.0000] <Lachy_> AkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGJEJ9fX344osvXJdBZUi6LqBRnDlzBnv37sXExETwf62trQCAjo4OAMDIyAgOHDjgpD6qDDtIFc6cOYOOjg4opbB79248fPgQExMTyGazyGazyGQyyGQySKfTSKfT2LBhA3bu3Om6bCdOnToFrbX4SCQSrst8lfGMUspEWVZ/f79pamoyWuuSj0Qi8cpDa20ABI/29nbz3XffRVZzPTlx4kTwmc7l4RvvKopiRfX395tkMjmnD0wpVfLBUMyucEOilDInT56c9We11hFWODuvAlLNSjp06JDRWs/4hS61FUsmk6a/v78G74Ts+lZKmRMnTszpOT6GxJuAVLJybCjm2r4ZitpLpVLBuq7ki26Ddfr06RpU [05:47:02.0000] <Lachy_> Vz5ljDFh79dUQikFALDlaD3z/EFxyVpr9Pb24vPPP69dgTQj+1kVfi6pVArj4+NlL+vbb7/FRx99BKUU8vl8aDVWyouAXLx4ETt27Ji2UmxgZsJQ+KPwswrji621hpka3VRbWtW8OA5ipz4vXLgQ/J8PK4fmJuzPqqWlBZlMBq2trRV1oTA57yClugeRUsqL74TzA4WlugcR4McownkH8Wm8Sf7w5XvhvIMQldLS0gLg5flsrjjvIMXTu0SWD/shTjvIwMAAgNmndCmelFLON5xOA7J9+3YAUzNZcaa15kaiBB+GWc6GWAMDA3jnnXect1AfJBIJ5PN5aK2Ry+Vcl+MV18MsZx2E3eOlXC4HrXUQkmXLlrkuySsuh1nOOogv03g+sZ3EUkrh9ddfx507dxxW5Zbr7wmneT2Sy+VgjEFXV1ewgzo6Ogq [05:47:03.0000] <Lachy_> llHjyJtUO17qH7ty5g3w+/0pYlFJoampyXV6k7OSFq8txGRDP2bB88sknUEphcnISWmt8+umnrkuLhJ20cLWTzn2QOtPU1ITJyUkAiM2sl8vvCjtInclms8Fwy856HT9+3HVZDctZB+EpJtWbN28estksgKnO8uLFC8cV1UZsOwiPHlfnxYsXOHbsGICpzqK1xsqVK90W1WCcdJBkMolcLof3338f58+fn/Hnwpja1FoHY/ZGVuoYyl9//YWenh6HVYXDZQdxEpDZhleLFi3Co0ePavK6S5cuxejoaOjL9sXKlSsxMjISrNtGCEqshli7du0CUHpe+8qVK9BaB+Ho6OgIVkw1j0QiERxLuHv3LpRSft7mMgR///038vk8bty4EbznNWvWQGtd1yFxJfIOUmprkEwmgwNjQDh3xphJV1cX7t27F8wEff [05:47:04.0000] <annevk> dude [05:47:05.0000] <Lachy_> 3119i3b19NXssHQ0NDWLt27bT1XW/Tw7EaYtk3a0/Om1aMUrh8+TI2bdpU8zriMgNUqKenBzdv3py2IbJ/+hyYWA2xrHw+Hwx17JvP5/ORhAOYmgH65ptvAEzNADXqkKvQ0NBQcOwEwLT17vP7j9XZvHZr4NN1IIVdzectaS3Y9w5MdZJbt26hu7vbcVUvtba2IpPJOPu+RN5B7IcxODgY9UvPyG5Vfd+S1oLd97NBWbFihVfrIJPJAHB3LlbkAbFXiG3ZsiXqlxYVX7S0f/9+1yVFKpfLYWRkJNhS21PsXYbFDgVTqZSzGpwMsQYHB70LiFV8wC2RSMTiQGOh4nXgYuj5yy+/BFedxmofpF7Yo/1W3PdPovyaFAbU9Xrn2bwzmJychDEGn332WTDs8GlsHgU71IrSr7/+GoTj4sWLzjdK7CBzFNc7j [05:48:00.0000] <Lachy_> 0R5DMKnzmGxg8xRLpcLOsnQ0JDrchrO77//HoRjYGDAi3AA7CBlGRoawpo1a7w6hlNrUXQQHzuHxQ5Shp6enmkHOnnyX/VsOJRS+O2337wKB+DJb5iqJ7lcDj09PRgeHsbw8DASiYR3H2q9GBwcDMLha0fmEKsKcThFpZZDLLvsP/74A1u3bg19+WFgQKrU6NfW1yog9TIryH2QKvG6+vJdvnw5GFL5HA6A+yAUseIZK9/5XyE1jMIZq0uXLnnfPQB2EBKMjY2Ftu9RL/scxRgQKqm5uTm4DLnac9DqNRwAh1hVa9TZK3u9/qNHj6o63f/atWvBsKrewgEwIBU7d+5csJNZDzublWpvb6/q+fYeA1euXAmjnMjxOEgF2tvb8fjxYwDAwoULMTY25rii8FV7fKfwZhzVLMe1xt301YjWOgjH2bNnGzIc [05:48:01.0000] <Lachy_> X375JYDq9j0Kw1HPx4rYQebI3l0D8O+M07BV0z0q6Rz2OeWK4r7L7CCz6Ovrg9Y6uPVMb29vQ4fD/oq3gwcPVvT8cjvHP//8E9xZpdyHvUZn3rx5FdU6F+wggsKjvqlUCuPj444rqr1q9z1mO3eruFvYv9++fRvLly8v67WK7xtga29paQnts2IHKeH7778PbgFkbwAdh3A8e/YMQGX7HolEYtpNHmb6meJuAUyFqtxwAC/vG2C7nl2m7fZaayxcuLDs5RYqu4P09fXhyZMn6O3treqFfdXZ2YkHDx4AABYvXoz//vvPcUXRsVvkdDqNtra2sp5bHI7i4VVhGGo9RE2lUpiYmAj+vXr1agwPD1e0rIo6yKFDh/Dhhx/iq6++quhFfbRjxw5orYNwnD9/PlbhePbsGXK5HBKJRNnhKKV4fwGIbnIjk8n [05:48:02.0000] <Lachy_> AGINFixYBAG7evAmlFJqbm9Hd3Y0LFy7MfWGmTD/++KN5++23DQDT1dVV7tO9cvjwYaOUMgCCh9badVlO2PWQTqddlxK61atXG6WU0VoH71MpZV577TWzbt06c/To0RmfW3ZArLVr1xoAZv78+Wb+/Pnmvffeq3RRkWtubp4WCqWU2b59u+uynGlvbzcAzIIFC1yXEomffvrJdHd3m7a2NrNgwQKjtTYff/xxyZ+teCf9gw8+QFtbG7LZLMbHx/HDDz9g/fr1lS6u5u7fvw+tNZRSeP78OYCpE/LM/2////PPPzuu0J2xsTEopfD06VPXpURi586dGBkZQTqdxtOnT3Hy5MmZ72gfVirfeustA8C88cYbYS2yav/+++8rQyillDl8+LDr0rxx5MgRA8AcOXLEdSleCvU4iL3bB+D+9ILit6WUwt27d7 [05:48:03.0000] <Philip`> That's not working so well in IRC [05:48:04.0000] <met_> /me considering Lachy_ [05:48:05.0000] <Lachy_> FkyRJHFfnJzlyF+DVoKKEfKHzzzTfx559/hrnIiimlcP/+fXR2drouxVuNftOJaoV+wdT169fDXiTVyLJlywAAK1ascFyJv3gkPabWrVuH0dFRdHV14datW67L8RbPxYopl785tp6wg8TQxo0bYYzB5s2bXZfiPQYkZrZt24Zr165hw4YNuHTpkutyvMeAxMiePXswODiIrVu34urVq67LqQvcB4mRzs5OPH78OLhjCc2O98WKkY6OjppefdeIGJAYWbVqFZ48eeK6jLrCgMTIu+++y4CUifsgRALOYhEJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESM [05:48:06.0000] <annevk> /me wonders where the bot is that kicks Lachy_ for spamming [05:48:07.0000] <Lachy_> CBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiT4H/chN4QySzv4AAAAAElFTkSuQmCC [05:48:08.0000] <Lachy_> woah!, sorry [05:48:09.0000] <Lachy_> didn't realise it was that long :-) [05:48:10.0000] <met_> we did 8-) [05:48:11.0000] <annevk> that's why you save it and then upload it :) [05:48:12.0000] <Philip`> Run optipng on it first :-) [05:49:00.0000] <MichaelMH> ... what is that mess? [05:49:01.0000] <annevk> a URL [05:49:02.0000] <Lachy_> it's a data: URI [05:49:03.0000] <Lachy_> copy and paste, and then stick all the bits together [05:49:04.0000] <MichaelMH> I don't think my address bar would explode [05:50:00.0000] <MichaelMH> i mean.. I do* think [05:50:01.0000] <annevk> neh [05:50:02.0000] <annevk> maybe in IE [05:50:03.0000] <MichaelMH> lol [05:50:04.0000] <annevk> the URL limit in other browsers has been extended specifically for data URLs [05:51:00.0000] <Philip`> Aha, it works - "5 7 2" [05:51:01.0000] <annevk> hah, only Opera can render Henri's thesis in its preferred format [05:51:02.0000] <annevk> (with a released version that is) [05:51:03.0000] <annevk> (released non-beta) [05:52:00.0000] <annevk> (the amount of disclaimers you need to not end up in a flame war...) [05:52:01.0000] <Lachy_> http://tinyurl.com/3x7b25 will redirect to it, but only seems to work in Opera [05:52:02.0000] <Lachy_> http://tinyurl.com/3x7b25 [05:52:03.0000] <MichaelMH> 5 72? [05:52:04.0000] <Lachy_> 5 > 2 [05:52:05.0000] <MichaelMH> 5 > 2? no way [05:53:00.0000] <annevk> 5 > 2 (?) [05:53:01.0000] <met_> (?) 5 > 5 [05:53:02.0000] <MichaelMH> i've seen that on a t-shirt [05:53:03.0000] <Lachy_> there's a tshirt for it too [05:53:04.0000] <MichaelMH> cus I was linked to it from the blog. [05:53:05.0000] <MichaelMH> I don't know what it means tho [05:53:06.0000] <Lachy_> it's an obvious mathematical statement [05:53:07.0000] <met_> anyone to produce some webbutton with 5 > 2 theme? [05:53:08.0000] <met_> something like all Valid HTML buttons [05:54:00.0000] <Lachy_> although, there are some people who like to write it as 5 < 2, they're just weird and can be ignored ;-) [05:54:01.0000] <annevk> <a rel=vote href=http://www.whatwg.org/>5 > 2</a> will be good enough [05:54:02.0000] <annevk> Lachy_, hey! [05:54:03.0000] <annevk> /me did that [05:55:00.0000] <annevk> during my HTML5 talk, even [05:55:01.0000] <MichaelMH> is it cheating if I draw my star in flash first then find out where the points are...? [05:55:02.0000] <Philip`> Yes :-) [05:55:03.0000] <Philip`> Draw it on a piece of paper, and draw a rough grid and guess the coordinates - that's almost as easy :-) [05:56:00.0000] <annevk> my house rules allow that though [05:56:01.0000] <MichaelMH> ... but isnt that just doing the exact same thing as drawing it in flash [05:56:02.0000] <annevk> for when there's no paper [06:00:00.0000] <MichaelMH> uh oh [06:00:01.0000] <MichaelMH> thats not a star [06:04:00.0000] <MichaelMH> yeeaaah: http://www.michaelmh.com/stuff/newbie/canvas.html the points are a bit iffy because I cheated [06:05:00.0000] <Philip`> It's not a very nice colour, though :-( [06:06:00.0000] <Lachy> MichaelMH, there are algorithms for drawing stars without having to enter the points manually [06:07:00.0000] <MichaelMH> um... [06:08:00.0000] <MichaelMH> I enter the points manually, its just my style. [06:09:00.0000] <Philip`> If your aim is not specifically to draw lots of stars, then just writing the coordinates seems quite reasonable [06:10:00.0000] <Lachy> yeah, entering points is fine just for experementation with canvas [06:10:01.0000] <Philip`> (and then it avoids the unhelpful complexity of star-drawing algorithms) [06:11:00.0000] <MichaelMH> did one of you change my site to lite pink? [06:12:00.0000] <Lachy> MichaelMH, what? [06:12:01.0000] <Philip`> Not me [06:13:00.0000] <Philip`> It's a nice shade, though [06:13:01.0000] <MichaelMH> lol never mind. it was last nite [06:14:00.0000] <Lachy> your homepage is broken. http://www.michaelmh.com/ It doesn't work with styles disabled [06:14:01.0000] <MichaelMH> my homepage is oooolldd. [06:14:02.0000] <MichaelMH> I don't do anything to that anymore. [06:14:03.0000] <Lachy> yeah, it looks like you didn't realise you could style anything but divs [06:15:00.0000] <MichaelMH> ahem. [06:16:00.0000] <MichaelMH> I think when i made that I wanted a way for the roll over images to load before you rolled over them... because then theres a short moment when its just blank [06:16:01.0000] <MichaelMH> im making my star my homepage.. you've upset me [06:17:00.0000] <Lachy> there are ways to combine both images into one, and then switch it by changing background poisition [06:18:00.0000] <MichaelMH> cunning [06:18:01.0000] <MichaelMH> have the main image on top of the roll over one and then when you rolled over the top image it would go transparent [06:19:00.0000] <MichaelMH> hmm.. there was a start to that sentence but it disapeared.. [06:19:01.0000] <MichaelMH> stick "my idea was to" infront of that sentence and it should make sense-ish. [06:44:00.0000] <MichaelMH> my next picture is gonna be insane* (*may actually be quite reasonable) [06:47:00.0000] <Philip`> /me wonders if there's adequate documentation for <canvas>, or if more tutorials/references/examples/etc would be worthwhile [06:48:00.0000] <met_> there on mozilla.org you know probably [06:49:00.0000] <MichaelMH> yeah Im reading the one on mozilla [06:50:00.0000] <met_> met_ this was for Philip` 8-) [06:51:00.0000] <Philip`> I just don't know whether that stuff is useful for people who are new to it, and I have the wrong perspective now to read it and see for myself :-) [06:52:00.0000] <MichaelMH> I'm following it ok [06:52:01.0000] <MichaelMH> Although I wish it would tell you how to change the fill colour sooner.. [06:53:00.0000] <MichaelMH> anyone care to tell me that btw? [06:53:01.0000] <Philip`> ctx.fillStyle = 'magenta' [06:53:02.0000] <met_> when i learned canvas, the http://developer.mozilla.org/en/docs/Canvas_tutorial was good as hello world [06:53:03.0000] <met_> but there is missing the next step [06:53:04.0000] <met_> the step between hello world canvas and Doom in canvas i mean 8-) [06:54:00.0000] <Philip`> (or any other colour name (like 'rgba(128, 128, 128, 0.5)' or '#ff0000' etc), theoretically using the CSS3 Color syntax though that's not supported by every browser) [06:56:00.0000] <Philip`> met_: Perhaps something like a simple 2D platform game? That might cover lots of the interesting issues (like animation, handling input, managing multiple images, loading map data, etc) without being overwhelming [06:56:01.0000] <MichaelMH> ...snap [06:56:02.0000] <MichaelMH> go for it phill [06:56:03.0000] <met_> Philip`, good idea [06:57:00.0000] <Philip`> /me has no time to work on anything now, though :-p [06:57:01.0000] <met_> Philip`, some tic-tac-toe, pacman or something like this [06:58:00.0000] <jdandrea> /me suggests Tetravex (if only he had cycles to write it himself - but then the code must exist somewhere ...) [06:58:01.0000] <met_> met_, or even simple "escape from 2d maze" [06:58:02.0000] <met_> just somethinf intercative, not only painting circles and rectangles [06:58:03.0000] <jdandrea> Ah! There is a JavaScript version - see external links - http://en.wikipedia.org/wiki/TetraVex [06:58:04.0000] <Philip`> (The situation will be much worse for newcomers with the 3D canvas, I would expect - hopefully someone will make a nice library to hide the details so nobody else needs to care) [06:59:00.0000] <jdandrea> met_: Got it. Was thinking this could be spiffed up a bit though. Hmm. A Rubik's Cube? [06:59:01.0000] <met_> jdandrea, there are many, e.g. http://www.schillmania.com/arkanoid/arkanoid.html [07:00:00.0000] <jdandrea> Aye. [07:00:01.0000] <jdandrea> Trying to brainstorm s'more here ... [07:01:00.0000] <met_> better start with somethin 2d than 3d rubiccube [07:02:00.0000] <met_> 3d is for advanded 8-) [07:02:01.0000] <met_> *advanced [07:02:02.0000] <jdandrea> Point taken. [07:02:03.0000] <Philip`> 3D is really nasty in the 2D canvas, so it's probably best to avoid ever doing that :-) [07:02:04.0000] <jdandrea> hehe [07:03:00.0000] <jdandrea> I've seen the cube splayed (sic?) though, so you don't have to see it rotate. Anyway, it's a thought. :) [07:03:01.0000] <met_> any simple game that is on world smallest website is suitable http://www.guimp.com/pong.html [07:04:00.0000] <jdandrea> ROTFL - nice. [07:04:01.0000] <met_> there are about ten [07:04:02.0000] <virtuelv> there is also http://virtuelvis.com/download/2005/10/mandelbrot/ [07:05:00.0000] <virtuelv> (Haven't tested if it works properly in ages though. First thing I ever did in canvas) [07:05:01.0000] <met_> virtuelv, nice [07:06:00.0000] <met_> /me do not inderstand fractals anyway but they are nice [07:06:01.0000] <virtuelv> some more stuff here: http://virtuelvis.com/gallery/canvas/searchlight.html [07:06:02.0000] <virtuelv> err, http://virtuelvis.com/archives/2005/12/canvas-image-manipulation I meant [07:07:00.0000] <met_> let's put all there links on http://wiki.whatwg.org/wiki/Main_Page [07:07:01.0000] <met_> create some canvas page [07:10:00.0000] <MichaelMH> umm [07:10:01.0000] <MichaelMH> when I do moveTo then make a circle I just get a circle with a line going to the moveTo point [07:11:00.0000] <zcorpan> /me finds a blog entry entitled "The and Element" from Lachy in opera's feed reader [07:12:00.0000] <zcorpan> /me wonders whether it's the feed or opera that is broken [07:12:01.0000] <Lachy> zcorpan, it could be the feed, but I suspect it's Opera. Firefox displays it properly [07:12:02.0000] <Lachy> though, it's RSS 2.0, so who knows? [07:12:03.0000] <met_> google reader has it broken too [07:13:00.0000] <Lachy> I really must upgrade Word Press one day. Does the latest one output Atom 1.0? [07:13:01.0000] <met_> and it results in the 'The * and Elements' on my google reader shared page http://www.google.com/reader/shared/13885598797767922370 [07:14:00.0000] <Philip`> MichaelMH: Are you trying to move the centre of the circle? You would have to either change the coordinates or call translate() to do that [07:15:00.0000] <zcorpan> Lachy: your blog entry doesn't discuss what to do with <em> and <strong> though [07:16:00.0000] <zcorpan> Lachy: i.e., should they be synonyms with <i> and <b> or be more specific semantics as currently defined? [07:16:01.0000] <Lachy> it was only about The <b> and <i> elements [07:16:02.0000] <zcorpan> yeah. ok [07:16:03.0000] <Lachy> I made the assumption that they would keep their current definitions of emphasis and importance for now [07:17:00.0000] <MichaelMH> oh is the x and y position in the circle thingy [07:17:01.0000] <MichaelMH> ok I got it now [07:19:00.0000] <zcorpan> Lachy: ah, the "The and Elements" was via google blog search [07:19:01.0000] <zcorpan> Lachy: your original feed entry shows up as "The <b> and <i> Elements" in opera [07:21:00.0000] <Lachy> I could take out the < and >, which would work around the problem, but then those services probably won't update the feed anyway [07:22:00.0000] <zcorpan> Lachy: don't, revealing bugs is a good thing :) [07:22:01.0000] <Lachy> yeah, I know [07:22:02.0000] <Lachy> but there are so many bugs with RSS implementations that haven't been fixed [07:23:00.0000] <Lachy> I bet it was caused by a complete lack of test cases too [07:52:00.0000] <MichaelMH> http://www.michaelmh.com/stuff/newbie/man.html [07:53:00.0000] <annevk> it's not like there's an RSS spec [07:53:01.0000] <annevk> that's actually good [07:53:02.0000] <annevk> so far RSS is much like HTML4 [07:53:03.0000] <annevk> "eating resources" [07:54:00.0000] <MichaelMH> uh oh I forgot eyebrows [07:57:00.0000] <MichaelMH> I was going to have semicircle ear lopes but it messed up [07:59:00.0000] <Lachy> annevk, is the Atom spec much better quality? [08:05:00.0000] <MichaelMH> oohh.. does 5 > 2 mean HTML5 > XHTML2? [08:05:01.0000] <MichaelMH> sorry I was a bit slow there [08:05:02.0000] <Lachy> yes [08:07:00.0000] <MichaelMH> I don't think the general public will understand if I wore a t-shirt that said "5 > 2" [08:07:01.0000] <met_> interesting question from one Czech webdesigner, but I do not know the answer, if html5 specify how browsers shodl handle tag soup, errors etc, where is the limit? [08:08:00.0000] <Lachy> the limit of what? [08:08:01.0000] <met_> where is the limit of what if HTML (and should be parsed as html) and what not [08:08:02.0000] <met_> <p><i>is HTML</p> (wrong but is) [08:08:03.0000] <met_> andwhat 3434iu3i4ur890ewe#$#$#$<4340390we>r9er0e9r0 [08:08:04.0000] <Lachy> the spec needs to define everything that is required for browsers to handle any given input stream [08:08:05.0000] <met_> is there any defined limit, some border? 8-) [08:08:06.0000] <Lachy> no [08:09:00.0000] <Lachy> the algorithm should handle all possible input streams [08:09:01.0000] <met_> sounds brave [08:09:02.0000] <Lachy> handling all possible input isn't the problem, it's defining what to do with it that's tedious [08:10:00.0000] <annevk> Lachy, not really [08:10:01.0000] <Lachy> see http://www.w3.org/mid/463C6E54.1040300⊙cau [08:11:00.0000] <annevk> it doesn't actually define nesting depths though and such [08:11:01.0000] <annevk> which sensible implementations likely have [08:11:02.0000] <annevk> (html5lib is not one of those) [08:12:00.0000] <Lachy> really? Firefox, I think, handles quite a large nesting depth. I don't know what its upper limit is [08:12:01.0000] <annevk> I'm not sure what your "really?" question is about [08:12:02.0000] <Lachy> do they really have limits [08:13:00.0000] <Lachy> I suppose, memory constraints would be the issue [08:13:01.0000] <annevk> you don't want a browser to hang [08:14:00.0000] <annevk> that would make it impopular [08:14:01.0000] <Lachy> Hixie has a test somewhere that tests excessive nesting of elements [08:14:02.0000] <annevk> does it test whether they're nested or just whether the browser doesn't hang? [08:14:03.0000] <Lachy> http://www.hixie.ch/tests/evil/html/parsing/compat/001.html [08:15:00.0000] <annevk> k [08:18:00.0000] <Lachy> Safari crashes :-( [08:19:00.0000] <MichaelMH> woah canvas lines look smoother in safari [08:24:00.0000] <annevk> http://www.cs.tut.fi/~jkorpela/quirks-mode.html [08:24:01.0000] <annevk> I don't everything mentioned there applies to all browsers though [08:24:02.0000] <annevk> such as box model and dimensions for inline elements [08:25:00.0000] <Lachy> it says right at the top "not all browsers exhibit all of these features:" [08:26:00.0000] <annevk> it sometimes calls out the differences though [08:28:00.0000] <zcorpan> annevk: wow, that's useful [08:31:00.0000] <MichaelMH> yo. shouldnt this make a semi-circle? ctx.arc(90,65,20,0,180,false); [08:35:00.0000] <Philip`> MichaelMH: The angles are measured in radians (2*Math.PI per circle) rather than degrees (360 per circle), so you'd have to do arc(x, y, r, 0, Math.PI, false) [08:38:00.0000] <MichaelMH> ic..I'm not very good at math =\ [08:39:00.0000] <MichaelMH> the bezier and quadratic curves are pretty damn awesome tho [08:40:00.0000] <Philip`> (You can do "function deg2rad(deg) { return deg*Math.PI/180 }" or something if you have to convert angles) [08:40:01.0000] <MichaelMH> I might redo my man with them [08:40:02.0000] <Philip`> I've never actually looked at either of them, so I have no idea what they're like [08:41:00.0000] <MichaelMH> looked at what? [08:41:01.0000] <virtuelv> god, some things are so broken [08:41:02.0000] <Philip`> Bezier/quadratic curves [08:41:03.0000] <virtuelv> s/god/FSM/ [08:41:04.0000] <virtuelv> How to create input type="radio" by script in IE: [08:41:05.0000] <virtuelv> newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>") [08:42:00.0000] <MichaelMH> its like lineTo with added wobble [08:44:00.0000] <Philip`> I guess the spec ought to define precisely what it means by "quadratic curve", since it's not an obvious term (or at least not one I've heard) - but I'm still trying to work through all the earlier sections so I'll happily ignore it for now [08:46:00.0000] <MichaelMH> http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes#Bezier_and_quadratic_curves [08:48:00.0000] <MichaelMH> is there a way to group a bunch of coordinates and move them all at once across x and y [08:49:00.0000] <Philip`> ctx.save(); ctx.translate(dx, dy); /* draw lots of stuff */; ctx.restore(); [08:49:01.0000] <Philip`> though I think Firefox applies the translation when you create points, whereas Opera applies the translation when you do the fill/stroke [08:50:00.0000] <Philip`> (and Safari might match Firefox's behaviour, and the spec currently matches Opera's, but it's quite possible the spec will change) [08:50:01.0000] <Philip`> (if I remember correctly) [08:52:00.0000] <annevk> are you sure Safari matches Firefox? [08:52:01.0000] <annevk> /me thought it matched Opera [08:53:00.0000] <Philip`> Not at all sure - I've never tested it, and I just vaguely remember people mentioning something but I don't know exactly what [09:04:00.0000] <MichaelMH> hmm.. [09:10:00.0000] <MichaelMH> i think the curve thing would be easier if cp1x, cp1y, cp2x, cp2y was relative to x and y [09:13:00.0000] <Philip`> You could perhaps write "var x = whatever, y = whatever; ctx.bezierCurveTo(cp1x+x, cp1y+y, cp2x+x, cp2y+y, x, y)" [09:14:00.0000] <MichaelMH> hmm [09:15:00.0000] <MichaelMH> i'll try that after I've finished my "M" [09:22:00.0000] <MichaelMH> yeeeeeeeaah: http://www.michaelmh.com/stuff/newbie/M.html [09:24:00.0000] <Philip`> /me wonders if it'd be possible to do a whole TTF font this way [09:25:00.0000] <MichaelMH> TTF font? [09:26:00.0000] <MichaelMH> yo, you know how Im making a fill then sticking a stroke onto of it [09:26:01.0000] <MichaelMH> is there anyway to make the fill have a border [09:27:00.0000] <Philip`> That's just the usual format for defining fonts built out of lines and Bezier curves [09:28:00.0000] <Philip`> You can just call "ctx.fill(); ctx.stroke()" - the fill shouldn't affect the current path [09:29:00.0000] <MichaelMH> oh yeah silly me, I should of tryed that [09:34:00.0000] <MichaelMH> howcome you can draw a rectangle but not a cricle, triangle.. teapot and otehr stuff [09:36:00.0000] <Philip`> Probably because rectangles are a very common case, so it's worth having a function for them (instead of requiring moveTo/lineTo combinations), whereas shapes like triangles are much rarer and you can just make them out of lines [09:36:01.0000] <Philip`> The lack of circle seems kind of irritating to me, since arc(..., 0, 2*Math.PI, false) isn't very elegant, though at least you can define your own circle function if you want [09:37:00.0000] <Philip`> I think teapots lack significant reason to be included :-) [09:37:01.0000] <MichaelMH> I think wanting to draw a "M" would also be common [09:38:00.0000] <Philip`> Text would be good, but the spec says "drawing text is not supported in this version of the API (there is no way to predict what metrics the fonts will have, which makes fonts very hard to use for painting)" [09:39:00.0000] <MichaelMH> ic [09:39:01.0000] <Philip`> (I think some people have liked the idea of being able to draw an arbitrary HTML element into the canvas, in which case you could do text by just creating it in HTML/CSS then copying it) [09:41:00.0000] <zcorpan> /me points to http://forums.whatwg.org/viewtopic.php?t=31 [09:43:00.0000] <Philip`> Oh, that might be the thing I remembered talking about the "Firefox-ish / Safari-ish" way of doing transformations, as opposed to the Opera-ish / spec-ish way [09:56:00.0000] <jgraham> Would anyone like to try and break http://wordsandpictures.dyndns.org/html5/parsetree.html? [09:57:00.0000] <MichaelMH> omg, excitement. I'm on the gradient section. [09:58:00.0000] <jgraham> /me instantly finds a trivial bug [09:58:01.0000] <zcorpan> jgraham: simple! http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Carticle%3E ;) [09:58:02.0000] <jgraham> zcorpan: Take that up with Hixie ;) [09:58:03.0000] <zcorpan> yeah yeah :) [09:59:00.0000] <jgraham> Although the traceback shouldn't be displayed [09:59:01.0000] <jgraham> I think I will just disable the NotImplementedError in html5lib [10:00:00.0000] <Lachy> jgraham, couldn't you implement that as some sort of non-fatal warning instead [10:00:01.0000] <met_> looks nice [10:01:00.0000] <annevk> jgraham, yeah, just change the inbody methoddispatcher thingie [10:01:01.0000] <jgraham> Lachy: I was thinking of writing a warning to sys.stderr [10:01:02.0000] <annevk> Lachy, no, too much hassle for little value [10:01:03.0000] <annevk> (imo) [10:02:00.0000] <zcorpan> you could treat them as "anything else", but that's not what the current spec says... [10:02:01.0000] <annevk> the current spec says "red blob" iirc [10:02:02.0000] <zcorpan> yeah [10:02:03.0000] <annevk> which makes the "anything else" cause plausible [10:03:00.0000] <Lachy> yeah, anything else makes sense until their handling is actually defined [10:03:01.0000] <met_> jgraham, on top of the result page can be page-navigation? like #input-document, #parse-tree, #output-innerHTML, #parse-errors [10:03:02.0000] <met_> for long document it is too scrolling [10:03:03.0000] <Lachy> though, you could implement things like <section> just like div, and then provide implementation feedback [10:04:00.0000] <met_> jgraham, see the id are already there [10:05:00.0000] <annevk> Lachy, I suppose we could experiment yes, if we want to do that kind of thing [10:05:01.0000] <annevk> in that case we should also implement <!-->, </br> and </p> I think [10:05:02.0000] <zcorpan> <p><table>? [10:05:03.0000] <Lachy> zcorpan, no [10:06:00.0000] <Lachy> that would have to be quirks only, I think [10:06:01.0000] <met_> and from parse errors list hyperlings to the lines in input document with errors should be great 8-) [10:06:02.0000] <annevk> we're not going to have a quirks only parser [10:06:03.0000] <annevk> hopefully [10:06:04.0000] <annevk> so if <p><table> is needed so be it [10:06:05.0000] <zcorpan> Lachy: if it's required for quirks, why not just require it? [10:06:06.0000] <Lachy> the problem is that making table a child of p, instead of a sibling, could potentially break many standards pages [10:06:07.0000] <annevk> /me doesn't think it's required for quirks though [10:07:00.0000] <zcorpan> Lachy: it would only break acid2... :) other standards pages don't omit </p> except for mine and annevk's [10:07:01.0000] <annevk> maybe it is [10:08:00.0000] <annevk> opera does [10:08:01.0000] <annevk> data:text/html,<!doctype html><style>p>table{background:lime}</style><p><table><tr><td>test [10:08:02.0000] <annevk> and [10:08:03.0000] <annevk> data:text/html,<style>p>table{background:lime}</style><p><table><tr><td>test [10:08:04.0000] <annevk> different [10:09:00.0000] <zcorpan> annevk: perhaps you could try to remove it from quirks in opera and see if anyone complains? :) [10:09:01.0000] <zcorpan> or vice versa [10:10:00.0000] <annevk> hah [10:10:01.0000] <annevk> you try :p [10:10:02.0000] <zcorpan> :) [10:10:03.0000] <Lachy> zcorpan, you'd be surprised, actually. There are a lot of pages that do <p> <table>...</table> </p>, even if they use standards mode [10:10:04.0000] <Lachy> That's actually a common question on www-validator about why the </p> is in error [10:11:00.0000] <zcorpan> Lachy: right. isn't that an argument to make <p><table> parsing as it is in quirks? [10:11:01.0000] <MichaelMH> well a much urgent issue. I tryed to apply a gradient to my M and it disapeared [10:11:02.0000] <MichaelMH> much more* [10:11:03.0000] <Lachy> no, because it could potentially change the rendering of standards mode pages if <table> because a child of <p> [10:12:00.0000] <zcorpan> Lachy: you just said people use <p><table/></p> in standards mode [10:13:00.0000] <zcorpan> i haven't seen any page that uses <p><table> but meant <p></p><table> other than acid2 and my mobile-results page and somewhere in anne's blog [10:13:01.0000] <zcorpan> yet i have also seen people ask on forums why they can't nest their tables in their paragraphs [10:13:02.0000] <annevk> zcorpan, they use it, don't realize it doesn't work, and rely on the resulting rendering [10:13:03.0000] <zcorpan> annevk: ah [10:13:04.0000] <annevk> but I'm not sure if there would be much rendering differences between <p><table></table></p> and <p></p><table></table> though [10:14:00.0000] <annevk> especially if we introduce the </p> quirk in standards mode... [10:14:01.0000] <jgraham> Nav links added [10:14:02.0000] <annevk> /me wonders if they are dependent on each other [10:14:03.0000] <Lachy> zcorpan, I said they write that in their markup, but although they think <table> is a child of <p>, it's not and changing that could result in unexpected behaviour [10:14:04.0000] <zcorpan> ok [10:15:00.0000] <Lachy> we would, of course, need to to some sort of study to find out if anything really could break [10:15:01.0000] <zcorpan> like what? [10:15:02.0000] <zcorpan> i can only imagine there would be no bottom margine below the table [10:15:03.0000] <zcorpan> but then ie6 doesn't even have bottom margin of Ps [10:16:00.0000] <Lachy> say they had: p, table { margin-left: 2em; }, once the table was a child of the p, that would increase the margin to 4 em. [10:16:01.0000] <zcorpan> yup [10:16:02.0000] <Lachy> or, if they had p { border: 1px solid green; }, then border would then extend to surround the table [10:17:00.0000] <zcorpan> yeah, but i haven't seen such a case [10:17:01.0000] <zcorpan> not that i have made a study of lots of pages though [10:19:00.0000] <annevk> have fun: http://www.google.com/codesearch?q=%3Cp%3E%3Ctable%3E [10:20:00.0000] <annevk> over 26,000 code page thingies use it [10:21:00.0000] <zcorpan> searching for "<p><table" probably gives a better result [10:21:01.0000] <annevk> 39,000 [10:22:00.0000] <zcorpan> given the fact that every browser does it in quirks mode and some did it in standards mode as well before acid2, indicates to me that it's required [10:23:00.0000] <zcorpan> and that pages in standards mode doesn't rely on it [10:27:00.0000] <zcorpan> jgraham: shouldn't the parse errors list say anything more than the position of the error? [10:28:00.0000] <jgraham> zcorpan: Yes. That's a known issue which I havne't bothered to fix because of the much larger known issue that most of the error strings in html5lib are crap [10:29:00.0000] <zcorpan> ok [10:34:00.0000] <annevk> /me wonders why Roger Johansson doesn't like pave the cowpaths [10:46:00.0000] <jdandrea> zcorpan: I'm presently on WA 1.0 4.4.3.10 (moving along with the author view CSS). For paragraphs with a mix of author and UA-only-relevant info, I'm leaving it visible. Make sense? (Example: 4.4.3.9 - paragraphs 2 and 3.) [10:48:00.0000] <zcorpan> jdandrea: yup [10:48:01.0000] <jdandrea> zcorpan: thx [10:55:00.0000] <jgraham> zcorpan: Error messages now work (stupid typo) [10:57:00.0000] <zcorpan> jgraham: nice. and <article> works [10:57:01.0000] <zcorpan> http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3C%21doctypehtml%3E%3Cp%3E%3Carticle%3E%3Cp%3E%3C%2Farticle%3E [10:57:02.0000] <zcorpan> hm [10:59:00.0000] <zcorpan> <article></article> triggers the error [11:03:00.0000] <zcorpan> jgraham: shouldn't the "|"s be at the start of the line in the parse tree? [11:04:00.0000] <zcorpan> or hm, it's not in that format anyway [11:06:00.0000] <zcorpan> i.e. this format http://wiki.whatwg.org/wiki/Parser_tests#Tree_Construction_Tests [11:06:01.0000] <jgraham> zcorpan: The </article> thing should be fixed (I forgot new close tags also raised an error) [11:07:00.0000] <jgraham> No, the output isn't in the test format. I guess that might have been more useful. I remember having a reason, I forget what it was :) [11:08:00.0000] <zcorpan> being more like http://software.hixie.ch/utilities/js/live-dom-viewer/ ? [11:09:00.0000] <jgraham> Probably [11:10:00.0000] <jgraham> Although it doesn't match that either [11:10:01.0000] <annevk> we should have a script that does make it match that [11:10:02.0000] <annevk> i'd like to have a script that tells what my browser does versus html5 without having to read some spec [11:11:00.0000] <zcorpan> either that or have the test result format... (the latter can be easily pasted to text/plain email) [11:11:01.0000] <annevk> yeah fair enough [11:11:02.0000] <annevk> might be easier to modify hixie's thingie to output <pre> like stuff [11:13:00.0000] <jgraham> Is the text/plain thing just about syntax highlighting? Syntax highlighting is good... [11:14:00.0000] <annevk> pasting into e-mail seems to be the use case [11:14:01.0000] <zcorpan> yeah [11:14:02.0000] <zcorpan> you can make < and > be the same color as the background color ;) [11:14:03.0000] <zcorpan> if you want nice syntax highlighting [11:15:00.0000] <annevk> That's not really a requirement I have though. I just want to point a browser to a page. Paste in some text in a <textarea> and have the site create two DOM "trees". One from the browser I use and one using html5lib. [11:18:00.0000] <annevk> has anyone checked what <p><table implies? [11:18:01.0000] <annevk> for <p><table></p> for instance [11:19:00.0000] <annevk> or <p><table><tr><td><p>test</p> [11:19:01.0000] <annevk> or <p><table><tr><td><p> even [11:19:02.0000] <annevk> I suppose you would process the <p> inside the <table> in a table specific way? [11:25:00.0000] <annevk> IE seems to do the special handing within <table> [11:26:00.0000] <annevk> This means that <p><table></table></p></p>x will give you <p><table></table></p><p></p>x as DOM for instance [11:32:00.0000] <Philip`> jgraham: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cspacer+type%22block%22+width%3D%221%22+height%3D%221%22%3E%3C%2Fspacer%3E [11:33:00.0000] <Philip`> ...gives non-well-formed output, which is a bit irritating since I was trying to use an XML parser on it [11:33:01.0000] <annevk> that seems correct though [11:33:02.0000] <Philip`> (at least from html5lib's simpletree's toxml() function, and that innerHTML view shows the same problem) [11:34:00.0000] <annevk> (note that the HTML and XML 1.0 infosets aren't compatible so doing that without extra checking is not going to be sufficient) [11:34:01.0000] <annevk> (html5lib toxml() is primitive [11:34:02.0000] <annevk> ) [11:34:03.0000] <jgraham> Non-well-formed as in "illegal XML attribute name"? Yeah, I don't think we can do much about that [11:34:04.0000] <annevk> (I'm not sure it's a problem for innerHTML) [11:34:05.0000] <Philip`> (That code is from http://www.toyota.com/) [11:34:06.0000] <annevk> they use <spacer>? [11:34:07.0000] <annevk> awesome [11:35:00.0000] <Philip`> annevk: At least it got through five web pages before being too primitive to cope, which isn't bad given the state of most web pages :-) [11:35:01.0000] <zcorpan> annevk: <table> is already scoped... so anything after <table> is treated the same as if there was nothing before <table> aiui [11:35:02.0000] <annevk> lots of stuff inside <table> is handled using the inBody phase [11:35:03.0000] <jgraham> /me wonders if we should remove all the xml stuff or if Sam or someone is going to patch it to work correctly [11:35:04.0000] <annevk> which may cause conflicts if a <p> is actually in scope [11:36:00.0000] <zcorpan> hm [11:36:01.0000] <annevk> indeed [11:37:00.0000] <zcorpan> wouldn't it be the same as e.g. <div><table></div> ? [11:39:00.0000] <Philip`> Urgh, I get broken XML out of toxml() for 250 out of 1000 pages :-( [11:41:00.0000] <annevk> zcorpan, <div> does not imply </div> [11:41:01.0000] <Philip`> /me will probably try writing a more robust serialiser [11:41:02.0000] <annevk> when a <div> is in scope [11:41:03.0000] <annevk> Philip`, that's awesome data [11:41:04.0000] <annevk> please store it in some way [11:41:05.0000] <zcorpan> annevk: i wrote </div> [11:42:00.0000] <Philip`> annevk: Which data in particular? [11:43:00.0000] <zcorpan> annevk: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cdiv%3E%3Ctable%3E1%3C%2Fdiv%3E2%3Ctr%3E3%3C%2Fdiv%3E4%3Ctd%3E5%3C%2Fdiv%3E6 [11:44:00.0000] <annevk> Philip`, that HTML serialized to a DOM tree on lots of pages won't give you an XML serialization back [11:44:01.0000] <annevk> Philip`, even with scripting disabled [11:44:02.0000] <annevk> zcorpan, <div> is fundamentally different from <p> in parsing [11:44:03.0000] <annevk> zcorpan, I'm not sure how you can compare them [11:47:00.0000] <Philip`> annevk: Ah, okay - I've got all the raw data so I can reproduce the results easily [11:50:00.0000] <zcorpan> annevk: i don't see any difference that would be relevant to <p><table></p> vs <div><table></div> if <table> was changed to not imply </p> [11:51:00.0000] <annevk> the moment you hit <p> it checks whether <p> is in scope and tries to close it by popping elements from the stack [11:52:00.0000] <annevk> I'm quite positive it's problematic [11:53:00.0000] <annevk> Then again, I'm basing this on my knowledge of that part of the specification from back in January [11:53:01.0000] <jdandrea> Lachy: I'm helping out zcorpan with the author view (CSS) of WA 1.0. Just noticed 4.6.4 uses the same id as 4.6.3 (read-text). [Advising you per http://blog.whatwg.org/faq/] [11:53:02.0000] <annevk> When I looked into changing the parsing of </p> [11:54:00.0000] <zcorpan> annevk: </div> also pops elements from the stack until div has been popped [11:54:01.0000] <annevk> this is about <p> [11:54:02.0000] <annevk> not </p> [11:54:03.0000] <annevk> aah [11:54:04.0000] <annevk> <p> implies </p> when <p> is in scope [11:55:00.0000] <zcorpan> yes [11:55:01.0000] <annevk> given <p><table><tr><td><p> <p> is indeed in scope [11:55:02.0000] <annevk> and would pop <td>, <tr> and <table> from the stack [11:55:03.0000] <zcorpan> sure? [11:55:04.0000] <annevk> (given that <table> does not imply that <p> would be popped of from the stack) [11:55:05.0000] <annevk> see above for that part [11:56:00.0000] <annevk> I would like a citation of the spec that says otherwise [11:56:01.0000] <jdandrea> lachy: whoops, and also 4.6.5 [11:56:02.0000] <annevk> /me goes to look for himself [11:56:03.0000] <annevk> this is not going anywhere :) [11:58:00.0000] <annevk> you would hit some loop in generating implied end tags maybe... [11:58:01.0000] <annevk> no, you wouldn't [11:59:00.0000] <annevk> yes it would happen exactly as I described [11:59:01.0000] <annevk> please read the spec [11:59:02.0000] <zcorpan> i am reading the spec :| [11:59:03.0000] <zcorpan> i haven't implemented it though so i might be reading it wrong [11:59:04.0000] <annevk> reading in the Hixie sense? [12:00:00.0000] <annevk> lets go through it [12:00:01.0000] <annevk> ok? [12:00:02.0000] <zcorpan> sure [12:00:03.0000] <zcorpan> given <p><table><p> [12:00:04.0000] <annevk> given <p><table><tr><td><p> would be nicer [12:00:05.0000] <zcorpan> ok [12:00:06.0000] <Lachy> jdandrea, you should let Hixie know about problems like that with the spec. Let me know about problems with the FAQ [12:00:07.0000] <annevk> we assume that <table> doesn't imply <p> for the moment [12:00:08.0000] <zcorpan> ok [12:00:09.0000] <annevk> at some point we hit <p> [12:01:00.0000] <annevk> the insertion mode is "in cell" at that point [12:01:01.0000] <annevk> which says: 'Process the token as if the insertion mode was "in body".' [12:01:02.0000] <zcorpan> yup [12:01:03.0000] <jdandrea> Lachy: I was about to do that, but for some reason misinterpreted the FAQ page. np [12:02:00.0000] <annevk> the "in body" phase says this about <p>: 'If the stack of open elements has a p element in scope, then act as if an end tag with the tag name p had been seen.' [12:02:01.0000] <annevk> whoa, you're right [12:02:02.0000] <annevk> hah [12:02:03.0000] <annevk> /me didn't check "in scope" [12:02:04.0000] <zcorpan> phew! :) [12:03:00.0000] <MichaelMH> ok.. new and improved curvey M http://www.michaelmh.com/stuff/newbie/M.html [12:04:00.0000] <zcorpan> annevk: also, at </div> the spec says the same thing basically as for </p>... (pop elements until a div has been popped) [12:05:00.0000] <annevk> my point was about <p> implying </p> and <div> not implying </div> [12:05:01.0000] <annevk> which you seem to have missed somehow [12:06:00.0000] <zcorpan> i didn't miss it, it's just that when you imply </p> you process that token as if it was there, right? [12:06:01.0000] <zcorpan> <p> says you imply </p> [12:06:02.0000] <zcorpan> </p> says you pop elements [12:06:03.0000] <zcorpan> </div> also says you pop elements [12:06:04.0000] <zcorpan> and that was my point [12:08:00.0000] <annevk> given that step 3 of in scope was not there <div><table><div> would be different from <p><table><p> [12:08:01.0000] <zcorpan> yes [12:09:00.0000] <bewest> what is supposed to happen when writing to innerHTML for a node that isn't properly part of the DOM yet? [12:09:01.0000] <annevk> how would that matter? [12:09:02.0000] <zcorpan> bewest: isn't inserted into the document, you mean? [12:09:03.0000] <bewest> IE throws an error (even if parentNode != null) [12:09:04.0000] <annevk> oh, maybe it does [12:09:05.0000] <bewest> yeah [12:10:00.0000] <bewest> if you have something like [12:10:01.0000] <zcorpan> bewest: iirc per spec it shouldn't matter [12:10:02.0000] <annevk> yeah, seems like it [12:10:03.0000] <bewest> <div> <script> // find last script tag, replace with div using DOM, then write to innerHTML of that div</script> </div> [12:10:04.0000] <annevk> so you can have document.innerHTML = stuff [12:10:05.0000] <bewest> this will fail in IE [12:11:00.0000] <zcorpan> but works in other browsers? [12:11:01.0000] <MichaelMH> can someone explain to me how to use shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor I cant find it in the mozilla tutorial [12:11:02.0000] <bewest> Firefox works [12:11:03.0000] <bewest> yeah [12:12:00.0000] <annevk> MichaelMH, they are unsupported [12:12:01.0000] <zcorpan> then it's probably just a bug in ie... [12:12:02.0000] <annevk> /me isn't aware of any browser support [12:12:03.0000] <bewest> (this is actually a problem with some code I'm workign on right now... writing to innerHTML is done in a callback and there is a race condition that causes IE to fail [if the document hasn't finished loading before the callback fires]) [12:12:04.0000] <MichaelMH> aww. [12:13:00.0000] <annevk> does anybody know if Safari does reparsing for comments in quirks? [12:13:01.0000] <Philip`> (Wow, <spacer> is quite popular - I see it on about 1% of these pages) [12:13:02.0000] <bewest> zcorpan: so that sounds like a bug according to the spec? [12:13:03.0000] <bewest> would it be useful to have an example of this on the web? [12:14:00.0000] <annevk> /me doesn't like <script><!-- document.write('</script>'); --></script> [12:14:01.0000] <zcorpan> bewest: sounds like a bug, yeah [12:15:00.0000] <zcorpan> annevk: i have some tests on that [12:15:01.0000] <bewest> http://dichotomize.com/czmap/innerhtmlbug.html [12:16:00.0000] <bewest> I try to avoid document.write if possible [12:16:01.0000] <bewest> maybe I shouldn't [12:16:02.0000] <annevk> oh, reparsing of <% and %> is nasty too [12:17:00.0000] <annevk> (<%<p>%> remove last %) [12:18:00.0000] <bewest> it's a DOM-tease [12:18:01.0000] <annevk> it's likely fast [12:18:02.0000] <annevk> Firefox, Opera and html5lib seem to parse the above per HTML5 btw [12:18:03.0000] <annevk> the <% syntax [12:28:00.0000] <MichaelMH> man whats with these radians. degrees is so much easier for me [12:29:00.0000] <Philip`> You could do everything in degrees and then convert for the function call by doing deg*Math.PI/180 [12:29:01.0000] <Philip`> and then it wouldn't be necessary to worry about radians any more [12:29:02.0000] <annevk> yeah just make a deg2rad function [12:30:00.0000] <Philip`> (It seems like only computers and mathematicians like radians) [12:32:00.0000] <MichaelMH> ah thank you [12:33:00.0000] <jgraham> <physicist>I like radians [12:33:01.0000] <jgraham> /me wonders if everyone else becomes a physicist because he left the tag open [12:33:02.0000] <MichaelMH> gcse maths didn't include radians [12:34:00.0000] <Philip`> Oh, physicists and computer scientists are just special cases of mathematicians, since that makes my generalisation work better :-) [12:34:01.0000] <jgraham> MichaelMH: No, you don't really need them until you do calculus [12:34:02.0000] <MichaelMH> yo, I'm a bit annoyed that you cant change the point of origin with rotate [12:35:00.0000] <Philip`> You can do translate/rotate/translate to get the same effect [12:35:01.0000] <MichaelMH> oh well, I'm not doing A level. [12:36:00.0000] <Philip`> (I suppose a canvas library with functions like rotateAround(x, y, a) might be handy in cases like this) [12:36:01.0000] <jgraham> /me really enjoyed A-level maths [12:36:02.0000] <jgraham> But I realised I wasn't particularly good at it when I got to University [12:37:00.0000] <MichaelMH> Maths is soo booring... [12:37:01.0000] <MichaelMH> infact all of school is boring [12:37:02.0000] <Philip`> ((I think my head exploded some time ago while trying to work out the right transformations to get perspective-correct tiled floors in Canvex - it's not incredibly fun when you don't even have the transform() function)) [12:38:00.0000] <MichaelMH> I don't understand why rotate can't be rotate(angle, x, y) [12:38:01.0000] <MichaelMH> is that too much to ask for? [12:40:00.0000] <MichaelMH> because I was gonna have my M at a slight angle. So I thought I could rotate around the point 50,50. but when I use translate before my M goes off the canvas and im not sure what to do [12:42:00.0000] <Philip`> It might be something vaguely like function rotateAround(ctx, angle, x, y) { ctx.translate(-x, -y); ctx.rotate(angle); ctx.translate(x*Math.cos(angle)+y*Math.sin(angle), x*Math.sin(angle)-y*Math.cos(angle)); } except that's totally untested and probably needs some +/- changes in the last translate, unless I've got it even more wrong than that [12:43:00.0000] <Philip`> Actually, that's definitely wrong - it'd be less obviously wrong with translate(..., -x*sin + y*cos) instead [12:43:01.0000] <Philip`> (I think) [12:43:02.0000] <annevk> MichaelMH, whatwg⊙wo accepts proposals ;) [12:43:03.0000] <MichaelMH> so i could ask for a origin bit in the rotate tag? [12:45:00.0000] <zcorpan> MichaelMH: if you have a use-case to back up your proposal it will certainly be taken into consideration [12:45:01.0000] <zcorpan> or well, all use-cases are considered, it's just that those that are backed up with use-cases are more likely to be accepted [12:46:00.0000] <zcorpan> er [12:46:01.0000] <zcorpan> all proposals [12:46:02.0000] <MichaelMH> ic [12:46:03.0000] <MichaelMH> so whats a use-case? [12:46:04.0000] <zcorpan> why you want the feature [12:46:05.0000] <zcorpan> "because I was gonna have my M at a slight angle." [12:49:00.0000] <MichaelMH> Do you think that will be convincing enough [12:50:00.0000] <zcorpan> annevk: in the xht spec, isn't it unneeded (inappropriate?) to have MUSTs inside algorithms? [12:51:00.0000] <zcorpan> and other rfc2119 terms [12:51:01.0000] <annevk> yeah, maybe [12:51:02.0000] <annevk> i've been thinking about that [12:51:03.0000] <annevk> remind me tomorrow? [12:51:04.0000] <zcorpan> ok [12:52:00.0000] <zcorpan> i can send it to the list otherwise [12:52:01.0000] <zcorpan> also wanted to propose dropping the "conforming scripts" concept [12:53:00.0000] <zcorpan> and replace the only SHOULD that applied to scripts with a non-normative encouragement [12:57:00.0000] <bewest> (11:23:26) annevk: Firefox, Opera and html5lib seem to parse the above per HTML5 btw # annevk, is this in reference to http://dichotomize.com/czmap/innerhtmlbug.html ? [13:05:00.0000] <MichaelMH> yo zcorpan is this ok http://forums.whatwg.org/viewtopic.php?p=213 [13:10:00.0000] <zcorpan> MichaelMH: "Um.. I'm quite sure about this question so I'm just going to ignore it." you meant "I'm not quite sure..."? [13:11:00.0000] <zcorpan> but yeah, it's ok [13:12:00.0000] <zcorpan> MikeSmith: should i forward it to the list+ [13:12:01.0000] <zcorpan> ? [13:12:02.0000] <MichaelMH> lol oh yeah, sorry. I'm good at typos [13:14:00.0000] <bewest> slightly improved: http://dichotomize.com/czmap/innerhtmlbug.html [13:14:01.0000] <bewest> are there conventions for tests like these that I would be wise to follow? [13:14:02.0000] <zcorpan> bewest: yes [13:15:00.0000] <zcorpan> 1) keep it to an absolute minimum [13:15:01.0000] <zcorpan> 2) state what the pass condition is [13:15:02.0000] <bewest> ah great [13:15:03.0000] <zcorpan> 3) make the pass indicator green if possible [13:15:04.0000] <bewest> I think I satisifed that [13:15:05.0000] <bewest> maybe I can also show the error [13:15:06.0000] <zcorpan> 4) make it very obvious that the test failed when it fails [13:15:07.0000] <zcorpan> 5) cite the relevant spec in a <link rel=help [13:16:00.0000] <zcorpan> 6) describe what you're testing specifically in the <title> [13:17:00.0000] <zcorpan> and that's about it, i think [13:17:01.0000] <bewest> hmmm [13:17:02.0000] <bewest> ok, I'm failing on number 5 [13:17:03.0000] <zcorpan> also #1 i think :) [13:17:04.0000] <bewest> really? [13:17:05.0000] <zcorpan> yeah [13:17:06.0000] <bewest> what should I remove? [13:18:00.0000] <zcorpan> everything that isn't needed for the actual test [13:18:01.0000] <zcorpan> "It should say pass below: [13:18:02.0000] <zcorpan> PASS" [13:18:03.0000] <zcorpan> is a good test [13:19:00.0000] <bewest> as opposed to Results: Your browser fails/passes with fails red and passes green? [13:19:01.0000] <zcorpan> yes [13:19:02.0000] <bewest> oh [13:19:03.0000] <zcorpan> known results is also external to the test [13:19:04.0000] <bewest> so just get rid of Results and just make it PASS/FAIL? [13:19:05.0000] <zcorpan> yes [13:19:06.0000] <bewest> ok [13:19:07.0000] <zcorpan> when it fails it can be good to indicate what failed, if possible [13:20:00.0000] <wilhelm> Yes. Also state the pass condidtion. “You should see the word 'PASS' below:”, for example. [13:20:01.0000] <zcorpan> e.g. you start with <p>FAIL (script didn't run)</p> [13:20:02.0000] <zcorpan> wilhelm: that was stated already :) [13:20:03.0000] <wilhelm> Oh. Ignore me. [13:21:00.0000] <Lachy> bewest, if you're testing support for .innerHTML, you don't need to provide a try...catch block and fall back to appendChild. That could potentially result in a false positive [13:21:01.0000] <zcorpan> bewest: also don't reference external files unless needed [13:21:02.0000] <bewest> Lachy: the try/catch is to show the error [13:22:00.0000] <bewest> zcorpan: I can't do that last bit [13:22:01.0000] <bewest> zcorpan: because that's not the test [13:22:02.0000] <bewest> hrmmm maybe this is two tests [13:22:03.0000] <zcorpan> then split it up :) [13:23:00.0000] <bewest> I don't know if it's a problem split up [13:23:01.0000] <Lachy> ah, ok, I misread the script. But it should just say FAIL when it fails, you don't need to output the script error message [13:23:02.0000] <bewest> ok [13:23:03.0000] <bewest> should I let the error bubble up to the user then? [13:23:04.0000] <bewest> eg, not try/catch at all? [13:23:05.0000] <zcorpan> yeah [13:23:06.0000] <Lachy> yes, then the tester can use the browsers own diagnostic tools to see the error [13:24:00.0000] <bewest> ok [13:24:01.0000] <bewest> how's that, then? [13:24:02.0000] <zcorpan> easier to debug [13:25:00.0000] <Lachy> take out the InnerHTML... heading, Methodology section and Test heading [13:25:01.0000] <bewest> ok [13:25:02.0000] <zcorpan> bewest: this might help http://www.hixie.ch/advocacy/writing-test-cases-for-web-browsers [13:25:03.0000] <bewest> /me devours [13:26:00.0000] <Lachy> also, you should make use of the <div id="result"> for testing .innerHTML, instead of a separate element [13:27:00.0000] <wilhelm> Yeah, what Lachy said. Testers might be running through thousands of tests in one run, and they just want to know whether it passed or failed; not what each test is testing. [13:27:01.0000] <Lachy> so, the markup should look like this <div id="test" class="fail">FAIL</div> [13:27:02.0000] <wilhelm> Metadata and descriptions should be stored somewhere else than in the actual test. [13:27:03.0000] <Lachy> then have the script do this: test.innerHTML = "PASS"; test.className = "pass"; [13:27:04.0000] <zcorpan> Lachy: when it fails, it's useful to know why it failed (e.g. because the script didn't run at all) [13:28:00.0000] <bewest> Lachy: I can't do that [13:28:01.0000] <bewest> Lachy: that's not the test [13:28:02.0000] <Lachy> it's part of the test, though [13:29:00.0000] <Lachy> ah, I see what you mean. [13:29:01.0000] <bewest> wait you mean like this? [13:29:02.0000] <zcorpan> you can also drop the className thing [13:29:03.0000] <zcorpan> PASS/FAIL is a good enough indicator [13:30:00.0000] <bewest> I thought you wanted it red [13:30:01.0000] <zcorpan> either red or FAIL, or both [13:30:02.0000] <bewest> so it's both currently [13:30:03.0000] <zcorpan> yes [13:31:00.0000] <zcorpan> in the interest of #1 you can drop one of them [13:31:01.0000] <zcorpan> otherwise the person debugging why it failed would waste time looking into what the className thing is doing [13:32:00.0000] <bewest> ok, I removed a function as well [13:32:01.0000] <bewest> in favor of finding the last script inline [13:32:02.0000] <Lachy> so to distinguish between the script failing, or not executing, make the markup <div id="result">FAIL (script did not execute)</div>, and then the script sets that to PASS or FAIL [13:33:00.0000] <zcorpan> Lachy: yep, that's good [13:33:01.0000] <MichaelMH> um... is there any other tutorials for animating with canvas? cus the one on mozilla is quite hard to follow for me [13:34:00.0000] <Lachy> and take out the list that describes what the test is doing, that's not necessary [13:35:00.0000] <Lachy> /me is wonderings what more appropriate text than "hello world!" would be. [13:36:00.0000] <bewest> is ok to just comment out the explanation? [13:36:01.0000] <Lachy> yeah [13:36:02.0000] <bewest> you really dont' want any text explaining what's being tested? [13:36:03.0000] <bewest> ok how's it look now? [13:36:04.0000] <zcorpan> bewest: only in the title [13:36:05.0000] <Lachy> not visible. Use comments in the source to explain what's going on if necessary [13:37:00.0000] <bewest> oh ok [13:37:01.0000] <Lachy> maybe s/hello world!/It should say PASS below/ [13:37:02.0000] <zcorpan> why not PASS instead of hello world! ? [13:38:00.0000] <zcorpan> and then a paragraph above always present stating the pass condition [13:39:00.0000] <zcorpan> you can update innerHTML of the same element onload [13:39:01.0000] <Lachy> zcorpan, the the "hello word!" text is going to be visible, and is separate from the pass condition, then it wouldn't make sense for it to say PASS as well [13:39:02.0000] <zcorpan> first change it to FAIL [13:39:03.0000] <zcorpan> then onload change it to PASS if it says FAIL [13:46:00.0000] <Lachy> bewest, there's an erroneous "." following the result div [13:47:00.0000] <zcorpan> Lachy: "hello world!" isn't visible if scripting is disabled [13:47:01.0000] <Lachy> yeah, I know [13:50:00.0000] <zcorpan> bewest: ie7 passes if you remove the <p> around the script [13:51:00.0000] <zcorpan> bewest: might be because of ie's whacky dom not being a tree [13:51:01.0000] <zcorpan> not sure [13:52:00.0000] <zcorpan> if you replace the p with a div ie7 passes too [13:53:00.0000] <zcorpan> so it looks like this is in fact unrelated to innerHTML per se [13:55:00.0000] <zcorpan> hmm... naw, using appendChild instead of innerHTML makes it pass, so it has something to do with innerHTML [13:58:00.0000] <Lachy> the problem is that in IE, test == null; [13:58:01.0000] <zcorpan> seems like container.innerHTML = "hello world!" makes the function return or something [13:58:02.0000] <Lachy> so it seems the bug isn't innerHTML at all, it's gEBId I think [13:59:00.0000] <MichaelMH> how new is canvas anyways? [13:59:01.0000] <zcorpan> Lachy: try to do something after the innerHTML line in the test function [13:59:02.0000] <zcorpan> like alert("foo"); [13:59:03.0000] <zcorpan> before that line, it alerts, after, nothing happens [14:00:00.0000] <zcorpan> so the assignment of innerHTML seems to be equivalent to "return;" or so [14:00:01.0000] <Lachy> I'm using the LiveDOMViewer, and it's not doing anything anywhere [14:01:00.0000] <zcorpan> oh, i'm testing in a file, and i can do anything before the assignment [14:01:01.0000] <zcorpan> but nothing after it [14:02:00.0000] <Lachy> ah, no, it was my fault. I had a typo that prevented the script from executing [14:08:00.0000] <Lachy> I tidied it up a bit, see the DOM viewer and dowload it from the clipboard http://software.hixie.ch/utilities/js/live-dom-viewer/ [14:09:00.0000] <Lachy> oops, had to upload it again, there was a small mistake [14:10:00.0000] <Lachy> hmm. weird, I must have made another mistake, cause it fails in FF now [14:10:01.0000] <zcorpan> i made it simpler still, sent to bewest in PM [14:10:02.0000] <zcorpan> should i upload what i've got to LDV? [14:11:00.0000] <Lachy> ah, found my bug. Yeah, upload yours [14:11:01.0000] <zcorpan> uploaded [14:11:02.0000] <zcorpan> it won't say FAIL when it fails though... because the assignment nukes the node in ie it seems [14:12:00.0000] <bewest> zcorpan: that's the test [14:13:00.0000] <zcorpan> yeah [14:13:01.0000] <zcorpan> try changing the second <p>...</p> to <div>...</div> [14:17:00.0000] <bewest> second p? [14:17:01.0000] <bewest> the first p? [14:18:00.0000] <zcorpan> bewest: hit download at http://software.hixie.ch/utilities/js/live-dom-viewer/ [14:20:00.0000] <bewest> zcorpan: you want me to use div instead of P? [14:20:01.0000] <Lachy> bewest, no, just to see what happens when you change the P to a DIV [14:20:02.0000] <bewest> whoah [14:20:03.0000] <bewest> it works... [14:20:04.0000] <zcorpan> what Lachy said [14:20:05.0000] <bewest> hrmmm [14:20:06.0000] <bewest> hrmmm [14:20:07.0000] <bewest> hrmmm [14:20:08.0000] <bewest> /me is shocked [14:20:09.0000] <Lachy> stop repeating yourself [14:21:00.0000] <Lachy> :-) [14:22:00.0000] <zcorpan> it might be that ie's dom is so whacky when you nest a DIV inside a P, that innerHTML just refuses to work for that case [14:22:01.0000] <zcorpan> and makes the function simply return [14:24:00.0000] <zcorpan> bewest: that the function returns can be seen by trying to do a simple alert("foo"); after the innerHTML assignment [14:25:00.0000] <Lachy> if you set .innerHTML = ""; then it doesn't return (though, the test still failes) [14:25:01.0000] <Lachy> s/failes/fails/ [14:25:02.0000] <zcorpan> interesting [14:26:00.0000] <zcorpan> innerHTML = " \n" also works [14:26:01.0000] <Lachy> ah, so if it's not whitespace [14:26:02.0000] <zcorpan> yeah [14:26:03.0000] <Lachy> that might have something to do with IE not retaining whitespace nodes in the DOM [14:27:00.0000] <zcorpan> could be [14:27:01.0000] <Lachy> container.innerHTML = "<!-- -->"; works too [14:28:00.0000] <zcorpan> whey. </div> is equivalent to <div></div> in ie7 [14:28:01.0000] <Lachy> woah! [14:28:02.0000] <zcorpan> in fact, any block-level element it seems [14:29:00.0000] <zcorpan> hmm, not quite [14:29:01.0000] <Lachy> which one doesn't? [14:29:02.0000] <bewest> my theory was that the script tag freezes DOM construction, and so even though there is a reference to a parentNode for the newly appended div, it's not part of some "proper DOM" (a DOM-tease?) and so fails to write to the innerHTML [14:29:03.0000] <zcorpan> </table> becomes a /TABLE element [14:29:04.0000] <bewest> but it sounds like it's more complicated than that [14:30:00.0000] <bewest> (btw this is afflicting some production code of mine) [14:30:01.0000] <zcorpan> bewest: it is part of the document at the time you assign innerHTML [14:30:02.0000] <bewest> hmm [14:31:00.0000] <Lachy> it's just because IE's architecture is an absolute disaster area, despite cwilso's claims that IE's architecture is good. [14:31:01.0000] <zcorpan> (or well, i think it is, and it should be, but i can't say for sure what the heck IE is doing here) [14:32:00.0000] <bewest> should I change it back to p, or leave it as div? [14:32:01.0000] <zcorpan> p [14:32:02.0000] <zcorpan> otherwise you don't reveal the bug :) [14:33:00.0000] <zcorpan> but you can have two tests [14:33:01.0000] <zcorpan> or say in a comment that it will work when you change it to a div [14:33:02.0000] <Lachy> test it with all block level elements [14:34:00.0000] <zcorpan> ok [14:34:01.0000] <bewest> erm... like, at separate URIs? [14:34:02.0000] <bewest> or make a test that automatically tests all of them? [14:35:00.0000] <zcorpan> the latter seems more appealing :) [14:35:01.0000] <Lachy> separate tests [14:35:02.0000] <Lachy> yeah, what zcorpan said [14:35:03.0000] <bewest> erm [14:36:00.0000] <Lachy> though, you have to be careful not to make it too cluttered [14:36:01.0000] <bewest> ok [14:36:02.0000] <bewest> I think that's more time than I can invest at work right now [14:36:03.0000] <bewest> will have to wait till I get home [14:36:04.0000] <Lachy> having 2 dozen tests makes it difficult to quickly scan and see if they all passed [14:36:05.0000] <bewest> well, I'll probably do a php script or something [14:36:06.0000] <bewest> make the element tested a query parameter [14:36:07.0000] <zcorpan> i can do it in JS now [14:36:08.0000] <bewest> maybe dont' even need php [14:37:00.0000] <bewest> yeah [14:37:01.0000] <bewest> the js can parse query parameters as well [14:37:02.0000] <Lachy> /me should go to bed, the sun is coming up :-) [14:37:03.0000] <zcorpan> i thought of just running all at once and then writing a log :) [14:37:04.0000] <bewest> ah [14:38:00.0000] <bewest> anyway, what's interesting is that when innerHTML fails, using appendChild will work [14:38:01.0000] <bewest> appendChild(document.createTextNode('hello world')); will work in lieu of innerHTML = "hello world"; [14:44:00.0000] <bewest> zcorpan: so should I leave this "as-is" for now, or is there more feedback I should incorporate other than testing multiple elements? [14:52:00.0000] <zcorpan> http://simon.html5.org/test/html/parsing/stray-end-tags/ [14:53:00.0000] <zcorpan> bewest: dunno [14:53:01.0000] <zcorpan> bewest: report the bug to MS [14:54:00.0000] <MichaelMH> nite nite everyone, Im off to bed [14:54:01.0000] <zcorpan> but that might not be possible. "The site is temporarily closed. It will re-open in the future." -- https://connect.microsoft.com/site/sitehome.aspx?SiteID=136 [14:54:02.0000] <zcorpan> MikeSmith: nn [14:54:03.0000] <bewest> erm looks like it's closed [14:55:00.0000] <bewest> yeah [14:55:01.0000] <bewest> typical [14:55:02.0000] <zcorpan> it has been "temporary" closed since they shipped ie7 or even before that i think [14:55:03.0000] <bewest> everything I find useful at their site is removed or closed [14:55:04.0000] <bewest> like "application readiness toolkit" [14:55:05.0000] <bewest> which they removed when vista was actually released [14:55:06.0000] <bewest> silly people [14:55:07.0000] <zcorpan> bewest: if you want i can add it to my ie7b2-bugs/, i think they are aware of those [14:56:00.0000] <zcorpan> or at least they have been pointed out to the ie team more than once, i think [14:57:00.0000] <bewest> hrm how do I submit to there? [14:58:00.0000] <zcorpan> to where? [14:58:01.0000] <bewest> oh [14:58:02.0000] <bewest> I mean [14:58:03.0000] <bewest> yeah go ahead and add it [14:58:04.0000] <bewest> you seem much more organized than anything I'm prepared to offer [14:59:00.0000] <bewest> what does (dropped) vs -- ELEMENT mean in your test results? [15:14:00.0000] <zcorpan> /me improved the ouput of http://simon.html5.org/test/html/parsing/stray-end-tags/ [15:15:00.0000] <zcorpan> bewest: (dropped) meant that the end tag didn't generate an element [15:15:01.0000] <zcorpan> but i dropped "(dropped)" in favor of "" [15:17:00.0000] <zcorpan> seems opera always does </br> -> <br> but never </p> -> <p></p> [15:18:00.0000] <zcorpan> gecko does both in quirks but neither in standards (or almost standards) [15:26:00.0000] <bewest> so now I'm going to have to defer things until after onload because of this stupid bug [15:27:00.0000] <zcorpan> bewest: or change P to DIV? :P [15:28:00.0000] <bewest> no... I don't have control of the surrounding markup [15:29:00.0000] <bewest> I'm producing a widget for other authors to include [15:29:01.0000] <bewest> and there is a race condition [15:29:02.0000] <bewest> and sometimes this happens [15:30:00.0000] <bewest> eg, <script> new Graph(opts); </script> will put somekind of interactive graph there [15:31:00.0000] <zcorpan> generate a span instead of a div, then, perhaps? [15:31:01.0000] <bewest> maybe... I didn't think the kind of element was the problem though [15:32:00.0000] <zcorpan> the test passes if i change DIV to SPAN [15:32:01.0000] <bewest> hmmmmmmm [15:33:00.0000] <bewest> whoah [15:33:01.0000] <bewest> that makes things vastly simpler [15:33:02.0000] <zcorpan> :) [15:33:03.0000] <bewest> terrific [15:33:04.0000] <bewest> wow [15:33:05.0000] <bewest> they must have really fubar stuff in IE [15:35:00.0000] <zcorpan> http://simon.html5.org/test/ie7b2-bugs/051.html [15:37:00.0000] <bewest> oh wow you really took the ax to it [15:37:01.0000] <bewest> /me takes note [15:38:00.0000] <bewest> that's not a valid document though, is it? [15:39:00.0000] <zcorpan> valid? [15:39:01.0000] <zcorpan> seems like it is conforming html5 http://hsivonen.iki.fi/validator/?doc=http%3A%2F%2Fsimon.html5.org%2Ftest%2Fie7b2-bugs%2F051.html [15:39:02.0000] <zcorpan> but generally i don't care about that while making test cases [15:40:00.0000] <bewest> ah [15:41:00.0000] <zcorpan> valid in the sense of test cases has nothing to do with whether you conform to the conformance requirements of the languages you're using [15:41:01.0000] <zcorpan> you might be testing error handling for instance [15:42:00.0000] <bewest> yes [15:42:01.0000] <bewest> I was under the impression that the DOM may change depending on whether or not the document is valid [15:42:02.0000] <bewest> so that in order to better isolate your test, it's better to use a valid document [15:43:00.0000] <zcorpan> what do you mean change? [15:43:01.0000] <zcorpan> browsers don't know whether a document is valid or not [15:44:00.0000] <bewest> hmmm [15:44:01.0000] <bewest> good point [15:44:02.0000] <zcorpan> they just have bugs :) [15:45:00.0000] <zcorpan> e.g., opera doesn't imply a HEAD if there isn't a <head> tag. but that's just a bug. and it doesn't affect this test case [16:09:00.0000] <zcorpan> i'm wondering... to whom are the de jure semantics useful? to those who are writing markup by hand? those who create wysiwyg tools? markup consumers? [16:11:00.0000] <zcorpan> the two former seem to have ignored de jure semantics to some degree in the past. the third has to operate on how markup is used in the wild in order to get good results (e.g. a definition search with google would have to look at <b> elements and possibly <strong> as well as <dfn>, and perhaps look at just words without markup at all too) [16:13:00.0000] <zcorpan> in any case, those who write markup by hand are wasting their time if they use spend time on choosing what markup to use if no-one benefits from the distinction in practice [16:15:00.0000] <zcorpan> but catering 100% to markup consumers would probably mean we have to define when a <table> represents tabular data and when it does not [16:16:00.0000] <Philip`> What people are there that make use of semantic markup in HTML already, and are they involved with the HTML WG or could they be invited? It seems hard to discuss use cases when nobody can suggest any that are not totally hypothetical [16:18:00.0000] <zcorpan> hmm, google extracts definitions from the web [16:18:01.0000] <zcorpan> screen readers and browsers in general probably make use of semantic html [16:18:02.0000] <zcorpan> to some extent [16:19:00.0000] <zcorpan> dunno if we have screen reader manufacturers in the wg [16:20:00.0000] <zcorpan> wow, i really have a hard time coming up with who benefits from semantic markup [16:20:01.0000] <othermaciej> Apple makes a screen reader [16:20:02.0000] <othermaciej> (included with the OS) [16:20:03.0000] <jgraham> This is a real problem. Lots of people *really believe* in semantics but don't have convincing use cases that will ever actually be implemented [16:21:00.0000] <zcorpan> othermaciej: ah, right [16:21:01.0000] <jdandrea> Perhaps tbl has a weigh-in? (The semantic web.) [16:21:02.0000] <jgraham> either because the feature is too esoteric or because it requires ~100% of sites to use the markup correctly in order to work [16:22:00.0000] <zcorpan> othermaciej: you know about how it benefits from semantics in html? or whether it differentiates between when an element is what it's supposed to be or not (e.g. table for layout vs data)? [16:23:00.0000] <zcorpan> it seems to me that if we define e.g. how to differentiate between when a table is used for layout or not, it would be easier for screen reader vendors to enter the market [16:23:01.0000] <jdandrea> http://www.w3.org/2001/sw/EO/usecases/byProject.html [16:23:02.0000] <zcorpan> pretty much like defining how to parse broken markup [16:23:03.0000] <jdandrea> /me points to the previous link ... (Does that count?) [16:25:00.0000] <jdandrea> /me realizes it's not about "semantic html" per se [16:25:01.0000] <zcorpan> jdandrea: hmm, looking at the first product description, i can't extract any use-cases [16:25:02.0000] <jdandrea> /me ... and starts wondering if RDF is being confused with HTML (when discussing semantics in the "semantic web" sense) [16:26:00.0000] <jgraham> in general I strongly suspect "serendipitous semantics" work better in the real world e.g. pagerank's use of links [16:26:01.0000] <zcorpan> just that it's increasingly important, but not why it is [16:26:02.0000] <jdandrea> Here's another one: http://tantek.com/presentations/2004etech/realworldsemanticspres.html [16:27:00.0000] <jgraham> jdandrea: your first link seems to be mostly about walled garden content [16:27:01.0000] <zcorpan> i think karl provided some use-cases for metadata before [16:27:02.0000] <jdandrea> jgraham: agreed [16:28:00.0000] <othermaciej> zcorpan: I don't think it does that much deep analysis if the content - mainly it tried to represent what is on the screen [16:29:00.0000] <jdandrea> Hmm ... what else ... microformats, perhaps? [16:29:01.0000] <zcorpan> othermaciej: ok. thanks [16:29:02.0000] <othermaciej> zcorpan: it works more from the render tree than the DOM [16:30:00.0000] <zcorpan> othermaciej: but does it have a "table navigation" mode like e.g. jaws? [16:30:01.0000] <jgraham> I guess some simple things work e.g. authors who use headings at-all seem to get them right more often than they get them wrong [16:31:00.0000] <othermaciej> however, a way to succinctly describe the purpose of an element would be useful [16:31:01.0000] <jgraham> So you can build a useful tool that works with heading elements [16:31:02.0000] <othermaciej> I thought that was what "role" was for when I first heard about it [16:31:03.0000] <zcorpan> jgraham: depends on what you mean with get them right... if you look at the document outline then most don't get headers right afaict [16:31:04.0000] <othermaciej> we have a concept of "AXRole" in our accessibility API [16:31:05.0000] <othermaciej> I don't think our screen reader does table navigation [16:31:06.0000] <zcorpan> ok [16:32:00.0000] <jgraham> zcorpan: Well that depends on how strictly you interpret the 0 conformance requirements in the HTML4 spec [16:32:01.0000] <zcorpan> jgraham: true, but if you use the implementation that is in the w3c validator for instance [16:33:00.0000] <jgraham> In general you can get some sort of rough tree structure out but there's often problems like all the sidebar headings as a subtree under a content heading [16:33:01.0000] <zcorpan> jgraham: yeah, exactly [16:33:02.0000] <jgraham> because HTML4 used the word "important" and noone understood [16:34:00.0000] <jgraham> /me wonders what would happen if he mentioned that on public-html [16:34:01.0000] <zcorpan> http://sitesurgeon.co.uk/articles/using-heading-numbers.html [16:36:00.0000] <zcorpan> good thing is that if the new sectioning elements are used in a correct way, the document outline will be more or less "correct" regardless of which number you use [16:36:01.0000] <jgraham> Yeah, that article is basically exactly in line with my experience [16:37:00.0000] <jgraham> zcorpan: Indeed, the algorithm was carefully design to have that property iirc [16:37:01.0000] <jgraham> /me must get around to implementing that soon [16:38:00.0000] <jgraham> Anyway the point is heading markup is rarely perfect but it's just-about good enough for simple purposes like providing an in-browser outline of the page [16:40:00.0000] <zcorpan> unless the page uses <h1> for all text on the page... [16:40:01.0000] <zcorpan> ...because keywords in <h1> gives higher ranking in SEs [16:40:02.0000] <jgraham> zcorpan: Not so many pages do that [16:40:03.0000] <jgraham> /me fears the SEOs [16:40:04.0000] <zcorpan> jgraham: i've seen a couple [16:40:05.0000] <zcorpan> they're not that uncommon [16:41:00.0000] <jgraham> Well then a user trying to auto-build a outline would have a very bad experience and probably stop using the site [16:41:01.0000] <jgraham> So perhaps that would be enough incentive to do something sensible [16:42:00.0000] <jgraham> I wonder if google et. al. reject pages with more than x% of the text in headings? It seems like it might be useful [16:42:01.0000] <zcorpan> yeah. same could be said about tables for layout and screen readers, but those are far more common [16:43:00.0000] <zcorpan> jgraham: probably not reject but they might not apply the normal heading processing for heading elements [16:44:00.0000] <jgraham> Ironically according to hsivonen tables for layout works better on small-screen devices than CSS. Small screens are more common than screen readers... [16:44:01.0000] <jgraham> (this is a problem with CSS of course) [16:45:00.0000] <zcorpan> jgraham: yeah, but aiui hsivonen's experience is based on medium-screen devices that use screen media [16:45:01.0000] <zcorpan> jgraham: on mobiles that don't apply css at all or only support a subset of css, divs+css is a better experience than tables [16:46:00.0000] <zcorpan> because on such devices you get columns that are 2-3 characters wide [16:46:01.0000] <zcorpan> with tables [16:46:02.0000] <jgraham> Of course [16:47:00.0000] <jgraham> I can't imagine browsing the web on a phone is anything less than painful [16:48:00.0000] <zcorpan> it can be more or less painful [16:48:01.0000] <jgraham> Anyway, time to sleep, I think :) [16:48:02.0000] <bewest> jgraham: there's no way search engines are going to make features that make the web harder to use [16:48:03.0000] <jgraham> bewest: ? [16:48:04.0000] <bewest> re: (15:47:20) jgraham: I wonder if google et. al. reject pages with more than x% of the text in headings? It seems like it might be useful [16:49:00.0000] <bewest> ie, they won't make pages harder to find because of poor authorship [16:49:01.0000] <jgraham> Oh, I meant as spam filtering. It's a pretty obvious technique to make your page look more important [16:50:00.0000] <zcorpan> jgraham: they're not filtered out [16:50:01.0000] <jgraham> and the search engines compete on quality of results [16:50:02.0000] <bewest> afaik, no one is using compositional techniques as a metric for spam [16:50:03.0000] <bewest> it's way too expensive with not enough benefit, relative to other techniques [16:51:00.0000] <Philip`> There are people who misguidedly put spam-like SEO features on non-spam sites, so you'd want to still include those in the results (but ignore the attempts to artificially increase ranking), rather than just filtering them out [16:52:00.0000] <zcorpan> Philip`: indeed [16:53:00.0000] <jgraham> Sure. Ignoring the obvious spamming techniques but indexing the page would do as well (though it would presumably have _lower_ pagerank than a page that had been "honestly" authored with the same content) 2007-05-08 [17:00:00.0000] <bewest> best way to combat spam is to never crawl it to begin with [21:46:00.0000] <Hixie> /me sends his reply to the 76 e-mails in his "INBOX.input-for-whatwg-box-of-sand" folder [21:47:00.0000] <Hixie> annevk: i got a bounce to your mail address: [21:47:01.0000] <Hixie> <fora⊙an>: mail for annevankesteren.nl loops back to myself [21:51:00.0000] <Hixie> ok, what's next.? [21:51:01.0000] <Hixie> <datatemplate>, <font>, class=? [21:52:00.0000] <Lachy> what's <datatemplate>? [21:52:01.0000] <Hixie> an idea hyatt and i came up with this afternoon [21:53:00.0000] <othermaciej> my personal requests would be DOMTokenList.toggle() and defining behavior for NaN and +/- Inf for canvas methods that take floats [21:53:01.0000] <Hixie> so class="" then <canvas> [21:53:02.0000] <Hixie> Lachy: basically, xul templates for html, as a replacement for wf2 repetition blocks [21:53:03.0000] <othermaciej> actually any refinements/cleanups to <canvas> would be great for WebKit currently [21:54:00.0000] <Hixie> k i'll look at <canvas> next then [21:55:00.0000] <Lachy> Hixie, Thunderbird thinks your "Sandboxing ideas" email is a scam! :-) (because it contains a URL with an IP address) [21:55:01.0000] <Hixie> hh [21:55:02.0000] <Hixie> hah even [21:55:03.0000] <Hixie> wait, it does? [21:55:04.0000] <Hixie> which one? [21:55:05.0000] <Lachy> <http://209.85.129.104/custom?q=cache:0s8ftW8HviQJ:en.wikipedia.org/wiki/Web_Hypertext_Application_Technology_Working_Group> [21:56:00.0000] <Hixie> oh [21:56:01.0000] <othermaciej> predefined classes have been a point of controversy [21:57:00.0000] <Lachy> yeah, using an _ prefix will resolve the comlaints about clashing [21:57:01.0000] <Hixie> a _ prefix looks dumb [21:57:02.0000] <Hixie> i'm tempted to yank the whole idea [21:57:03.0000] <othermaciej> Hixie: I have a different idea for a sandboxing model but it requires a parsing hack of some sort for HTML (but not XML) [21:57:04.0000] <Lachy> fair enough [21:58:00.0000] <Hixie> othermaciej: oh? [21:58:01.0000] <Hixie> othermaciej: so long as you clearly define the problem you're solving first... [21:58:02.0000] <Hixie> othermaciej: 90% of the proposals were "i have this idea for sandboxing" without even saying what they were trying to solve [21:58:03.0000] <othermaciej> Hixie: I know what problem I'm trying to solve [21:58:04.0000] <othermaciej> I should probably write it up in email [21:59:00.0000] <Hixie> i mean, fixing things without knowing what you're trying to solve is bad enough, but doing that when the issue is a security issue is just stupid [21:59:01.0000] <Hixie> /me grumbles [21:59:02.0000] <Hixie> othermaciej: cool [21:59:03.0000] <Hixie> othermaciej: be sure to read the stuff i wrote at the bottom of the mail [21:59:04.0000] <othermaciej> the problem is allowing sites to embed user-generated content and preventing script, without relying on their checks for script or plugins or the like exactly matching what the UA does [21:59:05.0000] <Hixie> othermaciej: i listed a bunch of things i considered [21:59:06.0000] <othermaciej> yeah, gonna read it first [21:59:07.0000] <Hixie> as well as the attack vectors they fail [22:01:00.0000] <othermaciej> my idea would not remove the need for server-side processing for legacy UAs, but it would allow better security in UAs that implement the feature without breaking legacy UAs [22:03:00.0000] <Hixie> oh look, only 143 e-mails pending for <canvas> [22:03:01.0000] <othermaciej> hmm actually I think your MD5 idea may be more workable than you think [22:04:00.0000] <othermaciej> (although MD5 would not be the best choice of hash) [22:04:01.0000] <Hixie> yeah i just used md5 cos it was easy for me to generate the hashes [22:05:00.0000] <othermaciej> you compute hash incrementally while parsing, and stop at the first instance of </sandbox> where the hash so far matches the open tag [22:05:01.0000] <othermaciej> so there's no DOS attack [22:05:02.0000] <Hixie> that's doomed [22:06:00.0000] <Hixie> you just need to find ONE case where foo</sandbox> has the same hash as foo [22:06:01.0000] <othermaciej> I don't think a brute force attack is feasible, since you need not just an arbitrary collision, but self-prefix collision [22:06:02.0000] <Hixie> er, what i just wrote isn't quite right [22:06:03.0000] <Hixie> but yes [22:07:00.0000] <othermaciej> no, you need one where foo</sandbox>attack-payload has the same hash as foo [22:07:01.0000] <Hixie> the point is, you can generate these up the wazoo [22:07:02.0000] <Hixie> right [22:07:03.0000] <Hixie> it's not like your collision has to be a tough one to find [22:07:04.0000] <othermaciej> I don't think anyone knows how to generate a hash collision for even MD5, meeting those constraints [22:07:05.0000] <Hixie> you need foo</sandbox>bar-baz to collide with foo</sandbox>, where both "foo" and "baz" can be completely controlled [22:08:00.0000] <othermaciej> where foo and foo + FIXED-SUFFIX collide [22:08:01.0000] <othermaciej> actually you need it to collide with just "foo" [22:08:02.0000] <Hixie> er right [22:08:03.0000] <othermaciej> hmm [22:08:04.0000] <Hixie> so "foo" has to collide with "foo"+x+"bar" where foo and bar are arbitrary [22:09:00.0000] <Hixie> and you only ever need to find ONE collision for EVERYONE to be compromised [22:09:01.0000] <othermaciej> I'll have to do the math to see if it's computationally feasible even for a relatively strong hash like SHA-256 or SHA-512 [22:09:02.0000] <othermaciej> having both client and server checks is still likely stronger than only a server check [22:09:03.0000] <othermaciej> since then you have to compromise both [22:09:04.0000] <Hixie> when you do that, bear in mind there are upwards of 100,000,000 machines at the disposal of the bad guys to do the work to find the collision [22:09:05.0000] <othermaciej> that would require your hash to also pass server-side sniffing [22:10:00.0000] <Hixie> you know that in due course people will rely on the UAs [22:10:01.0000] <Hixie> wow, a lot of these <canvas> comments are about painting text to the canvas [22:13:00.0000] <othermaciej> so given your estimate of 2^30 machines, to break SHA-512 you'd still need each machine to generate and compute the hash of on average 2^482 random payloads [22:13:01.0000] <Hixie> how do you figure? [22:14:00.0000] <othermaciej> because there are 2^512 different possible SHA-512 hash values [22:14:01.0000] <othermaciej> and there's no known way to generate a collision faster than brute force [22:14:02.0000] <othermaciej> (let alone a collision with chosen plaintext embedded) [22:14:03.0000] <othermaciej> if each compromised machine could generate and hash one message per plack time... [22:14:04.0000] <Hixie> you're not looking for one hash value [22:15:00.0000] <othermaciej> it would take 2^438 seconds to break [22:15:01.0000] <Hixie> you're doing a birthday paradox attack here [22:15:02.0000] <Hixie> it'll be way lower than that [22:15:03.0000] <othermaciej> it's not the case that any hash will do, you need a known plaintext embedded [22:16:00.0000] <othermaciej> you can't use a random collision pair to generate a collision pair with your attack vector embedded [22:16:01.0000] <othermaciej> where one of the pair is a prefix of the other [22:17:00.0000] <Hixie> still seems dodgy to me [22:17:01.0000] <othermaciej> but let's assume a birthday attack will do, arguendo [22:18:00.0000] <othermaciej> birthday attack for N outputs requires 1.2 * sqrt(N) steps on average [22:18:01.0000] <othermaciej> I don't believe a birthday attack is efficiently parallelizable [22:20:00.0000] <Hixie> it's a simple map-reduce, where the map is to generate the hashes given arbitrary input prefixes and suffixes, and the reduce is looking for pairs [22:20:01.0000] <othermaciej> but that would be 2^256 time units, over 2^30 machines generating one per planck time, 2^182 seconds [22:20:02.0000] <Hixie> fair enough [22:21:00.0000] <othermaciej> approximately 10^54 sec [22:21:01.0000] <Hixie> that's a long time [22:21:02.0000] <othermaciej> age of the universe is about 10^17 seconds [22:22:00.0000] <Hixie> fair enough [22:22:01.0000] <othermaciej> I believe you'd need more machines than atoms in the universe, each testing one possibility per planck time, to do it in under the age of the universe [22:22:02.0000] <Hixie> so the question becomes, is calculating the hash one byte or character at a time a perf hit? [22:22:03.0000] <othermaciej> no, I'm wrong, one machine per atom in the galaxy might do it [22:25:00.0000] <othermaciej> one byte at a time might be, but you only need to do the computation when you hit </sandbox>, otherwise you can feed it to the hasher one block at a time (for whatever its block size is) [22:25:01.0000] <Hixie> /me finds a problem with SHA-512 [22:25:02.0000] <Hixie> this is what the markup would look like to embed nothing: [22:25:03.0000] <Hixie> <sandbox hash=cf83e135 7eefb8bd f1542850 d66d8007 d620e405 0b5715dc 83f4a921 d36ce9ce 47d0d13c 5d85f2b0 ff8318d2 877eec2f 63b931bd 47417a81 a538327a f927da3e"></sandbox> [22:25:04.0000] <Hixie> that's long. [22:26:00.0000] <Hixie> ah yes, very true [22:27:00.0000] <othermaciej> sha-512 block size is 1024 bits, so 128 characters [22:27:01.0000] <othermaciej> you could fit </sandbox> 12 times in a block if you wanted to maximally hurt parsing speed [22:27:02.0000] <othermaciej> it would probably be something of a speed hit [22:27:03.0000] <Hixie> if you want to DOS there are plenty of ways to do it [22:28:00.0000] <Hixie> that's not really the concern [22:29:00.0000] <othermaciej> using a digital signature might be more effective w/ a smaller hash, since that increases the requirements on the hash, but then the feature would require a public/private keypair to use [22:29:01.0000] <othermaciej> *increases the requirements on the collision [22:33:00.0000] <jruderman> i think it would be saner for sites to switch to tag+attribute whitelists [22:33:01.0000] <Hixie> tag+attribute+value whitelists [22:34:00.0000] <deltab> what if the contained HTML is modified in transit? for instance, PHP adding session IDs to links, or a proxy automatically adding links or translating? [22:34:01.0000] <othermaciej> it doe seem like whitelists obviate the need for this, though you need to in that case parse and re-serialize the content [22:34:02.0000] <othermaciej> *does [22:34:03.0000] <Hixie> deltab: then everything from the <sandbox> to the end of the page gets hidden [22:34:04.0000] <jruderman> othermaciej: yeah [22:35:00.0000] <jruderman> what is <sandbox> supposed to mean? if it's just "no scripts" it leaves spoofing with abs pos open [22:35:01.0000] <othermaciej> now how can we convince myspace to switch to parse-whitelist-reserialize? [22:36:00.0000] <jruderman> othermaciej: by boycotting them [22:36:01.0000] <Hixie> hah [22:36:02.0000] <Hixie> good luck with that [22:36:03.0000] <Hixie> the people you need to have boycott them are the most impressionable and least security-conscious part of society [22:36:04.0000] <othermaciej> /me considers the unique challenges of writing a security treatise for 13-year-olds [22:36:05.0000] <jruderman> we'll start by having geeks boycott them [22:37:00.0000] <jruderman> (i'm joking) [22:40:00.0000] <Hixie> so the problems i see with <sandbox> are that the markup becomes really ugly looking (long hash), the page becomes extremely brittle (even minor changes to the markup can cause the entire rest of the page to become unusable), and that, if it just kills scripts, it doesn't solve a whole bunch of problems like phishing (with forms and css), embedding things like flash which have their own scripting problems, and linking to pages that themselves aren't sandboxes (e.g [22:41:00.0000] <othermaciej> it would have to restrict CSS, form controls, and plugins [22:41:01.0000] <othermaciej> which would possibly make it less than useful [22:42:00.0000] <othermaciej> the iframe solution could get away with not restricting CSS or plugins but does have the ugly markup problem [22:42:01.0000] <Hixie> yeah [22:43:00.0000] <Hixie> maybe we need a way of taking the <iframe>'s contents and putting them in the iframe [22:43:01.0000] <Hixie> <iframe sandbox><p>Hello!</iframe> [22:43:02.0000] <Hixie> (then the contents can't contain the string "</iframe") [22:44:00.0000] <othermaciej> yeah that has the same early close issue [22:45:00.0000] <othermaciej> so btw the idea I had for <sandbox> would not be vulnerable to creating an offline hash collision [22:45:01.0000] <othermaciej> it basically comes down to having a funky close tag syntax [22:45:02.0000] <Hixie> <sandbox tag="ntehoi"> </sandbox tag="ntehoi"> ? [22:45:03.0000] <othermaciej> <sandbox tag="long-random-string-generated-each-time-by-server"> ... </sandbox tag="long-random-string-generated-each-time-by-server"> [22:45:04.0000] <othermaciej> yeah [22:45:05.0000] <Hixie> i considered that. figured people wouldn't like that kind of screwing with the parser. i guess i didn't end up putting it in the mail. [22:45:06.0000] <othermaciej> I believe this would fall back as desired in legacy UAs [22:46:00.0000] <Hixie> yeah [22:46:01.0000] <Hixie> in terms of the parsing [22:47:00.0000] <Hixie> /me notes this is the second conversation i've had today with apple employees where they have suggested the parser be hacked to support new stuff :-P [22:47:01.0000] <Hixie> you guys should hear what the other vendors say when i suggest parser changes [22:47:02.0000] <Hixie> sheesh [22:48:00.0000] <othermaciej> what was the other one? [22:48:01.0000] <othermaciej> I guess their parsers are even scarier than ours [22:48:02.0000] <Hixie> hyatt was suggesting a new parse mode for the <datatemplate> idea [22:48:03.0000] <Hixie> probably will take that idea [22:49:00.0000] <Hixie> once i've dealt with the 83 e-mails about <canvas> that aren't asking for text output functions [22:49:01.0000] <Hixie> on another note, fips180-2 is a remarkably well-written spec [22:49:02.0000] <Hixie> (the sha spec) [22:51:00.0000] <othermaciej> cryptographers know how to be precise [22:51:01.0000] <Hixie> apparently [22:53:00.0000] <Hixie> hm, a request for dashed lines. [22:53:01.0000] <Hixie> in canvas. [22:56:00.0000] <Hixie> /me says no based on the lack of demand [22:59:00.0000] <jruderman> /me wonders if it's dangerous to say "no based on lack of demand" [22:59:01.0000] <jruderman> are his friends suddenly going to all demand it? [22:59:02.0000] <Hixie> i say "no" to almost everything [22:59:03.0000] <othermaciej> having dashed lines requires the means to define a dash pattern [22:59:04.0000] <Hixie> it's one of the things i wish other spec authors would do :-) [23:00:00.0000] <Hixie> /me looks at svg [23:00:01.0000] <othermaciej> they say yes to things that they afterwords can't explain the use case for [23:00:02.0000] <othermaciej> *afterwards [23:02:00.0000] <jruderman> if they can remember a use case, they include it in the "tiny" profile, right? [23:04:00.0000] <othermaciej> no, the "tiny" profile includes things where they can't [23:04:01.0000] <othermaciej> like the network API [23:04:02.0000] <Hixie> the network API has lots of use cases [23:04:03.0000] <Hixie> they just don't match the API... [23:04:04.0000] <othermaciej> someone asked if a different network API satisfied the same use cases, and they couldn't name what the use cases were [23:05:00.0000] <Hixie> oh hah [23:05:01.0000] <Hixie> that's funny as heck [23:05:02.0000] <Hixie> anyway gotta go home [23:05:03.0000] <othermaciej> laters [23:06:00.0000] <Hixie> while i'm cycling home, consideer: should isPointInPath(x, y) convert x,y to the CTM before comparing it to the path? or should it convert the path via the CTM? or neither? and why? [23:06:01.0000] <Hixie> later [01:15:00.0000] <annevk> Hixie, yes, that address is made dead by my hosting provider... [01:15:01.0000] <annevk> /me will at some point switch to dreamhost for that domain [01:17:00.0000] <jruderman> annevk: if i remove a <link> element that's a titled stylesheet from a document and then put it back in (perhaps by removing the entire head and then putting the entire head back in), is it treated as a "new" stylesheet that goes through the algorithm for determining whether it's enabled, or does it remember whether it was enabled from before? [01:18:00.0000] <jruderman> annevk: i'd kinda prefer it remembering, because i like it when removing a node from a document and putting it back doesn't cause any visual changes [01:18:01.0000] <jruderman> annevk: but i figured your spec should say and it doesn't seem to say [01:18:02.0000] <annevk> I think it would be "new" [01:18:03.0000] <annevk> you might have made some changes in between or such [01:18:04.0000] <jruderman> hmm [01:18:05.0000] <annevk> but yeah, the spec doesn't say [01:19:00.0000] <annevk> /me has too many specs to edit :( [01:19:01.0000] <jruderman> yeah, making changes to the <link> node while it's out of the document that would complicate things [01:19:02.0000] <annevk> and then there's public-html... I should stop reading that [01:19:03.0000] <jruderman> hehe [01:19:04.0000] <jruderman> +1 [01:20:00.0000] <jruderman> ok, i'll just update my "remove node, put it back, see if there are any visual changes" testing thingie to skip files that have scripts tweaking .disabled [01:20:01.0000] <othermaciej> which spec is this? [01:21:00.0000] <jruderman> http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.35#dynamically (i'm not sure how to link to that spec properly) [01:22:00.0000] <othermaciej> CSSOM rides again! [01:25:00.0000] <annevk> the "proper" link is http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?content-type=text/html;%20charset=utf-8 [01:25:01.0000] <annevk> (without the version number but with the cruft that forces it to be UTF-8 as opposed to the default of ISO-8859-1) [01:26:00.0000] <othermaciej> annevk: looks pretty promising just based on what interfaces you put in so far [01:27:00.0000] <annevk> thanks [01:35:00.0000] <Hixie> anne, did you get the feedback from boris about that spec? [01:37:00.0000] <annevk> there's some stuff on www-style I've to look at [01:37:01.0000] <annevk> that you forwarded [01:37:02.0000] <annevk> I integrated changes to method names when they made those in Mozilla's implementation (on my recommendation), apart from that, not yet [01:38:00.0000] <Hixie> it was about changing attributes and how it affects .disabled, iirc [01:38:01.0000] <Hixie> would be nice for the mozilla guys if you could address that relatively soon, i think they're trying to implement it [01:42:00.0000] <annevk> k, on the list [01:42:01.0000] <annevk> /me wonders why the **** he doesn't receive e-mail from W3C lists [01:43:00.0000] <annevk> /me uses lists.w3.org to find about a small continued thread on XHR [01:43:01.0000] <Hixie> heh [01:49:00.0000] <annevk> http://lists.whatwg.org/pipermail/help-whatwg.org/2007-May/000040.html [01:52:00.0000] <Hixie> yeah, saw that [01:53:00.0000] <Hixie> how unfortunate for them that they didn't send it to the list that i promised to reply to all feedback for [01:53:01.0000] <Lachy> heh [01:54:00.0000] <annevk> :p [01:54:01.0000] <Lachy> just reply and say the web ontology RDF/OWL stuff is planned for HTML6 :-) [01:54:02.0000] <annevk> now you said that I'll threaten to forward it anyway if you don't include the brilliant <di> element :p [01:57:00.0000] <Lachy> does anyone know of any real world, practical use cases for RDF? (except for one of the obsolete versions of RSS) [01:59:00.0000] <Hixie> annevk: oh i wouldn't mind replying to them [01:59:01.0000] <annevk> /me was kidding there :) [01:59:02.0000] <Hixie> i mean, they didn't actually propose anything as far as i can tell [01:59:03.0000] <Hixie> and i don't understand their use case [01:59:04.0000] <Hixie> so it'd be a pretty standard "Thanks for your feedback, I don't understand exactly what problem it is you are trying to solve, could you elaborate?" [02:00:00.0000] <Hixie> anyway i should go to sleep [02:00:01.0000] <Hixie> nn all [02:00:02.0000] <Lachy> good night Hixie [02:02:00.0000] <othermaciej> I think I should find out what an "information architect" does exactly, then I will understand why you might want "an ontology" [02:02:01.0000] <annevk> night [02:03:00.0000] <Lachy> an information architect works on how to organise and structure information on a web stie to make it easy to find, use and access. [02:04:00.0000] <Lachy> I'm not sure how that helps figure out why they would want an ontology though [02:05:00.0000] <annevk> othermaciej, your comments on XHR make sense, I'll add a Conforming XML user agent [02:06:00.0000] <othermaciej> annevk: thanks [02:42:00.0000] <virtuelv> heh, http://www.456bereastreet.com/archive/200705/help_keep_accessibility_and_semantics_in_html/ [02:43:00.0000] <othermaciej> do it for the kids [02:46:00.0000] <othermaciej> I think there needs to be some pro-HTML5 advocacy action [02:47:00.0000] <virtuelv> "The new spec sounds like "If we make theft legal, crime rates will drop"" [02:47:01.0000] <virtuelv> ( http://www.456bereastreet.com/archive/200705/help_keep_accessibility_and_semantics_in_html/#comment29 ) [02:48:00.0000] <virtuelv> dunno, but I find 'helpful' suggestions like "Insist that browser vendors implement some kind of error logging for HTML, like iCab does." to be somewhat unintentionally funny [02:48:01.0000] <virtuelv> as a user, I couldn't care less [02:48:02.0000] <virtuelv> and "Insist that error handling for browsers is mentioned far away from the parts of the spec that web developers will read." [02:48:03.0000] <othermaciej> unfortunately few self-styled web standards advocates have moved beyond the smug superiority stage [02:48:04.0000] <virtuelv> no, what those people need is a best practices-document, not a spec [02:49:00.0000] <virtuelv> I almost feel like responding [03:07:00.0000] <jgraham> I liked Roger's comment "I would like draconian error handling" on a page served as text/html... [03:10:00.0000] <othermaciej> heh [03:20:00.0000] <annevk> zcorpan, no need for a reminder [03:20:01.0000] <annevk> I will leave SHOULD level requirements in tact though [03:20:02.0000] <annevk> and have noted at the start that they must follow the steps (unless otherwise noted) [03:20:03.0000] <annevk> which should cover that [03:21:00.0000] <zcorpan> annevk: ok, great [03:24:00.0000] <zcorpan> is Brad "[whatwg] Proposal: Allow block content inside label element" Fults talking through his hat? [03:39:00.0000] <annevk> /me starts receiving fragments of e-mail [03:39:01.0000] <annevk> /me updates XHR meanwhile to beat the comments he already saw in the archives! [03:54:00.0000] <mpt> /me couldn't resist commenting [03:56:00.0000] <mpt> ah, and Lachy talked about all the things I didn't, yay [03:57:00.0000] <annevk> /me thought for a moment that mpt meant commenting on XHR [03:57:01.0000] <mpt> I am (blissfully?) unaware of what XHR is [03:57:02.0000] <mpt> It sounds like some sort of security vulnerability [03:58:00.0000] <annevk> short for XMLHttpRequest [04:00:00.0000] <mpt> ah [04:01:00.0000] <Lachy> mpt, are you refering to my comment on 456bereastreet? [04:01:01.0000] <mpt> yes [04:01:02.0000] <mpt> ("all the things I didn't" was quite a lot, in retrospect;-) [04:02:00.0000] <Lachy> my comment ended up longer than the actual article :-) [04:02:01.0000] <mpt> If it's worth being wrong, it's worth being wrong in such a way that requires much longer to rebut than to state [04:03:00.0000] <annevk> HTML is quite a waste of everyone's time [04:03:01.0000] <mpt> annevk, you'll earn the right to say that *after* XML5 reaches REC [04:03:02.0000] <othermaciej> the WG or the langauge? [04:04:00.0000] <Lachy> the WG [04:05:00.0000] <met_> articles like 456bereastreet explains to mee, why is more and more spam in html wg mailing list [04:06:00.0000] <Lachy> I'm going to try and avoid posting to the list for a few days, which should help reduce the volume of mail since there won't be any arguing with me :-) [04:09:00.0000] <annevk> yeah, I'm sort of doing that too [04:09:01.0000] <annevk> mpt, heh [04:10:00.0000] <annevk> I'll wait until the chairs do something useful [04:10:01.0000] <mpt> which ones? [04:10:02.0000] <othermaciej> htmlwg chairs [04:10:03.0000] <othermaciej> Chris Wilson and Dan Connolly [04:11:00.0000] <mpt> How would that be relevant to XML5? [04:11:01.0000] <othermaciej> I don't think anyone else here is talking about XML5 [04:12:00.0000] <mpt> I said "you'll earn the right to say that *after* XML5 reaches REC", and annevk replied "I'll wait until the chairs do something useful" [04:13:00.0000] <annevk> (My reply to mpt was unrelated to the other two sentences which were.) [04:13:01.0000] <annevk> (Sorry for the confusion.) [04:13:02.0000] <mpt> oh. [04:13:03.0000] <annevk> my IRC replying is not often in sync [04:23:00.0000] <Lachy> Philip`, yt? [04:46:00.0000] <jdandrea> annevk: Wild pitch here ... WRT standardizing class values (let's say w/o scoping for a moment), would it make any sense to recognize said values _only_ when <!DOCTYPE html> is specified? [04:49:00.0000] <othermaciej> jdandrea: tehnically, what you do when that doctype is not specified is undefined (though the spec is meant to be usable in such cases) [04:49:01.0000] <Dashiva> jdandrea: Intuitively, no. That's basically the same as using a prefix, in either case no existing pages benefit [04:49:02.0000] <othermaciej> it really depends on your use case [04:49:03.0000] <othermaciej> I can see a UI use for class=search [04:49:04.0000] <annevk> jdandrea, I suggested we use that as argument to convince the non-believers [04:49:05.0000] <jdandrea> annevk: ah, ok [04:49:06.0000] <othermaciej> browsers could use it to identify a search form and have a keyboard shortcut to jump to it for instance [04:49:07.0000] <jdandrea> Dashiva: good point [04:50:00.0000] <othermaciej> but I'm not sure what the use case for class="copyright" would be [04:50:01.0000] <annevk> stylistic hook [04:50:02.0000] <jdandrea> othermaciej: understood - in fact that's what we did at my former employer - we even used (drum roll please) ... copyright ... and search ... [04:50:03.0000] <annevk> finding and maybe exposing copyright information for the site [04:51:00.0000] <othermaciej> stylistic hook can exist w/ no help from the spec [04:51:01.0000] <jdandrea> annevk: yes, we used it primarily as a stylistic hook. We also standardized various bits of markup ("containers" if you will) using class names, sometimes on paragraphs, or divs, and so on. [04:51:02.0000] <othermaciej> unless you imagine UAs would hav a default style for it [04:52:00.0000] <othermaciej> I'm not sure about finding copyright info, would that be a browser feature, or something search engines do? [04:52:01.0000] <jdandrea> So in that sense it was for authors - to give them a point of reference when editing other people's markup. [04:52:02.0000] <othermaciej> would class="copyright" do better than heuristics? [04:52:03.0000] <othermaciej> can heuristics check validity of the found data? [04:52:04.0000] <othermaciej> etc [04:52:05.0000] <jdandrea> /me thinks about heuristics ... [04:52:06.0000] <othermaciej> (like checking for the string "Copyright" [04:52:07.0000] <othermaciej> ) [04:52:08.0000] <jdandrea> Wouldn't finding &copy; (or the numeric equiv) - exactly ... [04:53:00.0000] <annevk> heuristics is not exactly language neutral [04:53:01.0000] <othermaciej> proper copyright notices have a pretty standard textual form and can readily be identified without markup [04:53:02.0000] <annevk> well, it complicates that [04:53:03.0000] <jdandrea> I might not use the word Copyright though. [04:53:04.0000] <jdandrea> (Copyleft?) [04:53:05.0000] <annevk> but that goes for currently used class names too, I suppose [04:53:06.0000] <jdandrea> CC? [04:53:07.0000] <othermaciej> actually, the standard for how to note a copyright is international [04:54:00.0000] <annevk> the &copy;? [04:56:00.0000] <jdandrea> Or is CC more of a "License" than a copyright (hmm, license ... :) ) [04:56:01.0000] <jdandrea> <a rel="license" href="http://creativecommons.org/licenses/by/3.0/"> [04:56:02.0000] <jdandrea> (spotted within http://creativecommons.org/about/licenses ) [05:06:00.0000] <othermaciej> creative commons licenses are a type of license [05:06:01.0000] <othermaciej> a copyright notice may mention a license [05:06:02.0000] <othermaciej> but they are not really the same thing [05:06:03.0000] <jdandrea> aye [05:06:04.0000] <jdandrea> but they can be mentioned within a copyright - ack [05:07:00.0000] <jdandrea> s/ack/ack'd/ [05:12:00.0000] <annevk> 'Molly Asks You: HTML, hasLayout and The Meaning of “Framework”' you'd think working for MSFT she would get the answer to the second one pretty easily... [05:14:00.0000] <annevk> oh, I should've read the comments [05:14:01.0000] <annevk> she hasn't found the person who knows yet :) [05:15:00.0000] <mpt> The Flickr photo is fantastic though [05:17:00.0000] <Lachy> I think I gave a reasonably accurate answer for the hasLayout question [05:17:01.0000] <Lachy> mpt, what flickr photo? [05:18:00.0000] <Lachy> ah, found it in the comments [05:18:01.0000] <annevk> http://flickr.com/photos/retrocactus/489377466/ [05:27:00.0000] <Dashiva> some of the browser vendors have no interest whatsoever in doing anything to make the lives of developers easier (...) pandering to people who can't be bothered to learn how to write HTML properly [05:28:00.0000] <Dashiva> Would be nice if people tried to at least wait with contradicting themselves until the next paragraph [05:29:00.0000] <Lachy> where did that quote come from? [05:29:01.0000] <mpt> Perhaps they mean, "the kind of developers who fetishize validity" [05:32:00.0000] <Lachy> I don't know what could possibly make lives of developers easier, than by being more lenient in what they accept [05:33:00.0000] <mpt> oh, there's lots of things [05:33:01.0000] <Lachy> it makes thier lives too easy, which is why they can get away with mistakes [05:33:02.0000] <mpt> parsimony [05:33:03.0000] <mpt> clarity [05:33:04.0000] <mpt> tools [05:33:05.0000] <Lachy> tools that do what authors want can be provided regardless of what browsers support [05:34:00.0000] <Dashiva> Lachy: It's from the author comment on http://www.456bereastreet.com/archive/200705/browsers_will_treat_all_versions_of_html_as_html_5/ [05:34:01.0000] <mpt> Sorry, I confused "than by" with "other than" [05:35:00.0000] <Lachy> ah, no woder I couldn't find it on the maling list :-) [05:38:00.0000] <Lachy> I spoke to Roger on MSN about the issues he has. I think it's just a matter of making people feel more welcomed into the group, watching the tone of our emails, and and trying to clearly explain why some things have to be done the way they are [05:38:01.0000] <Lachy> anyway, I gotta go, back later [06:07:00.0000] <annevk> We need something alongside RFC2119 that defines common web spec terminology [06:07:01.0000] <annevk> such as ascii case-insensitive, case-insensitive, link, etc. [06:08:00.0000] <annevk> (not my idea, btw) [06:22:00.0000] <annevk2> /me totally missed Ian's e-mail on sandboxing between all the other stuff [06:22:01.0000] <annevk2> or maybe I just received it later [06:33:00.0000] <Philip`> Incremental SHA-512 sounds quite unpleasantly slow - you'd have to do a computation (with 80 rounds of stuff) on 1024 bits for every byte you parse, because you can't incrementally compute the 1024-bit blocks. I guess you could fix that by copying rsync and having a cheap incremental checksum (e.g. CRC32) to find a probable end position, and use the strong checksum to verify it, which wouldn't be much harder for people writing server-side code. [06:33:01.0000] <Philip`> Lachy: Good morning [06:33:02.0000] <annevk2> having some new attributes on <iframe> seems sort of sane [06:33:03.0000] <annevk2> but it doesn't appear to be entirely backwards compatible [06:34:00.0000] <annevk2> besides that, if implementation have bugs... [06:34:01.0000] <Philip`> <iframe src="data:..."> isn't compatible with IE6/IE7 at all, so it doesn't seem very useful from that perspective [06:36:00.0000] <Philip`> (See e.g. http://canvex.lazyilluminati.com/misc/copyright.html and someone complaining it didn't work in IE) [06:37:00.0000] <annevk2> well, that it's incompatible is actually a good thing here, I think [06:38:00.0000] <annevk2> oops [06:38:01.0000] <annevk2> if backcompat is not a requirement having <sandbox src=>download something better</sandbox> might be better [06:39:00.0000] <Philip`> Apparently it's incompatible in a way that makes download boxes pop up when you try visiting the site in IE7, which means you'd have to do browser-sniffing in order to degrade less ungracefully [06:40:00.0000] <annevk2> i see [06:40:01.0000] <Philip`> though I guess you could also do <iframe src="getadvert.cgi" let-style-through></iframe> and then it'd work alright - it's only the data: that's a problem [06:41:00.0000] <annevk2> yeah, except you don't want the script to access the parent doc [06:44:00.0000] <Lachy> Philip`, can you send me the code you used to run those surveys for the class attribute, and brief instructions on how to use it? [06:45:00.0000] <Lachy> I've got html5lib, just the additional code [06:46:00.0000] <annevk2> maybe that should go into p/html5/ as well? [06:46:01.0000] <annevk2> in some survey directory? [06:48:00.0000] <Philip`> I don't think it'd be entirely trivial to send, since some of it involved manually editing the database to work around broken pages, and the current version ignores a fifth of the pages since they don't serialise to well-formed XML; but I'd be willing to fix it up so the whole process works straightforwardly [06:50:00.0000] <Lachy> yeah, sure, whatever you can do to make it easier to run surveys when we need to [06:50:01.0000] <annevk2> someone should just sit down for a few days and write the C version of html5lib [06:51:00.0000] <annevk2> (someone with actual knowledge of C; I believe it would take me much longer) [06:51:01.0000] <annevk2> then we no longer need silly XML parsers for speed afterwards I hope... [06:53:00.0000] <Philip`> What data structure would the C version parse into? Should it fit onto the end of something like libxml2 so you can use the standard APIs and wrappers and extra features (like XPath and whatever)? [06:54:00.0000] <annevk2> yeah [06:55:00.0000] <annevk2> and hopefully easily usable from Python too... [07:02:00.0000] <met_> annevk2 what about IronPython? and compile html5lib into .NET? [07:03:00.0000] <annevk2> That stuff should speed it up, but I don't think it would do as doing all the hard work in C [07:03:01.0000] <met_> /me tried to run html5lib under IronPython and it partlyworks [07:03:02.0000] <virtuelv> http://www.intertwingly.net/blog/2007/05/08/Dont-Break-The-Web [07:03:03.0000] <virtuelv> What's up with the html4 example being valid? [07:05:00.0000] <annevk2> Doesn't <body> require some children? [07:05:01.0000] <annevk2> Doesn't have much to do with breaking the web though [07:06:00.0000] <met_> <html><body /></html> looks nice 8-) [07:06:01.0000] <met_> even with onload="writeSomeBodyContent()"' [07:07:00.0000] <annevk2> oh wait [07:07:01.0000] <annevk2> the .diff files don't show the whole file, duh [07:07:02.0000] <Philip`> It's more "making the web non-conforming" rather than "breaking the web", but seeing as the web is non-conforming anyway that doesn't seem to make much difference [07:08:00.0000] <annevk2> /me tries to reply from a flaky network [08:30:00.0000] <annevk2> So his point is that <input size=2> should be conforming? [08:30:01.0000] <annevk2> Whatever... [08:33:00.0000] <wilhelm> I agree with that. <input name='postnummer' size='4'> makes perfect sense..(c: [08:34:00.0000] <annevk2> pattern=[0-9]{4} [08:34:01.0000] <annevk2> and maxlength=4 maybe [08:34:02.0000] <Philip`> and style="width:4em"? [08:35:00.0000] <Philip`> (but I don't know what CSS unit would match the size attribute) [08:35:01.0000] <Lfe> parsing html5lib into same data structures as libxml2 uses would be neat; then lxml might as well be used as python "frontend" [08:35:02.0000] <annevk2> maybe ch [08:39:00.0000] <annevk2> (as in, style=width:4ch} [08:39:01.0000] <mpt> ugh, Safari sniffs those diffs as HTML [08:40:00.0000] <Philip`> Looks like size = em > ch in FF3, and size < em (and ch doesn't exist) in O9 [08:41:00.0000] <annevk2> yeah, em is the font-size and ch is the average character width [08:41:01.0000] <annevk2> part of some CSS3 spec [08:41:02.0000] <mpt> I remember the Gecko hackers struggling to figure out what size= meant in IE4 so they could copy it [08:42:00.0000] <Philip`> and size > em in IE6 [08:43:00.0000] <Philip`> Oh, actually, it depends on the font [08:45:00.0000] <Philip`> ...and depends in different ways in different browsers [08:45:01.0000] <Philip`> and size=4 doesn't guarantee that four characters will fit in the box, in any of them [08:45:02.0000] <Philip`> so I guess switching to em would generally work no worse than using size [08:52:00.0000] <annevk2> Apparently there's no specification that defines what happens with <!-- in a script block [08:52:01.0000] <annevk2> bah [08:52:02.0000] <mpt> iirc it was the width of an "e" character or something weird [08:52:03.0000] <mpt> or an "a" [08:53:00.0000] <Philip`> (Links/Lynx don't do very well with CSS-sized input boxes, though) [08:54:00.0000] <Lachy> In IE, it appears that size=n is calculated as: (size=1) + n * increment [08:55:00.0000] <Lachy> where 'increment' is some yet to be determined value [08:55:01.0000] <mpt> /me goes spelunking [08:55:02.0000] <mpt> I think it's the width of an "a" character in MS Sans Serif [08:55:03.0000] <mpt> or in Arial [08:56:00.0000] <mpt> at the relevant size [08:59:00.0000] <Philip`> I get a much wider box if I use size=4 and set the font to Arial compared to setting it to Verdana [09:00:00.0000] <Philip`> which doesn't actually make sense since Verdana's characters are wider than Arial's [09:00:01.0000] <zcorpan> annevk2: yeah, i found out recently too. ecmascript262 should define <!-- to be equivalent to // [09:03:00.0000] <Philip`> What happens when you use some other scripting language and put <!-- in it? [09:03:01.0000] <mpt> https://bugzilla.mozilla.org/show_bug.cgi?id=25657 is somewhat relevant [09:04:00.0000] <Philip`> (VBScript, PerlScript, etc) [09:05:00.0000] <zcorpan> Philip`: if <!-- is a one-liner comment in those languages (like in JS) then it's a one-liner comment... otherwise it's a syntax error or means something else? [09:05:01.0000] <annevk2> zcorpan, is that actually how <!-- works? [09:05:02.0000] <zcorpan> annevk2: yes [09:06:00.0000] <annevk2> except when it's used in some special way? [09:06:01.0000] <zcorpan> what do you mean? [09:06:02.0000] <zcorpan> it's equivalent to // [09:06:03.0000] <annevk2> sorry, what about --> ? [09:06:04.0000] <zcorpan> that's nothing [09:06:05.0000] <zcorpan> syntax error [09:07:00.0000] <mpt> "The solution for this now until a spec decides how buttons must be sized is to have buttons always size in NavQuirks mode." -- https://bugzilla.mozilla.org/show_bug.cgi?id=96630 [09:07:01.0000] <zcorpan> that's why you need to use //--> [09:07:02.0000] <zcorpan> CSS has both <!-- and --> though [09:11:00.0000] <mpt> /me can't find the money quote [09:12:00.0000] <mpt> Relatedly, size= can be somewhat semantic [09:12:01.0000] <mpt> e.g. a short account name field, a long passphrase field [09:13:00.0000] <mpt> they hint at the desired length of the input [09:13:01.0000] <zcorpan> mpt: yeah, it says the length of the *expected* input, without putting a restriction [09:14:00.0000] <annevk2> zcorpan, so <!-- alert(1) does not work? [09:14:01.0000] <annevk2> zcorpan, what about the <!-- document.write(1) --> sample in the HTML5 parsing spec? [09:15:00.0000] <zcorpan> annevk2: correct [09:15:01.0000] <zcorpan> the sample also doesn't do anything [09:15:02.0000] <Philip`> Ah, VBScript in IE does seem to treat <!-- always like ' (except when it's in a string) and also does the same for --> when on a line preceded only by whitespace [09:16:00.0000] <zcorpan> you can also use <!-- anywhere where you can use // [09:16:01.0000] <zcorpan> Philip`: cool [09:16:02.0000] <Philip`> /me wonders how it works in PerlScript where you can't even tell what's a string without being a whole Perl interpreter [09:16:03.0000] <zcorpan> didn't think any scripting language treated --> specially [09:17:00.0000] <annevk2> /me wonders if what zcorpan says actually matches any impl [09:17:01.0000] <zcorpan> annevk2: why don't you try it :) [09:17:02.0000] <zcorpan> this is not specced anywhere [09:17:03.0000] <zcorpan> what i say is what i've found in imps [09:18:00.0000] <annevk2> for instance <script><!--\n<!--\nalert(1)\n-->\n//--></script> does not execute in Opera where it does in other browsers [09:18:01.0000] <annevk2> \n is a newline [09:19:00.0000] <zcorpan> probably because of the --> being a syntax error? [09:19:01.0000] <annevk2> I'm pretty sure Firefox has even more complicated tokenizing to make E4X sort of work for type=text/javascript [09:20:00.0000] <zcorpan> could be, i didn't test it througly [09:20:01.0000] <Philip`> Oh, that's a VBS/JS inconsistency [09:20:02.0000] <zcorpan> just did some alerts with <!-- in different places [09:21:00.0000] <annevk2> hmm [09:21:01.0000] <Philip`> "<!-- alert(1)\nalert(2)\n--> alert(3)" is a syntax error in JS, but runs the alert(2) in VBScript [09:22:00.0000] <zcorpan> iirc Hixie and mjs confirmed that <!-- was the same as // [09:23:00.0000] <Philip`> (so I guess in IE's implementation it's up to the scripting engine to fix the HTML-mangled code into something valid for their language, and they don't all quite do it the same) [09:23:01.0000] <annevk> alert(2) runs in Firefox [09:23:02.0000] <annevk> doesn't in Opera and IE7 [09:23:03.0000] <annevk> (Firefox2) [09:23:04.0000] <annevk> got to love browsers [09:23:05.0000] <Philip`> Should just make HTML comments in <script> be non-conforming :-) [09:24:00.0000] <annevk> that definitely solves the implementation problem [09:24:01.0000] <annevk> oh, wait! [09:24:02.0000] <zcorpan> leave it undefined! [09:25:00.0000] <MichaelMH> yo [09:25:01.0000] <Philip`> It could help solve the problem for future scripting languages, because those will only be supported in new browsers, and they could just not implement the <!-- stuff for those languages (because there's no content to be compatible with, and because the spec doesn't suggest it's a good thing to do) [09:26:00.0000] <annevk> argh [09:28:00.0000] <MichaelMH> yo phill, you know how you talked about creating a canvas tutorial..? [09:28:01.0000] <annevk> <!--\n<!--\nalert("PASS")\n-->\n--> [09:28:02.0000] <annevk> works in IE and Firefox [09:28:03.0000] <annevk> <!--\n<!--\nalert("PASS")\n-->x\n--> [09:28:04.0000] <annevk> works only in Firefox [09:29:00.0000] <zcorpan> annevk: you should save these tests somewhere... i think mjs were going to bug the ecmascript262 maintainers about defining <!-- [09:29:01.0000] <Philip`> MichaelMH: Indeed [09:30:00.0000] <annevk> Someone from Opera will bug the ECMA comittee [09:30:01.0000] <MichaelMH> so.. I was just thinking, today is a fine day for tutorial making [09:30:02.0000] <annevk> It's just not clear they'll accept it [09:31:00.0000] <annevk> It's also not clear what exactly needs to happen [09:31:01.0000] <annevk> but yes, how about /ecmascript/html-comments/ ? [09:33:00.0000] <zcorpan> annevk: that's a good place to put them [09:34:00.0000] <MichaelMH> I tryed to write a flash tutorial once. It was a bit ambitious and didn't really happen [09:36:00.0000] <Philip`> /me has too much work at the moment to do anything useful, unfortunately :-( [09:36:01.0000] <MichaelMH> also I lacked understanding in several key parts and didn't know the name of stuff. I think I called the color picker the magical color box [09:38:00.0000] <MichaelMH> Oh ok. I was just wondering about it. [09:38:01.0000] <JonT> Hey [09:39:00.0000] <JonT> that was a test [09:39:01.0000] <MichaelMH> I'm actually have trouble with animations. every part of the mozilla tut is quite simple and easy to follow for newbs but when it comes to the animation bit the code isnt really explained there is just two examples [09:42:00.0000] <annevk> http://tc.labs.opera.com/ecmascript/html-comments/ [09:42:01.0000] <JonT> Anne: "Not Found" [09:44:00.0000] <annevk> oh, my initial svn commit failed [09:44:01.0000] <annevk> try again [09:44:02.0000] <Philip`> MichaelMH: Is it the general animation system that's confusing (i.e. having a function to draw one frame, and using setInterval to call it repeatedly) or the bits it's doing inside the drawing function (i.e. changing some values so it draws something different each frame)? [09:46:00.0000] <MichaelMH> well, you see here http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_animations [09:46:01.0000] <MichaelMH> theres two examples and I just thought a break down of code which says whats going on would be helpful [09:48:00.0000] <MichaelMH> is it supposed to move only on refresh..? [09:49:00.0000] <Philip`> The setInterval('draw()',100); line makes it repeat the draw() function every 100ms, so it'll constantly redraw the image [09:53:00.0000] <Dashiva> /me points out the evil of 'draw()' [09:53:01.0000] <Philip`> /me points out the Edit button on the wiki ;-) [09:55:00.0000] <MichaelMH> um.. [09:55:01.0000] <MichaelMH> could somebody make like a really really simple example of like a rectangle being moving or something [10:00:00.0000] <Philip`> MichaelMH: Maybe something like <canvas id="c"></canvas><script>var t = 0; function draw() { var ctx = document.getElementById('c').getContext('2d'); t++; if (t > 100) t = 0; var x = t*2; ctx.clearRect(0, 0, 300, 150); ctx.fillRect(x,0,50,50) }; setInterval(draw, 50)</script> [10:00:01.0000] <Philip`> though it's probably better on multiple lines [10:00:02.0000] <Dashiva> /me points out "You have to login to edit pages." [10:01:00.0000] <Philip`> Dashiva: That's why I haven't bothered editing it myself :-) [10:01:01.0000] <Dashiva> : [10:01:02.0000] <Dashiva> ) [10:03:00.0000] <MichaelMH> aww brilliant phill. thank you so much [10:06:00.0000] <Philip`> <canvas id="c"></canvas><script>var t = 0; function draw() { var ctx=document.getElementById('c').getContext('2d'); t++; if (t > 100) t = 0; var x = t*2; ctx.save(); ctx.fillStyle = 'white'; ctx.globalAlpha = 0.2; ctx.fillRect(0, 0, 300, 150); ctx.restore(); ctx.fillRect(x, 0, 50, 50)} setInterval(draw, 50)</script> - motion blur [10:06:01.0000] <Philip`> ...and a bug in Opera because the white background turns (250,250,250) [10:07:00.0000] <MichaelMH> I'm a bit confused how you wrote the if statment [10:08:00.0000] <annevk> /me wonders how many issues will be resolved once Kestrel is out [10:08:01.0000] <MichaelMH> its got no curley bits [10:08:02.0000] <Dashiva> annevk: Having to be quiet about it is a drain :) [10:09:00.0000] <Philip`> MichaelMH: If you only have one statement in the block, then "if (c) s;" is equivalent to "if (c) { s; }" [10:10:00.0000] <Philip`> (but "if (c) s; t;" is equivalent to "if (c) { s; } t;") [10:10:01.0000] <MichaelMH> ah right. I was googling different ways of writing if statements but I couldnt find anything [10:11:00.0000] <MichaelMH> yeah I got that. [10:11:01.0000] <Philip`> It's probably better to keep the braces in so it's less confusing and less likely to go wrong, except when you're trying to write a web page inside the location bar and you want to save some characters [10:12:00.0000] <MichaelMH> but it takes too long. to write a whole extra character. not worth the effor [10:14:00.0000] <MichaelMH> so clear rectangle nukes the canvas? and ctx.fillRect(x,0,50,50) is the new rectangle and x is the new position? [10:15:00.0000] <Philip`> Yep, clearRect makes the area transparent [10:15:01.0000] <MichaelMH> thats wierd. cus if it is clear wouldnt It just mean nothing at all would happen [10:15:02.0000] <Philip`> and fillRect does the drawing like normal, but x is calculated from t, and t is incremented every time draw() is called [10:16:00.0000] <Dashiva> It's important to remember there are no objects on the canvas, just a lot of pixels [10:16:01.0000] <Philip`> clearRect deletes whatever is currently drawn in that area, instead of drawing a new transparent rectangle on top [10:17:00.0000] <Philip`> (You could do the latter via "ctx.fillStyle = 'transparent'; ctx.fillRect(...)", and it would do nothing at all) [10:17:01.0000] <Philip`> (...except I think Opera doesn't do 'transparent' either) [10:20:00.0000] <MichaelMH> Uh oh! Browser crashed. bad bad things happen if you forget to use clearRect [10:21:00.0000] <Philip`> Uh, that shouldn't happen [10:21:01.0000] <MichaelMH> why? [10:21:02.0000] <Philip`> Could you post an example that breaks? [10:21:03.0000] <Philip`> Browsers are never meant to crash [10:22:00.0000] <MichaelMH> yeah it just crashed again [10:22:01.0000] <MichaelMH> http://www.michaelmh.com/stuff/newbie/Mbad.html [10:22:02.0000] <annevk> Philip`, if you have a list of Opera bugs... [10:23:00.0000] <MichaelMH> it just keeps increasin the M without clearing the old one [10:24:00.0000] <MichaelMH> oh wait [10:24:01.0000] <MichaelMH> it still crashes. I must be doing something else wrong [10:25:00.0000] <MichaelMH> :S [10:25:01.0000] <Philip`> MichaelMH: Ah, it seems to just freeze Firefox rather than actually crashing [10:26:00.0000] <Philip`> The problem is that you're calling ctx.scale() in the first call to draw(), and then you're calling it again in the second draw() without having reset the context back to its original state [10:26:01.0000] <Philip`> so it's scaling larger and larger every frame, and so the drawn shape keeps getting larger and taking longer to draw [10:27:00.0000] <MichaelMH> ah ic [10:27:01.0000] <Philip`> You should call ctx.save() at the top of draw (just after getting ctx), and then ctx.restore() at the end of it, which will reset everything back to normal [10:27:02.0000] <MichaelMH> so I should set it back to ctx.scale(1,1);? [10:28:00.0000] <MichaelMH> oh ok [10:28:01.0000] <Philip`> scale() is always relative to the current scale, so scale(1,2);scale(1,2) will make it four times as large, and scale(1,1) will never do anything [10:30:00.0000] <Philip`> annevk: I've just got the list at http://canvex.lazyilluminati.com/tests/tests/results.html but they're not all legitimate bugs (since some depend on things the spec doesn't define yet) and I'm trying to add more bits, but then I'm intending to clean up the list and find the actual bugs to report [10:31:00.0000] <annevk> ok, cool [10:32:00.0000] <Philip`> (I don't know when I'll have time, but hopefully it'll be before any browser has another major release which entrenches more bugs :-) ) [10:32:01.0000] <annevk> your 2d.fillStyle.get.transparent seems to strict [10:33:00.0000] <MichaelMH> alright check out these crazy animation skills: http://www.michaelmh.com/stuff/newbie/M.html [10:33:01.0000] <annevk> rgba(0, 0, 0, 0) is not conforming where rgba(0, 0, 0, 0.0) is... [10:33:02.0000] <annevk> as long as the last argument is zero it should be ok i think [10:33:03.0000] <Philip`> annevk: I'm fairly certain the spec says it has to be 0.0 [10:33:04.0000] <annevk> that'd be a bug in the spec [10:34:00.0000] <Philip`> http://canvex.lazyilluminati.com/tests/tests/spec.html#testrefs.2d.colours.getcolour.transparent - "a U+0030 DIGIT ZERO, a U+002E FULL STOP (representing the decimal point), one or more digits in the range 0-9 (U+0030 to U+0039) representing the fractional part of the alpha value" [10:34:01.0000] <Philip`> (so I suppose I should accept 0.00 and 0.000 etc too, but that'd be silly) [10:35:00.0000] <annevk> I don't think accepting those too would be silly... [10:36:00.0000] <MichaelMH> you know what would be cool. if there was a program that you could create wysiwyg canvas stuff then export the code [10:36:01.0000] <Philip`> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-April/010939.html has some comments about how colours are returned [10:37:00.0000] <Philip`> (Opera, Firefox, Safari and the spec all disagree) [10:38:00.0000] <Philip`> so I don't think it would hurt at all to fix the spec, if there's a suggestion of what behaviour is best [10:38:01.0000] <annevk> returning an 4-value array makes sense to me [10:38:02.0000] <annevk> i'm pretty sure return values are parsed though [10:38:03.0000] <annevk> /me goes to ask someone [10:39:00.0000] <Philip`> I can't imagine why anyone would parse the return values - those values have to have come from the program in the first place, and then the program can do its own thing to easily access the original data instead of adding a dozen lines with regexps and stuff to parse the values [10:40:00.0000] <Philip`> (except for opera-2dgame's getPixel which you do want to parse, but I think that's not relevant here) [10:41:00.0000] <Philip`> ((or at least I want to parse getPixel, so I can use it in the tests, and I guess other people might want to too)) [10:42:00.0000] <MichaelMH> yo, you know the little bump in the corner of the M is that my fault or the browsers? [10:43:00.0000] <annevk> as far as our internal usage goes it would be fine to change it [10:43:01.0000] <annevk> people would much prefer a four-value array [10:44:00.0000] <Philip`> MichaelMH: Do you mean in the bottom left corner? [10:44:01.0000] <Philip`> Looks like it might just be too close to the edge, so it gets cut off a bit [10:46:00.0000] <MichaelMH> top left one [10:48:00.0000] <Philip`> Do you mean the tiny (less than one pixel) bit sticking out the flat top in the top left? [10:49:00.0000] <Philip`> I think that's be because you have a square lineCap, so a little bit of that square sticks out in that corner where you start/end the path [10:49:01.0000] <MichaelMH> ic. [10:49:02.0000] <MichaelMH> I'm not fussed by it. I was just wondering [10:50:00.0000] <MichaelMH> and how can something be less than a pixel [10:50:01.0000] <Philip`> Antialiasing :-) [10:50:02.0000] <MichaelMH> um ic [10:51:00.0000] <Philip`> It's never drawn as solid black - it just adds some grey to the nearest pixel [10:51:01.0000] <MichaelMH> does it? [10:51:02.0000] <Philip`> Look in Opera and zoom in, and you can see the pixels moving between different shades of grey [10:52:00.0000] <Philip`> (By the way, I think your gradient doesn't work properly in Opera - radial gradients are implemented (and specced) very inconsistently) [10:57:00.0000] <Philip`> (http://canvex.lazyilluminati.com/misc/radial/examples.html) [10:59:00.0000] <Philip`> (At least it works consistently if the start circle has radius 0 and the same centre as the end circle and you don't try to draw anything outside the end circle. Otherwise it's a bit dodgy.) [12:14:00.0000] <annevk> awesome [12:14:01.0000] <annevk> I finally implemented entities [12:14:02.0000] <Dashiva> crongratulation [12:15:00.0000] <jdandrea> huzzah [12:15:01.0000] <annevk> it even handles funny stuff like: '"test":"&test;x"' [12:15:02.0000] <annevk> the result of that is that 16 x characters [12:15:03.0000] <annevk> (as 16 is the recursion limit at the moment, I think it can be a little higher) [12:16:00.0000] <Lachy> annevk, implemented in html5lib? [12:16:01.0000] <annevk> in xml5lib [12:16:02.0000] <Lachy> cool [12:16:03.0000] <annevk> which needs to cope with XML entities which are a tad more complicated than HTML entities [12:17:00.0000] <Hixie> thought you were dropping doctypes? [12:17:01.0000] <annevk> in the end implementing it took like 10 minutes, but I've been thinking about it for a long time [12:17:02.0000] <annevk> Hixie, for conformance I think; I'm not sure if we can drop them completely [12:17:03.0000] <Lachy> /me made some test cases http://lachy.id.au/dev/markup/tests/html5/autofocus/ [12:18:00.0000] <Lachy> /me found bug in Opera :-) [12:18:01.0000] <annevk> Hixie, just dropping them would be cool as it would safe us over 42 states in the tokenizer phase :) [12:18:02.0000] <annevk> (and those states even drop some of the things that are no longer relevant such as external references etc.) [12:19:00.0000] <Hixie> ah, you want XML5 to still be used even with content that uses doctypes? [12:19:01.0000] <Hixie> interesting [12:19:02.0000] <Hixie> i guess i don't really know what problem you're trying to solve [12:19:03.0000] <Lachy> there's a lot of XML on the web that uses internal subsets, so it's kind of requred [12:20:00.0000] <Hixie> but is that xml for which we want fallback behaviour? [12:20:01.0000] <annevk> Hixie, I would like to remove namespace well-formedness, but not require yet another parser [12:20:02.0000] <Hixie> for many uses, the draconian handling of xml is mostly the whole point [12:20:03.0000] <Hixie> (e.g. for anything involving financial transactions) [12:20:04.0000] <Hixie> "remove namespace well-formedness"? [12:20:05.0000] <Lachy> for RSS, draconian is bad [12:21:00.0000] <Hixie> xml 1.0 doesn't have namespace well-formedness [12:21:01.0000] <Hixie> and rss doesn't use doctypes and internal subsets [12:21:02.0000] <annevk> Hixie, for financial transations you want to do content validation [12:21:03.0000] <annevk> Hixie, well-formedness doesn't really matter [12:21:04.0000] <annevk> (given you have a deterministic parser) [12:22:00.0000] <Hixie> depends what you're trying to do [12:22:01.0000] <annevk> XML 1.0 doesn't have namespace well-formedness? [12:22:02.0000] <annevk> /me ponders [12:22:03.0000] <Hixie> xml 1.0 doesn't have namespaces. [12:22:04.0000] <Hixie> nor does xml 1.1 for that matter. [12:22:05.0000] <Lachy> I'm not so sure if liberal parsing would be good for real XHTML. The people who like using it, generally like it for the draconian error handling [12:22:06.0000] <annevk> oh, this would be a superset for XML 1.0, 1.1, Namespaces for XML 1.0, 1.1 and RFC3023 [12:23:00.0000] <annevk> and at the moment it's mostly a research project to see how much effort it takes [12:23:01.0000] <Hixie> Lachy: yeah, for xhtml the draconian error handling is half the point [12:23:02.0000] <annevk> so far, not much [12:23:03.0000] <Hixie> annevk: ah [12:23:04.0000] <annevk> XHTML is mostly about integrating with other XML dialects in my mind [12:23:05.0000] <annevk> /me doesn't really give much about the fussy parsing rules [12:24:00.0000] <Lachy> liberal parsing would be useful for CMSs that accept XHTML markup from users, so that it could clean it up on the back end before it gets sent to the end user [12:25:00.0000] <Philip`> Is someone going to fix JSON too? I assume most implementations have draconian parsing, but the RFC allows parsers to handle non-conforming input in whatever way they fancy [12:25:01.0000] <Lachy> ... and without subjecting users to complicated error messages [12:25:02.0000] <Lachy> RFC for JSON? [12:25:03.0000] <Philip`> Lachy: Shouldn't they use HTML for that? [12:25:04.0000] <annevk> there's an RFC, yes [12:26:00.0000] <Philip`> http://www.ietf.org/rfc/rfc4627.txt [12:26:01.0000] <Hixie> JSON is another example of where i don't see the value of error handling [12:26:02.0000] <Hixie> but anyway [12:26:03.0000] <Hixie> /me goes for lunch [12:26:04.0000] <Lachy> Philip`, it depends on their needs. I want a CMS that uses XML on the back end, and can serialise to HTML on the front [12:30:00.0000] <Philip`> (By the way, it's fun how the standard JS JSON parser lets malicious JSON data modify some variables when you parse it, e.g. with {a:a++} ) [12:31:00.0000] <Philip`> Lachy: Couldn't it accept HTML from users, then parse it and serialise as XML to store and process in the back end, then serialise to HTML again later? [12:31:01.0000] <Lachy> it could, but it depends on what the users want [12:32:00.0000] <Philip`> Oh, okay - I suppose if users want liberal XHTML parsing, then support for liberal XHTML parsing would be useful [12:33:00.0000] <Lachy> the problem with using html like that, is that things like this: <p>the is <b>bold<b> but this shouldn't be</p><p>this paragraph will be bold too</p> [12:33:01.0000] <Lachy> if that were to be parsed as HTML, it would be reserialised with many more <b> elements in all subsequent blocks of text, just becuase the user typed <b> instead of </b> [12:34:00.0000] <Philip`> Ah, that makes sense [12:35:00.0000] <MichaelMH> yo.. is canvas competeing with svg? [12:35:01.0000] <Lachy> no [12:36:00.0000] <Lachy> I'm sure there's some articles somewhere that explain what each are good for [12:36:01.0000] <Philip`> Only in a small number of cases [12:36:02.0000] <Philip`> (e.g. PlotKit uses both) [12:37:00.0000] <MichaelMH> Is there any point in knowing how to use both? [12:37:01.0000] <MichaelMH> oh ic [12:37:02.0000] <Philip`> (which isn't really competition but is a situation where they overlap) [12:37:03.0000] <Lachy> in some ways, SVG is better for graphs at the moment, becuase it can include text, whereas canvas needs to have HTML positioned over the top [12:38:00.0000] <Philip`> It's kind of like PNG vs JPEG - depending on what you want, one or the other or both could be useful [12:38:01.0000] <Lachy> there are even some cases where GIF is better than PNG (though, rarely) [12:38:02.0000] <MichaelMH> for what? file size? [12:39:00.0000] <MichaelMH> will text ever be supported in canvas? [12:39:01.0000] <Lachy> yeah, spacer.gif turns out to be much smaller than the equivalent spacer.png :-) [12:39:02.0000] <Lachy> MichaelMH, maybe [12:39:03.0000] <Philip`> It seems quite a few people want text [12:39:04.0000] <MichaelMH> if text was added would it be selectable? [12:39:05.0000] <Lachy> there have even been people hack support for text into it using what they have available, so there seems tob e some use cases [12:40:00.0000] <Lachy> probably not [12:40:01.0000] <Lachy> it would be like txt in a PNG [12:40:02.0000] <MichaelMH> ah ic. [12:41:00.0000] <Philip`> /me hacked in support for text by writing that part of his page with SVG instead [12:41:01.0000] <MichaelMH> whats your site phill? [12:41:02.0000] <Philip`> (Actually, I don't think I would have used canvas text anyway because I wanted control over the font) [12:42:00.0000] <Philip`> (unless canvas text let you download a font to use...) [12:42:01.0000] <Philip`> MichaelMH: http://canvex.lazyilluminati.com/ [12:42:02.0000] <MichaelMH> maybe it would be better just to posistion text over the canvas for things like graphs [12:44:00.0000] <MichaelMH> that game looks like it took quite a wee while [12:45:00.0000] <MichaelMH> is that proper 3D? or that "2.5D" stuff? [12:46:00.0000] <Philip`> http://forums.whatwg.org/viewtopic.php?p=138#138 has a suggestion of a forthcoming proposal for drawString, though I'm not sure how much trust should be put into Vlad's schedule estimates given the 3d canvas delays :-) [12:46:01.0000] <Philip`> It's 2.5D, like Duke Nukem 3D and slightly like Doom [12:47:00.0000] <Philip`> (because true 3D is impossibly slow) [12:48:00.0000] <Philip`> (at least without a true 3D canvas :-) ) [12:50:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/photos.html - true 3D, but it won't work unless you compile the web browser yourself [12:50:01.0000] <MichaelMH> is there gonna be a 3d canvas. I remember when reading the tutorial that theres only a 2d part now but 3d may come [12:51:00.0000] <Philip`> There's some experimental work by Mozilla and Opera, both (I believe) based on the OpenGL ES API, so hopefully that'll be worked on and standardised at some point in the future [12:52:00.0000] <hasather> MichaelMH: see http://my.opera.com/WebApplications/blog/show.dml/261474 [12:52:01.0000] <MichaelMH> that would be pretty damn cool. Cant see what it would be used for other than games tho [12:52:02.0000] <Philip`> (http://lxr.mozilla.org/mozilla/source/extensions/canvas3d/public/nsICanvasRenderingContextGLES11.idl is the kind of interface it provides) [12:54:00.0000] <MichaelMH> that looks so damn cool [12:54:01.0000] <Philip`> http://canvex.lazyilluminati.com/misc/giraffes.png - that (showing a stream of Flickr photos on a rotating plain) is arguably totally pointless, but at least it's not a game and it benefits from being inside a web browser [12:54:02.0000] <Philip`> *plane [12:55:00.0000] <Philip`> (since the browser provides web access and image downloads, and a user interface) [12:56:00.0000] <Philip`> (and I really wouldn't want to try writing that as a standalone C++ application) [12:56:01.0000] <jgraham> Philip`: So why does your markup analyser thing use .toxml() anyway? [12:57:00.0000] <Philip`> jgraham: So I can parse with html5lib once, save as XML, and then repeatedly re-parse the XML to do analysis stuff without it taking as long to parse each time [12:58:00.0000] <MichaelMH> you can have a music store site with a rip off of that album flick through thing in itunes too [12:58:01.0000] <jgraham> Philip`: could you satisfy that use case by using Pickles? [13:00:00.0000] <jgraham> /me is wondering if some setup involving python, html5lib and XPath would work [13:00:01.0000] <Philip`> jgraham: It sounds like that could work; but also I'm currently 4Suite's XPath to do the analysis, for no exceptionally good reason, and serialising/parsing through XML seems the easiest way to load the tree into 4Suite [13:00:02.0000] <Philip`> (ElementTree's XPath support is far too limited to be of much use) [13:01:00.0000] <MichaelMH> this could be potentially bad.. I don't wanna go to a website in the future for it to say "Sorry this website is for people with the latest graphics cards only, people go buy one here for £££" [13:01:01.0000] <jgraham> Yeah, I've just started looking at XPath modules for python. Maybe I'll see how easy it is to produce 4suite trees from html5lib [13:02:00.0000] <Philip`> http://www.oreillynet.com/onlamp/blog/2005/01/code_respecting_xpath_xml_pyth.html points out some of the modules [13:02:01.0000] <jgraham> Does http://cheeseshop.python.org/pypi/PDIS-XPath/0.3 sound like it would cover enough XPath to meet your needs? [13:02:02.0000] <Philip`> "pure-Python" makes me worry a little bit about performance :-( [13:03:00.0000] <jgraham> Presumably most of the perf issues will come from the speed of the underlying tree [13:03:01.0000] <zcorpan> someone should figure out how headers="" is implemented in commonly used screen readers [13:04:00.0000] <Philip`> Also it sounds like it doesn't support e.g. following-sibling, which I had been using to look for //*[p/following-sibling::table] [13:04:01.0000] <jgraham> OK that's a good enough reason to look at html5lib->4suite [13:05:00.0000] <Philip`> (given that page says it's limited to self/attribute/child axes, and apparently following-sibling is an axis, whatever that means) [13:05:01.0000] <jgraham> /me finds XPath surprisingly complex [13:06:00.0000] <Philip`> It sounds like libxml2 does XPath but the Python API is rubbish, in which case it wouldn't be great [13:07:00.0000] <Philip`> ...but on that oreillynet page, someone points out lxml.etree which might be nice [13:09:00.0000] <Philip`> (I don't really know anything, I've just been messing around with whatever has short enough examples that I can copy and paste :-p ) [13:10:00.0000] <rubys> q: (for Hixie or whomever) why is input/@size deprecated? [13:11:00.0000] <Hixie> same reason <table width> is obsolete [13:14:00.0000] <rubys> Is that reason documented somewhere? [13:15:00.0000] <rubys> After a quick scan, I don't see table width mentioned at all. [13:18:00.0000] <zcorpan> Hixie: as i said earlier in here, i think <input size> is a pragmatic way or saying what the expected input length is, without putting a restriction on the input length [13:20:00.0000] <zcorpan> Hixie: so i don't think <input size> should be deprecated/removed/discouraged [13:20:01.0000] <Lachy> I wouldn't mind size being included, it's sometimes easier to use than giving each control an id or class just to set it's size in the CSS [13:20:02.0000] <rubys> alternative to id or class would be a style attribute [13:21:00.0000] <jgraham> I don't mind deprecating size as long as we get the style attribute [13:21:01.0000] <zcorpan> Lachy: i don't see it being purely presentational, i see it as a hint of the expected input length [13:21:02.0000] <Hixie> rubys: no, i don't think the reasons are documented anywhere (other than the mailing list) -- if someone wants to write a design rationale page or set of pages on the wiki, i'd be more than happy to help them [13:21:03.0000] <Lachy> zcorpan, yeah [13:21:04.0000] <jgraham> zcorpan: What type of UA would make use of that feature? [13:22:00.0000] <rubys> i would prefer to keep both size and style. To me the primary benefit of WHATWG is accepting and documenting the web as it exists rather than trying to change it. [13:22:01.0000] <Lachy> jgraham, the information would be conveyed visually to the end user by the length or the control [13:22:02.0000] <zcorpan> jgraham: visual interactive comes to mind, but speech UAs might say "expected input length: 4 characters" or something [13:22:03.0000] <Philip`> jgraham: Links and Lynx use it [13:22:04.0000] <Hixie> rubys: certainly so far there has been a lot of emphasis on making the language better at the same time, and anything that reduces media-dependent coding is imho a good thing [13:23:00.0000] <Hixie> size="" and style="" are both very media-specific [13:23:01.0000] <Hixie> an <input> element might want one size on a phone and another on the desktop, and media-specific css is where that distinction should be [13:23:02.0000] <Hixie> the markup itself, imho, shouldn't try to dictate the presentation [13:23:03.0000] <Lachy> size is the textbox equivalent to rows/cols in textarea. [13:24:00.0000] <jgraham> Philip`: Fair enough. zcorpan: In a visual graphical UA that supports CSS it has no big advantage over style and the disadvantage that the units aren't specified [13:24:01.0000] <zcorpan> Hixie: you don't think size="" can be considered a hint of the expected input length? [13:24:02.0000] <jgraham> Do speech browsers use it? [13:24:03.0000] <zcorpan> jgraham: i don't follow about the units part [13:25:00.0000] <zcorpan> jgraham: don't know if they use it, but they could use it [13:25:01.0000] <jgraham> What are the units of size? [13:25:02.0000] <zcorpan> characters [13:25:03.0000] <jgraham> How wide is a character? [13:25:04.0000] <Philip`> That's a reason to specify it, rather than to remove it [13:26:00.0000] <jgraham> Well I agree it should be specified but CSS gives you multiple choices for units [13:26:01.0000] <zcorpan> jgraham: dunno, a graphical UA would probably make it wide enough so that one character fits nicely [13:26:02.0000] <zcorpan> jgraham: or reverse engineer what IE does [13:26:03.0000] <rubys> zcorpan: good point. [13:26:04.0000] <jgraham> So one character == The width of a textbox with <input size="1"> in IE ;) [13:26:05.0000] <zcorpan> jgraham: if you want a width for presentational purposes then sure use css, i'm talking about useful hints to the user [13:27:00.0000] <zcorpan> jgraham: for the purposes of determinating how wide <input>s with a size attribute should be in graphical UAs, yes [13:27:01.0000] <jgraham> zcorpan: I'm not sure I come across that many textboxes where I want a hint of the expected length but the input doesn't fit some fixed pattern [13:28:00.0000] <jgraham> Also, the graphical size has to be well defined for rendering interop [13:28:01.0000] <jgraham> Er... you just said that. Ignore me :) [13:29:00.0000] <zcorpan> jgraham: here's one example: http://ln.hixie.ch/ [13:29:01.0000] <rubys> /me notes that input/@size is present on both google.com and ln.hixie.ch [13:31:00.0000] <zcorpan> rubys: google.com should probably use type="search" instead ;) and css [13:34:00.0000] <Hixie> zcorpan: i don't see the use case for a hint of the expected input length. what's the problem we're trying to solve? [13:34:01.0000] <Hixie> Lachy: cols actually matters, since it sets the wrap width for submission wrapping [13:35:00.0000] <rubys> In my opinion, the only way to make the web "better" is to get browser vendors to agree to no longer implement a feature, simply documenting it as deprecated or getting a conformance checker to flag it will have little benefit. [13:36:00.0000] <rubys> Not documenting the behavior will leave the status quo: vendors will reverse engineer each others behavior. [13:36:01.0000] <Hixie> /me better get cracking on putting <frameset>, <font>, <wbr>, and friends, back into html5 then [13:36:02.0000] <Hixie> documenting != part of the language [13:36:03.0000] <Hixie> e.g. the behaviour for <i><b></i></b> is now documented, but it's still non-compliant. [13:36:04.0000] <Lachy> has <font> been removed? [13:37:00.0000] <Lachy> ah, not yet [13:37:01.0000] <Hixie> Lachy: right now it's only allowed for wysiwyg editors. but that's not a stable equilibrium [13:37:02.0000] <Hixie> i'm thinking we should drop it and put style="" everywhere, i just want to find a way to do that that doesn't make pages full of <div>s with style="" conformant. [13:37:03.0000] <rubys> documented but non-compliant is a very VERY subtle distinction, and won't likely have much of an affect on the web. [13:38:00.0000] <Lachy> rubys, by that argument, we should just make everything conformant [13:38:01.0000] <jgraham> rubys: Depends on how you document it... <plaintext> is documented but non-compliant and most people don't know it even exists [13:38:02.0000] <Lachy> that would do more harm than good [13:39:00.0000] <Philip`> Even if something isn't documented in the spec, it will be documented in tutorials and examples and existing content that people copy from, so undocumenting may not have much effect on the web either [13:39:01.0000] <Lachy> at least documenting in the spec will improve interop [13:40:00.0000] <rubys> I would be in favor of marking as non-conformant things that actively are known to cause problems. <plaintext> *MIGHT* be in that category, as would nested <b> elements (the one case where <i><b></i></b>actually causes unexpected results). [13:41:00.0000] <rubys> but declaring things as non-conformant that are widely interoperable and widely used merely causes people to get annoyed and will inhibit adoption. [13:41:01.0000] <zcorpan> Hixie: the use-case is that the user can easier fill in a form if he knows approximately how much each text field expects [13:42:00.0000] <Lachy> zcorpan, that use case is already solved with CSS [13:42:01.0000] <Hixie> rubys: HTML4 already made <font> and <frameset> non-compliant ("deprecated" as they called it) while documenting it -- for authors, even, not implementors [13:42:02.0000] <Hixie> rubys: how is this different? [13:42:03.0000] <Philip`> I believe the plan is for everything to be handled the same way by new browsers (by specifying and testing and fixing), in which case nothing would be left that causes problems, and then nothing would be non-conformant [13:42:04.0000] <zcorpan> Lachy: but size="" could well be exposed in aural UAs too [13:43:00.0000] <rubys> XHTML2 went further and marked a number of elements as non-conformant, but do we (really* want to continue down that path? [13:43:01.0000] <Lachy> rubys, look at the recent argument on public-html about <b> and <i>. Can you imagine what would happen if we allowed even more presentational stuff? [13:43:02.0000] <Lachy> zcorpan, I'd be tempted to believe that if that's what they do already [13:43:03.0000] <rubys> Lachy: it is *exactly* that discussion which spawned this question. [13:43:04.0000] <Lachy> but, otherwise, it's just a hypothetical use case [13:43:05.0000] <zcorpan> Lachy: true [13:44:00.0000] <rubys> "Let's pick and chose where we want to be picky and choosy" isn't a defensible strategy. [13:44:01.0000] <Lachy> rubys, why would a discussion with people abusing us for making HTML5 a presentational language, give you the idea for adding more presentational stuff? [13:45:00.0000] <Lachy> I don't think we're being picky and choosy just where we want to be. We're including features that have actual use cases [13:45:01.0000] <Lachy> (though, I'm not totally convinced by the use case for <small>) [13:46:00.0000] <rubys> Either they are right (in which case, lets get rid of <b> and <i>) or they are wrong (in which case, let's keep input/size), but abusing the people who are asking this question (it goes both ways, after all) merely because they came up with a different balance than HTML5 isn't right either. [13:46:01.0000] <Hixie> there's a mindset problem here [13:46:02.0000] <Hixie> the whatwg isn't starting from html4 and deciding what should stay and what shouldn't [13:46:03.0000] <rubys> If it is in use on google.com's front page, no amount of specs or conformance checkers will convince browser vendors otherwise. [13:47:00.0000] <Hixie> from the start we've had a blank slate, and we're designing the language based on use cases and requirements [13:47:01.0000] <Hixie> "it's in html4" is not an argument [13:47:02.0000] <Hixie> rubys: the use of size="" on google.com's home page is far from the greatest standards compliance problem on a google site. [13:47:03.0000] <rubys> use case: a browser vendor would like to display the page found at http://google.com/. [13:47:04.0000] <Lachy> google uses a lot of old-style coding, just like a lot of other sites. I don't see how their use of size is particularly relevant [13:48:00.0000] <jgraham> I believe <i> and <b> have convincing use cases. [13:48:01.0000] <Hixie> that's a use case for specifying its behaviour, which we will do [13:48:02.0000] <Hixie> jgraham: and they're in the spec [13:48:03.0000] <jgraham> I think @size has a semi-convincing use case [13:48:04.0000] <Hixie> semi-convincing isn't good enough [13:48:05.0000] <jgraham> Hixie: I know. [13:48:06.0000] <Hixie> :-) [13:48:07.0000] <jgraham> Hixie: That's basically my point [13:48:08.0000] <othermaciej> size attribute on what? [13:49:00.0000] <Lachy> <input size=""> [13:49:01.0000] <jgraham> If @size is to be included it should have a convincing use case. If there are lots of forms where people need a hint on the length of an input that's a convincing use case [13:49:02.0000] <jgraham> (to me) [13:49:03.0000] <jgraham> But I don't think that is the case [14:06:00.0000] <jgraham> Gah. lxml.etree doesn't seem to quite work as a drop-in ElementTree replacement :( [14:21:00.0000] <graouts> hi [14:21:01.0000] <graouts> anyone out here knows what event is fired while the knob of an <input type="range"> is being dragged around? [14:25:00.0000] <Hixie> graouts: input, in theory [14:26:00.0000] <graouts> right, thanks [15:27:00.0000] <Philip`> http://erik.eae.net/archives/2007/05/04/18.42.16/ - ooh, a new ExCanvas [15:37:00.0000] <Hixie> this is a funny comment [15:37:01.0000] <Hixie> http://news.com.com/5208-1045_3-0.html?forumID=1&threadID=24527&messageID=232071&start=0 [15:38:00.0000] <jgraham_> My cluelessness meter just exploded ;) [15:41:00.0000] <jgraham_> /me wonders how to fake doctypes and document elements in lxml [16:27:00.0000] <jgraham_> Philip`: So I have lxml working with html5lib. It's not pretty but it works [16:33:00.0000] <zcorpan> jgraham_: what is lxml? [16:34:00.0000] <jgraham_> lxml == python bindings for libxml2 [16:34:01.0000] <zcorpan> ah [16:34:02.0000] <jgraham_> It has a full(?) XPath implementation, which is nice [16:35:00.0000] <zcorpan> ok [16:38:00.0000] <Hixie> yay interoperability [16:38:01.0000] <Hixie> http://www.hixie.ch/tests/adhoc/html/canvas/021.html [16:41:00.0000] <Philip`> Looks like Firefox (2+3) and Opera (9.20) and Safari (2.0.4) all match on the left one, which surely counts as interoperability and just means the spec is wrong :-) [16:42:00.0000] <Hixie> i get one behaviour for opera and safari2, one for firefox 2 and 3, and one for safari trunk [16:44:00.0000] <zcorpan> so... which features in html5 can be considered ok for authors to use today? <canvas> is an obvious one, and various things in WF2 (in both cases possibly using a scripted fallback for ie)... perhaps getElementsByClassName with a prototype fallback for legacy UAs... anything other than that? [16:45:00.0000] <Hixie> depends what your criteria is [16:45:01.0000] <zcorpan> i will explain which features in html5 can be used today in the real world in my presentation the 23rd [16:45:02.0000] <zcorpan> and how [16:47:00.0000] <Hixie> well, things like contenteditable, designmode, drag and drop, are implemented in IE already [16:48:00.0000] <zcorpan> ah. yep. [16:48:01.0000] <zcorpan> /me makes notes [16:48:02.0000] <othermaciej> some of the elements have no API and their likely default presentation could be done solely with a stylesheet [16:48:03.0000] <Hixie> depends what you mean by usable, really [16:48:04.0000] <othermaciej> so you could use those depending on your standards [16:49:00.0000] <Hixie> more interop fun with canvas patterns: http://www.hixie.ch/tests/adhoc/html/canvas/023.html [16:49:01.0000] <zcorpan> usable as in using a new feature + whatever fallback is needed to make it degrade ok or have the same functionality in legacy UAs is simpler than current practices for solving the same problem [16:50:00.0000] <Hixie> ok, depends what you mean by "new" :-) [16:50:01.0000] <zcorpan> new as in isn't widely used by authors [16:51:00.0000] <zcorpan> e.g. i wouldn't be talking about XHR or contenteditable [16:51:01.0000] <zcorpan> but i would be talking about <canvas> [16:51:02.0000] <Hixie> ah [16:52:00.0000] <zcorpan> at first i was thinking about talking about everything that is listed in http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers [16:53:00.0000] <zcorpan> but then i realised that e.g. ping="" is pretty useless since ping="" + fallback is more complicated than the current practice of HTTP redirect or just JS [16:54:00.0000] <zcorpan> and firefox doesn't have a nice UI for it yet (i think) [16:54:01.0000] <Hixie> ping="" will only become useful once widely supported, if you actually need the data you'd get from it, yes [16:54:02.0000] <othermaciej> ping would only be useful today if you were ok with no ping as the fallback [16:54:03.0000] <Hixie> right [16:55:00.0000] <zcorpan> exactly [16:55:01.0000] <zcorpan> so that's something i won't be talking about [16:57:00.0000] <zcorpan> not sure if i should explain how the repetition model works since there were discussions about redesigning it from scratch [16:57:01.0000] <Hixie> it's been redesigned. the design sits on my whiteboard as we speak. :-) [16:57:02.0000] <zcorpan> cool :) [16:57:03.0000] <Dashiva> Is it better than before? ;) [16:58:00.0000] <Hixie> yeah [16:58:01.0000] <Hixie> it's close to xul templates actually [16:58:02.0000] <Hixie> if you know those [16:58:03.0000] <Hixie> except without the rdf [16:58:04.0000] <Hixie> and with much less markup [16:58:05.0000] <Hixie> doesn't have good fallback compared to the wf2 repetition model though [16:59:00.0000] <Hixie> though i guess the wf2 repetition model fallback was somewhat academic given that it didn't work in IE [16:59:01.0000] <Dashiva> Yeah, for the more complex features it can be better to start fresh 2007-05-09 [17:16:00.0000] <Philip`> Hmm, Konqueror 3.8 renders 021 and 022 correctly but then crashes when loading 023 [18:40:00.0000] <bzed> hmm, firefox and konquerer just do nothign on 023 here, but they don't crash [18:40:01.0000] <bzed> and 021 doesn't work in FF [18:40:02.0000] <bzed> if anybody is interested... [18:41:00.0000] <bzed> konqueror 3.5.5 [18:54:00.0000] <Philip`> 3.5.5 doesn't have any canvas support at all [18:54:01.0000] <Philip`> (It's new in 3.8, which is the pre-alpha KDE4 version) [19:12:00.0000] <jruderman> http://www.i-marco.nl/weblog/archive/2006/06/24/time_breakdown_of_modern_web_d [04:19:00.0000] <zcorpan> /me created http://wiki.whatwg.org/wiki/Test_cases [04:21:00.0000] <othermaciej> /me considers nominating all the people named on that page to be HTML WG Test Suite Editors [04:22:00.0000] <zcorpan> there might be others that i don't know about or have forgotten about [04:24:00.0000] <zcorpan> hixie should have some tests now that i think of it [04:24:01.0000] <zcorpan> and the html5lib project has a test suite [04:25:00.0000] <annevk> hixie has quite some tests [04:27:00.0000] <annevk> can someone explain to me wtf the <label> discussion is about? [04:27:01.0000] <annevk> /me hasn't followed it [04:28:00.0000] <othermaciej> /me neither [04:28:01.0000] <zcorpan> it started with a misunderstanding i think [04:28:02.0000] <zcorpan> the rest i don't know [04:29:00.0000] <annevk> ok, yeah, I got the bit about someone thinking that <textarea> was not allowed inside or something... [04:29:01.0000] <zcorpan> where are hixie's tests? [04:29:02.0000] <zcorpan> http://www.hixie.ch/tests/adhoc/html/ ? [04:31:00.0000] <othermaciej> I like the fix to <label> click behavior in WF2, but it's unclear what should happen if the label is associated with something that does not correspond to a native OS control [04:32:00.0000] <annevk> if for= points to something that's not a form control the label doesn't have an associated element [04:32:01.0000] <othermaciej> ah [04:32:02.0000] <annevk> zcorpan, yeah [04:32:03.0000] <othermaciej> on Mac OS X in normal system UI, labels only do anything on checkboxes and radio buttons [04:32:04.0000] <othermaciej> and what they do is toggle it, not focus [04:33:00.0000] <othermaciej> is there any OS where clicking on the label next to a control focuses it in native UI? [04:34:00.0000] <annevk> dunno [04:34:01.0000] <zcorpan> on windows it seems like it's the label that has focus [04:35:00.0000] <othermaciej> you do want access-keys defined on the label to focus or activate the control I guess [04:36:00.0000] <annevk> i'd think so [04:36:01.0000] <othermaciej> except that accesskey is so tragically useless [04:37:00.0000] <annevk> ah, the complaint is indeed about activating [04:37:01.0000] <annevk> that clicking a label should always focus a textarea where other people say it should happen only when the OS defines it [04:37:02.0000] <annevk> makes sense to follow platform behavior [04:37:03.0000] <zcorpan> yup [04:38:00.0000] <annevk> otoh, some devices don't have a concept of a platform... [04:38:01.0000] <annevk> Nintendo Wii for instance [04:38:02.0000] <zcorpan> this isn't something that has to be interoperable [04:38:03.0000] <zcorpan> you do what makes sense for the UA or device [04:39:00.0000] <zcorpan> imho [04:39:01.0000] <annevk> sure [04:39:02.0000] <annevk> it's just annoying if you're cross platform :) [04:39:03.0000] <othermaciej> only if the platforms you target differ on this [04:40:00.0000] <othermaciej> I can't think of any platform where clicking a text field label in a native dialog focuses the text field [04:40:01.0000] <annevk> ok [04:40:02.0000] <annevk> (this is annoying with key events for instance) [04:50:00.0000] <hsivonen> thesis printed and bound \o/ [04:53:00.0000] <othermaciej> hsivonen: well done [04:58:00.0000] <annevk> will you bring it to XTech? :) [05:00:00.0000] <hsivonen> annevk: I wasn't planning to. should I? [05:00:01.0000] <annevk> not sure, but it might be nice to see it [05:01:00.0000] <annevk> howcome would certainly be pleased if he hears it's done using PrinceXML :) [05:04:00.0000] <hsivonen> annevk: I guess I could bring it. howcome already knows that it is set using Prince [05:04:01.0000] <hays> is that a ph.d thesis perchance? [05:04:02.0000] <hsivonen> hays: master's [05:27:00.0000] <Philip`> Non-blocking partial drawImage could be interesting if it worked with progressive JPEGs/PNGs... No idea if that's technically feasible, though [05:30:00.0000] <Philip`> /me also wonders what happens when you try drawing an animated GIF/PNG [05:30:01.0000] <annevk> hmm [05:30:02.0000] <annevk> feel free to follow-up [05:30:03.0000] <annevk> animated SVG would be another :) [05:39:00.0000] <Philip`> Ah, excellent, non-interoperability - Firefox draws whatever frame of animation is shown at the current point in time, and Opera refuses to draw animated images at all [05:40:00.0000] <annevk> I would not have expected anything else [05:40:01.0000] <Philip`> /me adds it to his list of things to test properly [05:41:00.0000] <annevk> /me wonders when an image starts animating [05:41:01.0000] <annevk> the moment .complete switches to true, the moment you have partial data or the moment it's inserted into the DOM, etc. [05:41:02.0000] <annevk> does that differ per image format? say SVG... [05:43:00.0000] <annevk> /me ponders [05:44:00.0000] <annevk> the amount of choices you need to make when implementing something (and think of when writing a spec)... [06:14:00.0000] <MichaelMH> why is the w3c website so ugly? [06:17:00.0000] <Philip`> Possibly because it was designed in 2002 and hasn't changed much since then [06:17:01.0000] <Philip`> (http://www.w3.org/2002/11/homepage) [06:21:00.0000] <MichaelMH> yeah but who picked mongy brown? [06:21:01.0000] <MichaelMH> and they shove so much information on the one page.. it just looks messy [06:22:00.0000] <mpt> The Web was ever thus [06:50:00.0000] <Philip`> jgraham_: About lxml: sounds good! I'll be interested in playing with that once I have some more time [06:54:00.0000] <met_> /me is looking for help with Ian Hixie article for czech wikipedia 8-) [06:54:01.0000] <met_> /me hopes Hixie is sleeping now 8-) [06:55:00.0000] <met_> what should write in the basic sentence "Ian Hickson is...." [06:55:01.0000] <met_> expert for web technogies ? [06:56:00.0000] <met_> ...is programmer/developper is probably not correct (not his main interest) [06:57:00.0000] <Philip`> Does it have to be non-libellous? [06:57:01.0000] <met_> any suggestions, anyone who now Hixie i little bit? [06:57:02.0000] <met_> of course 8-) [06:58:00.0000] <Philip`> Oh, I can't think of anything then :-( [06:58:01.0000] <met_> something short like this http://en.wikipedia.org/wiki/Dave_Hyatt [06:58:02.0000] <met_> basic info [06:58:03.0000] <met_> dunnot what write in the 1st sencence as his main characteristic [07:03:00.0000] <jdandrea> anne: Would you prefer the "Changes from HTML4" page redirect to a new "Differences from HTML4" page? (Only two pages on the Wiki are affected - http://wiki.whatwg.org/wiki/Special:Whatlinkshere/Changes_from_HTML4 ) [07:03:01.0000] <jdandrea> /me is happy to adjust it if it helps clarify things for visitors [07:04:00.0000] <jdandrea> s/anne/annevk [07:07:00.0000] <karlUshi> met_: http://ian.hixie.ch/ hixie by himself [07:08:00.0000] <met_> karlUshi now this page [07:09:00.0000] <met_> ok, we wrote "expert for web technoligies" (in Czech) [07:10:00.0000] <karlUshi> http://www.google.com/search?num=20&hl=en&safe=off&q=%22ian+hickson+is+%22&btnG=Search [07:12:00.0000] <met_> ok we have it, and some photo under creative common licence (this licence is requirement for wikipedia)? 8-) [07:13:00.0000] <met_> http://cs.wikipedia.org/wiki/Daniel_Glazman looks better than http://en.wikipedia.org/wiki/Daniel_Glazman [07:18:00.0000] <met_> ok Pavel Cvrcek just saved http://cs.wikipedia.org/wiki/Ian_Hickson [07:21:00.0000] <met_> http://www.flickr.com/photos/cindyli/265665723/ 8-) [07:21:01.0000] <met_> ok http://flickr.com/photos/distobj/15915885/ [07:29:00.0000] <annevk> jdandrea, I suppose that could work [07:30:00.0000] <jdandrea> annevk: Can do ... [07:30:01.0000] <annevk> sure [07:30:02.0000] <jdandrea> s/Can/Will [07:30:03.0000] <annevk> k [07:30:04.0000] <Dashiva> "using <SPAN> and in-line styles is a significant improvement on using the <FONT> tag. <SPAN> is a well established neutral container, whereas <FONT> is purely presentational." [07:30:05.0000] <Dashiva> They just keep going and going and going... [07:31:00.0000] <karlUshi> /me wonders if met_ is populating wikipedia with people's name and bios? [07:31:01.0000] <met_> not me but my friend yes [07:31:02.0000] <karlUshi> eeek [07:31:03.0000] <met_> and not people but people around web, browsers etc. [07:32:00.0000] <met_> /me only find he forgot Hixie [07:32:01.0000] <met_> is still does not exist in en wiki [07:32:02.0000] <karlUshi> met_: does he want to exit on wikipedia should have been the first question [07:32:03.0000] <met_> flickr.com is full of hixie photos but none is good for publishing 8-( [07:34:00.0000] <met_> karlUshi, exit on? what you mean [07:34:01.0000] <Dashiva> exist, maybe [07:34:02.0000] <karlUshi> s/exit/exist/ [07:35:00.0000] <met_> i am not wikipedist, but from the wikipedist point of view it is not question [07:36:00.0000] <met_> someone is important or not important for encyklopedia (not only wikipedia), it is the question [07:36:01.0000] <annevk> yeah, as is the case for Mark Pilgrim for instance [07:36:02.0000] <annevk> iirc [07:40:00.0000] <met_> karlUshi, some explanation why I wanted this [07:41:00.0000] <met_> when I write some czech article about whatwg, w3c, html5, many people have some wikipage so i can link it for details [07:41:01.0000] <met_> and every time hixie was one who. hadn't [07:42:00.0000] <met_> /me hope english version will come too [07:43:00.0000] <jdandrea> annevk: Differences from HTML4 now in place. WIki links adjusted. Original link still redirects. [07:46:00.0000] <hsivonen> Iana Hicksona could register en-GB-x-hixie :-) [07:47:00.0000] <annevk> it's actually a dialect to both en-GB and en-US [07:47:01.0000] <Dashiva> Does it make sense to register a x-prefix? [07:48:00.0000] <annevk> when registered you'd remove the prefix [07:48:01.0000] <met_> hsivonen, do not understand 8-) [07:48:02.0000] <hsivonen> just slighly amused by the Czech genetive of Ian [07:49:00.0000] <met_> it's czech suffix [07:49:01.0000] <met_> ok [07:49:02.0000] <Dashiva> Hint: IANA [07:49:03.0000] <met_> ah 8-) [07:51:00.0000] <jdandrea> That's it! x-classname! :) [07:52:00.0000] <hsivonen> jdandrea: x- for registered classes? ;-) [07:52:01.0000] <jdandrea> No, for unregistered ones. (I kid.) [07:52:02.0000] <met_> and xxx- for adult only classes? 8-) [08:49:00.0000] <mpt> en-hixie is a language with GB and US serializations [08:52:00.0000] <annevk> That might violate the RFC... [08:52:01.0000] <annevk> /me believes the second tag is reserved for locations [08:53:00.0000] <annevk> Maybe not... zh-Hans-TW for instance [09:00:00.0000] <gsnedders> annevk: registration is required unless it is one of a special few (inc. x) [09:00:01.0000] <gsnedders> annevk: the requirements for registration allow all sorts of things for the second tag [09:04:00.0000] <annevk> yes, i just figured that out [09:32:00.0000] <hsivonen> the length of a subtag is significant when deciding its role [11:53:00.0000] <bewest> if you press "enter" in an input, what happens? [11:53:01.0000] <bewest> I'm having a hard time locating this in the spec, and AFAICT it's totally absent from the w3c html4 spec [11:53:02.0000] <bewest> apparently firefox will activate the next button-type element according to document order [11:54:00.0000] <bewest> and there doesn't seem to be any mechanism to alter it. [11:55:00.0000] <bewest> I thought perhaps tabindex would be suitable, but it doesn't work for a few reasons [11:55:01.0000] <bewest> would be nice for tabindex to be scoped to the form [11:56:00.0000] <Philip`> Do you mean something like where it says "If the platform supports letting the user submit a form implicitly (for example, on some platforms hitting the "enter" key while a text field is focused implicitly submits the form), then when doing so the form's default submit button must be the one used to initiate form submission"? [11:59:00.0000] <bewest> I'm talking about specifying it as one of the things missing from html4 [11:59:01.0000] <bewest> so that we don't have to guess from implementation to implementation [12:02:00.0000] <bewest> so, yeah, something like that [12:03:00.0000] <bewest> so I guess allowing an attribute for describing which button should be the default for a form, and also making tabindex local to the form [12:03:01.0000] <bewest> latter might not be feasible [12:08:00.0000] <Hixie> the text Philip` quoted is in the spec [12:08:01.0000] <Hixie> and making a particular button the default is on the list for WF3 [12:12:00.0000] <Hixie> http://www.w3.org/2007/Talks/0509-dsr-forms/#(28) [12:13:00.0000] <bewest> oh [12:14:00.0000] <bewest> what does default submit button currently mean? [12:14:01.0000] <bewest> Philip`: I didn't realize you were quoting from the spec. thanks [12:14:02.0000] <Hixie> in the spec, that part is a link, iirc [12:16:00.0000] <Philip`> bewest: Ah, sorry, I should have been clearer [12:16:01.0000] <Philip`> (http://www.whatwg.org/specs/web-forms/current-work/#enter-submit) [12:17:00.0000] <Philip`> ("User agents may establish a button in each form as being the form's default button. (This should be the first submit button in the form, but UAs may pick another button if another would be more appropriate for the platform.)") [12:27:00.0000] <Alystair> What's this $10,000 to David Hyatt thing in the Acknowledgements section at the botom of the web apps 1.0 spec? [12:28:00.0000] <bewest> Philip`: ah... I think that breaks what's out there currently [12:28:01.0000] <bewest> Philip`: depending on what is meant by "submit button" [12:29:00.0000] <bewest> Philip`: if it means type="submit" then that's not what currently happens [12:29:01.0000] <bewest> type="image" also counts in FF [12:31:00.0000] <Alystair> This is so cool, so, you guys are actually planning the future for HTML/etc? :) [12:31:01.0000] <Philip`> http://www.whatwg.org/specs/web-forms/current-work/#extensions3 - "... a submit button (an input or button element with the type attribute set to submit, or an input element with the type attribute set to image) ..." [12:31:02.0000] <bewest> ah [12:32:00.0000] <bewest> ah ok [12:32:01.0000] <bewest> that's what happens [12:32:02.0000] <bewest> good job, then. that's some high quality speccing [12:32:03.0000] <Philip`> Alystair: I think that's the idea :-) [12:33:00.0000] <bewest> and I look forward to being able to tell UA's which one is the default [12:33:01.0000] <Alystair> my earlier question still remains unanswered, I thought that work was unpaid here [12:33:02.0000] <Alystair> unless there was a $10k bounty for that specific algorithm [12:33:03.0000] <Philip`> bewest: It probably would be nicer if the spec linked to the definitions for all those terms, so you don't have to just search through the text, but at least the definitions do appear to exist [12:33:04.0000] <bewest> Philip`: yeah. and it matches what actually happens already [12:34:00.0000] <Philip`> Alystair: I have no idea what that thing means either [12:34:01.0000] <bewest> /me wonders if tests are needed for this feature [12:35:00.0000] <Philip`> Tests are needed for every feature :-) [12:35:01.0000] <Philip`> ...unless someone's written some already [12:35:02.0000] <Alystair> /me should really read the faq, the site looks like it contains 3 different designs though [12:35:03.0000] <bewest> Philip`: let me be more direct then: how do I know if tests for this feature already exist? [12:36:00.0000] <bewest> Alystair: for some individuals, this is there full time job [12:36:01.0000] <bewest> Alystair: for example, the editor, Ian Hickson, is employed fulltime by google to do this work [12:36:02.0000] <Philip`> bewest: Hmm, I have no idea [12:36:03.0000] <bewest> Alystair: other stakeholders also recieve significant support from their companies to participate [12:37:00.0000] <Alystair> wow [12:37:01.0000] <bewest> Philip`: who would know? [12:38:00.0000] <bewest> Alystair: in particular, most of those stakeholders actually make browsers... and I imagine they balance their time between actually working on their browsers and participating in this and other, similar, groups [12:38:01.0000] <Philip`> (The last two in http://www.hixie.ch/tests/adhoc/html/forms/input/submit/ seem kind of relevant) [12:38:02.0000] <Alystair> 15 years! [12:39:00.0000] <bewest> Philip`: yes, test 3 does it [12:39:01.0000] <bewest> and 4, evidently [12:40:00.0000] <Philip`> bewest: I'm unsure who would know of any other relevant tests [12:40:01.0000] <bewest> hmmm I'll browse through zcorpan's stuff [12:41:00.0000] <bewest> /me doesn't see anything that looks relevant [12:45:00.0000] <Alystair> the faq's pretty funnny [12:45:01.0000] <Alystair> *funny [12:47:00.0000] <Philip`> Any particular bits? I think it's intended to be mostly serious :-) [12:48:00.0000] <Alystair> well, the whole xhtml/html war [12:48:01.0000] <bewest> Philip`: the part where one question redirects you to the next question, which redirects you to the previous question, which... [12:49:00.0000] <Alystair> I think the "Why do we need both HTML 5 and XHTML 2.0?" should really be fleshed out [12:49:01.0000] <Alystair> er answer to it [12:49:02.0000] <Alystair> "We don't!" isn't a legitimate answer to a serious question [12:50:00.0000] <bewest> Alystair: it's not considered a very serious problem, I think [12:50:01.0000] <bewest> Alystair: xhtml2 is DOA [12:55:00.0000] <Hixie> annevk: what's the xml-not-well-formed access-control problem? [13:02:00.0000] <Alystair> .... [13:06:00.0000] <Hixie> Alystair: i updated the faq to answer that question [13:06:01.0000] <Alystair> danke [15:10:00.0000] <zcorpan_> is a drocanian parser faster than a parser that does error recovery? [15:11:00.0000] <zcorpan_> http://www.autisticcuckoo.net/archive.php?id=2007/05/09/forward-towards-the-past [15:12:00.0000] <othermaciej> well, if there's an error right at the beginning of the document it will likely be faster to fail than a recovering one would be to succeed [15:12:01.0000] <zcorpan_> i mean if there are no errors [15:13:00.0000] <othermaciej> in the case where there are no errors, I don't know of any fundamental reason it would have to be slower [15:13:01.0000] <zcorpan_> i don't see it either [15:13:02.0000] <zcorpan_> but i keep hearing that xml parsers are so fast [15:14:00.0000] <zcorpan_> because they don't do error recovery [15:14:01.0000] <othermaciej> some forms of error recovery require maintaining extra buffers [15:14:02.0000] <othermaciej> but I don't think that effect dominates in practice [15:14:03.0000] <othermaciej> for WebKit at least, the XML parser we use works all in UTF-8 [15:14:04.0000] <othermaciej> and otherwise our engine does everything in UTF-16 [15:14:05.0000] <othermaciej> so I'm pretty sure it's slower than the HTML parser [15:15:00.0000] <zcorpan_> ok. i'm not surprised [15:15:01.0000] <zcorpan_> though my limited testing before with gecko showed that their xml parser was slightly faster than their html parser [15:16:00.0000] <zcorpan_> but that testing might well be flawed in some way [15:16:01.0000] <jruderman> what version of gecko did you test? [15:16:02.0000] <zcorpan_> it was probably 1.8 [15:16:03.0000] <jruderman> incremental rendering for xml was only turned on recently, on trunk [15:16:04.0000] <zcorpan_> yeah [15:16:05.0000] <zcorpan_> when i tested incremental rendering wasn't implemented yet [15:17:00.0000] <jruderman> it's likely "slower" in simple measurements now that there is incremental rendering [15:17:01.0000] <jruderman> but "faster" in practice [15:17:02.0000] <jruderman> i don't know if incremental rendering happens with the same frequency between html and xml, so i wonder how you could compare the two sanely [15:18:00.0000] <zcorpan_> by not rendering anything? :) [15:18:01.0000] <zcorpan_> :root { display:none } [15:18:02.0000] <jruderman> perhaps [15:19:00.0000] <zcorpan_> i could do the benchmark again but i'm not curious enough [15:19:01.0000] <zcorpan_> http://zcorpan.1go.dk/test/parsing-benchmark/ [15:23:00.0000] <hsivonen> zcorpan_: expat and the Gecko HTML parser are radically different. libxml2 and the WebKit HTML parser are likely different in other ways than operating on different code units. [15:23:01.0000] <hsivonen> zcorpan_: in Gecko, both operate on UTF-16, btw [15:23:02.0000] <zcorpan_> hsivonen: ok [15:24:00.0000] <hsivonen> zcorpan_: but if you have roughly the same buffering code and implementation approach for both XML and HTML5, there's no fundamental reason why the HTML5 parser should be slower if you don't actually print out the errors (which tends to block on IO) [15:24:01.0000] <hsivonen> zcorpan_: after all, a Draconian parser has to have the if branches to detect errors [15:25:00.0000] <hsivonen> zcorpan_: in the conforming case, you don't take those branches [15:25:01.0000] <hsivonen> zcorpan_: in the conforming HTML5 case, you don't take the error branches, either [15:25:02.0000] <Hixie> error handling can actually be faster because you don't have to test for some of the errors -- you just ignore them completely [15:25:03.0000] <othermaciej> hsivonen: there are some cases where the recovering parser has to buffer in case an error occurs later [15:26:00.0000] <othermaciej> but what Hixie said is also true [15:26:01.0000] <hsivonen> zcorpan_: so in conforming cases, you pay the price of doing roughly similar checks in both cases [15:26:02.0000] <Hixie> e.g. the html5 parser doesn't have to check for what characters are allowed in attribute values [15:26:03.0000] <Hixie> it just looks for the ones that terminate it [15:26:04.0000] <othermaciej> I think there is no a priori reason to think one needs to be faster than the other [15:26:05.0000] <Hixie> which is (trivially) faster [15:26:06.0000] <Hixie> but yeah, it's not really worth talking about in practice, it's such a small effect either way [15:26:07.0000] <zcorpan_> Hixie: yeah, makes sense [15:26:08.0000] <hsivonen> othermaciej: the HTML5 parser has one extra stack, but the "buffering" happens in the DOM [15:27:00.0000] <hsivonen> othermaciej: no buffering penalty DOM vs. DOM [15:27:01.0000] <hsivonen> othermaciej: I agree for SAX, though [15:27:02.0000] <hsivonen> zcorpan_: but basically, the fanboys saying that XML is so much faster probably have never benchmarked or implemented a markup parser :-) [15:28:00.0000] <othermaciej> HTML(tm) 5 can now officially be called that [15:28:01.0000] <hsivonen> ooh. something new in email? [15:29:00.0000] <othermaciej> aye (on public-html) [15:30:00.0000] <hsivonen> looks like Hixie has to do an SVN to CVS replay of revisions [15:31:00.0000] <hsivonen> "we suggest taking the rest of week off from [15:31:01.0000] <hsivonen> HTML WG email discussion." :-) [15:31:02.0000] <hsivonen> but yeah, great news! [15:31:03.0000] <zcorpan_> hsivonen: time to look at how large the diff is you mentioned before? :) [15:31:04.0000] <hsivonen> zcorpan_: yeah :-) [15:32:00.0000] <othermaciej> unfortunately, most CVS <--> SVN tools are designed for going the other way [15:32:01.0000] <hsivonen> /me looks [15:32:02.0000] <Philip`> Sounds like it'd be alright to just copy revision 785 into CVS, and then copy the latest version on top, rather than fiddling around with all the intermediate revisions [15:32:03.0000] <hsivonen> Philip`: good point [15:32:04.0000] <Philip`> (I guess people just want to know the difference between the version that they probably didn't read before voting, and the latest version) [15:35:00.0000] <Philip`> http://html5.org/tools/web-apps-tracker?from=785&to= - doesn't look like there's any major new contentious issues [15:37:00.0000] <hober> Would 'tailor' do the job? [15:38:00.0000] <Philip`> http://progetti.arstecnica.it/tailor/ ? [15:38:01.0000] <Philip`> There's only been ten revisions anyway, so it'd probably be quicker to do it by hand [15:39:00.0000] <zcorpan_> the html wg was launched march 7th, right? what was the revision of the WA1 spec then? [15:39:01.0000] <hsivonen> zcorpan_: The Diff: http://html5.org/tools/web-apps-tracker?from=668&to=796 [15:39:02.0000] <hober> IIRC, tailor could be used for bidirectional syncing [15:39:03.0000] <hsivonen> zcorpan_: 668 [15:40:00.0000] <zcorpan_> hsivonen: cheers [16:00:00.0000] <zcorpan_> what benefit is there for markup consumers to be able to know that all <p>s are paragraphs in the english sense and not e.g. poems or thematic groups of form controls? [16:02:00.0000] <Philip`> Perhaps someone doing automated corpus analysis of language used on the web, who wants to identify plain English sentences and not include spurious poems and form controls in their data? [16:03:00.0000] <zcorpan_> hrm. could be. but if it operated on the real web it would have to look at things that aren't <p>s anyway. because many aren't using <p>s at all [16:03:01.0000] <zcorpan_> and is there such an app anyway? sounds hypothetical to me [16:04:00.0000] <Philip`> Something like http://www.webcorp.org.uk/webcorp_linguistic_search_engine.html sounds similar [16:05:00.0000] <zcorpan_> interesting [16:05:01.0000] <Philip`> But this is probably a case where it's only valuable if everybody in the world uses <p> correctly. That's never going to happen, so you have to implement heuristics/hacks anyway, so it doesn't matter if a few people do use <p> properly (particularly since you can't even identify whether someone is using it properly) [16:06:00.0000] <zcorpan_> also, what is the benefit for markup producers to differentiate between whether a piece of text is a paragraph or not? (making it easier for the aforementioned app is one reason...) how would it work in a wysiwyg context? [16:07:00.0000] <Philip`> (I would tend to believe that semantics on the web only works when content creators benefit from doing it right, content consumers benefit from creators doing it right, and consumers don't suffer when creators get it wrong) [16:07:01.0000] <Philip`> (Things like <meta> keywords managed the first two of those, but died out because of the third point) [16:08:00.0000] <zcorpan_> makes sense [16:10:00.0000] <zcorpan_> i'm trying to understand the issue toolman has with <p> but i still don't get it [16:10:01.0000] <othermaciej> I agree with Philip` [16:10:02.0000] <othermaciej> if we favor better markup, the right way to get it is to create positive incentives for doing it right [16:11:00.0000] <zcorpan_> yeah [16:11:01.0000] <jgraham_> Yeah. We don't have a stick so we have to try and use carrots [16:12:00.0000] <zcorpan_> the xhtml2 wg have sticks :) [16:12:01.0000] <bewest> hehe [16:12:02.0000] <jgraham_> Nah the xhtml2 wg are _stuck_ [16:12:03.0000] <jgraham_> ;) [16:12:04.0000] <zcorpan_> oh right [16:19:00.0000] <bewest> hmmm I thought I recently saw something that was able to compare html5lib dom and your browser's DOM. [16:19:01.0000] <bewest> who did that? [16:19:02.0000] <bewest> maybe I should search the archive [16:20:00.0000] <zcorpan_> it was probably jgraham_ [16:20:01.0000] <bewest> yeah, probably [16:22:00.0000] <Philip`> http://hasather.net/html5/parsetree/ or a different one? [16:23:00.0000] <bewest> dunno [16:27:00.0000] <jgraham_> bewest: The other possibility is http://wordsandpictures.dyndns.org/html5/html5view.html [16:28:00.0000] <jgraham_> (otherwise it's something someone else did) [16:31:00.0000] <bewest> yes [16:31:01.0000] <bewest> I think that's it 2007-05-10 [17:04:00.0000] <zcorpan_> wow. one of my deliverables uses <p>...<table>...</table></p> [17:05:00.0000] <zcorpan_> which is probably due to me omitting the </p> tag and the server side guy wanted to have the tag present but didn't realise that it should go before the table [17:47:00.0000] <Philip`> /me finds another Opera bug to add to his list, while trying to draw dashed lines [17:47:01.0000] <Philip`> /me will have to try to sort the list out into a more useful format at some point [17:58:00.0000] <Philip`> Hixie: About transformed patterns: I think I'd vote for that feature, depending on how it'd work - the floor in http://canvex.lazyilluminati.com/misc/floor5.jpg counts as my use case, since it draws diagonal bits of texture onto thin horizontal strips of floor, and the maths to get all the transforms and coordinates correct was rather unpleasant to work out [17:58:01.0000] <Philip`> and I have a whole piece of A4 paper covered with lots of scribbling to demonstrate the unpleasantness :-) [17:59:00.0000] <Philip`> (or at least to demonstrate that I've forgotten much of the geometry and trigonometry I used to know...) [17:59:01.0000] <Hixie> heh [17:59:02.0000] <Hixie> yeah, you should see my whiteboard right now [17:59:03.0000] <Hixie> just to make the testcases [18:00:00.0000] <Hixie> however for 3D i think we'll provide a 3D canvas [18:00:01.0000] <Hixie> which would be better :-) [18:00:02.0000] <Philip`> That would be significantly more sane than my approach to 3D [18:00:03.0000] <Hixie> :-) [18:03:00.0000] <Hixie> man i wish opera had an auto-upgrade feature like firefox [18:03:01.0000] <bewest> yes, firefox has nailed it [18:03:02.0000] <MikeSmith> Hixie - I wish (nightly) Webkit/Safari had auto-upgrade too [18:04:00.0000] <Philip`> IE does auto-upgrade too [18:04:01.0000] <MikeSmith> /me looks around for othermaciej/mjs ... [18:05:00.0000] <Hixie> safari does have autoupdate. but yes. would be nice if the nightlies did too. [18:06:00.0000] <hober> there's NightShift.app for that [18:08:00.0000] <Hixie> hm, how did i not know about that [18:09:00.0000] <hober> the same guy does CaminoKnight and FireFix for those nightlies" [18:11:00.0000] <othermaciej> Safari uses the Mac OS X system autoupdate mechanism [18:12:00.0000] <othermaciej> ("Software Updates") [18:12:01.0000] <othermaciej> we don't have an official autoupdate for the nightlies though [18:14:00.0000] <Hixie> wow, NightShift is awesome [18:14:01.0000] <hober> yeah, it's really nice [18:15:00.0000] <othermaciej> it is cool indeed [18:16:00.0000] <othermaciej> we really should link it from webkit.org if we haven't already [18:24:00.0000] <gavin_> ah, I was looking for solution to that problem yesterday [18:24:01.0000] <gavin_> guess I'll try out nightshift! [18:28:00.0000] <Hixie> oh hey i never noticed the images were broken in the multipage version [18:28:01.0000] <Hixie> /me adds it to the list of things to fix today [18:31:00.0000] <Philip`> Oops - I think I originally was modifying them to be absolute paths, but must have removed that at some point [18:31:01.0000] <Hixie> no worries [18:31:02.0000] <Hixie> simple fix [18:35:00.0000] <zcorpan_> Hixie: btw, you think it's possible to add an alternative style sheet for the author view thing when it gets more complete? or perhaps it can be inserted with the status script [18:36:00.0000] <zcorpan_> http://simon.html5.org/temp/author-view-of-html5.css is a simple urllib.urlopen().read() with python [18:36:01.0000] <Hixie> sure [18:37:00.0000] <zcorpan_> perhaps the style sheet should be hosted at whatwg.org instead of being in my temp folder too? :) [18:37:01.0000] <Hixie> if you can keep it up to date :-) [18:37:02.0000] <Philip`> or perhaps a try: urllib.urlopen().read(); except: pass so it doesn't die horribly if that file goes missing :-) [18:37:03.0000] <Hixie> zcorpan_: the problem is mostly that it's so brittle [18:38:00.0000] <Hixie> zcorpan_: i'd love a more stable solution [18:38:01.0000] <zcorpan_> yeah, me too [18:38:02.0000] <Hixie> zcorpan_: we could maybe merge this with the status thing -- make it possible for individual sentences or paragraphs to be clicked and for a menu to come up so you can set the stability and target audience of that text [18:39:00.0000] <Hixie> the stability isn't something i'd want to keep in the spec text. maybe the target audience should be classes, though. [18:39:01.0000] <zcorpan_> yeah [18:40:00.0000] <zcorpan_> when the style sheet is complete you can perhaps map the selectors to the markup to get the source class=""ed automatically [18:41:00.0000] <Hixie> that would be interesting [18:41:01.0000] <Hixie> except the stylesheet applies to the index, and i'd have to edit the source [18:42:00.0000] <bewest> is it xslt-able? [18:42:01.0000] <Philip`> Would the target audience for the 'author' part be 'authors of HTML pages', or would it be 'authors of books and tutorials and blog posts and mailing list messages pointing out what the spec says is correct'? (I'm unsure how that would affect anything) [18:42:02.0000] <bewest> the spec is semantic html, right? [18:42:03.0000] <Hixie> bewest: yes [18:42:04.0000] <Hixie> not sure what you mean by "xslt-able" though [18:43:00.0000] <bewest> might produce alternative versions via xslt [18:43:01.0000] <Hixie> producing the alternate versions isn't the problem [18:43:02.0000] <Hixie> it's annotating the source that's the problem [18:47:00.0000] <zcorpan_> you write an implementation of getElementsBySelector() in perl or something to modify the source. then the editor(s) would have to maintain the class=""es [18:47:01.0000] <Hixie> the problem is that the selectors don't apply to the source, they apply to the index [18:48:00.0000] <zcorpan_> ah [18:48:01.0000] <zcorpan_> right [18:48:02.0000] <zcorpan_> hm [18:48:03.0000] <Hixie> might be not too bad [18:48:04.0000] <Hixie> we'll see [18:48:05.0000] <Hixie> not doing it right now anyway :-) [18:49:00.0000] <zcorpan_> yeah [18:50:00.0000] <Philip`> Perhaps parse the index document and work out what the CSS applies to, then remember the text which is matched, and then go back to the source and find the equivalent matching text (because that won't have been modified by the spec conversion process) [19:45:00.0000] <jdandrea> FWIW: sIFR includes a JavaScript function that parses CSS selectors and returns a list of one or more corresponding DOM nodes. That might help with parsing. [20:07:00.0000] <Hixie> http://dev.w3.org/cvsweb/html5/spec/ [20:08:00.0000] <Hixie> RIP Web Applications 1.0 [20:08:01.0000] <Hixie> Long Live HTML 5! [20:16:00.0000] <Lachy> wow! That's fantastic news to wake up to :-) [20:27:00.0000] <othermaciej> I call conflict of interst [20:27:01.0000] <othermaciej> Dave Hyatt is an editor, and the spec calls for giving him $10,000 [20:27:02.0000] <Lachy> LOL [20:28:00.0000] <jdandrea> Whoa - "good morning!" :) [20:28:01.0000] <othermaciej> I guess it would be good to fold in WF2 soon [21:42:00.0000] <Hixie> othermaciej: hah [21:45:00.0000] <Hixie> you know [21:45:01.0000] <Hixie> we could now easily make our first milestone [21:46:00.0000] <Hixie> FPWD on the TR page in June [22:30:00.0000] <marcosc> Hixie, I don't see why now? [22:30:01.0000] <marcosc> not* [22:33:00.0000] <Hixie> indeed, i'm saying we can :-) [23:07:00.0000] <othermaciej> Hixie: I expect many of the objections to adopting the document to be rehashed at FPWD time [23:07:01.0000] <Hixie> i'm sure [00:20:00.0000] <Hixie> i hate browsers [00:20:01.0000] <Hixie> i have a test here, and 6 different renderings [00:21:00.0000] <Hixie> i'm only testing three browsers! [00:21:01.0000] <Hixie> (several versions of those browsers, but still!) [00:21:02.0000] <Hixie> firefox3 passes the test, so i'm saying we have interoperability and going home [00:23:00.0000] <othermaciej> yeah, browsers kinda suck [00:23:01.0000] <othermaciej> unless you want to browse the web [00:27:00.0000] <Hixie> right, going home [00:27:01.0000] <Hixie> nn [00:43:00.0000] <nickshanks> will things decided by WHAT WG go into HTML 5 now, or will the W3C have a veto? [00:44:00.0000] <citoyen> WHATWG decides what goes into specs published by WHATWG. W3C decides what goes into specs published by W3C. [00:45:00.0000] <citoyen> Either group doesn't have veto over the other [00:45:01.0000] <othermaciej> they will be the same spec [00:45:02.0000] <Lachy> actually, the editors decide what goes into the spec based on feedback from the whatwg, htmlwg and many other sources [00:46:00.0000] <othermaciej> I expect the editors will abide by HTML WG decisions, though I would hope official votes overriding the editors would be rare [00:46:01.0000] <citoyen> Same spec, but as long as that spec is published by W3C, W3C has the last say. WHATWG can choose to go with that or publish a different spec. [00:46:02.0000] <Lachy> I hope they never happen [00:46:03.0000] <othermaciej> the WHATWG group that in theory could remove or override the editor is very unlikely to demand introduction of conflicting language [00:46:04.0000] <othermaciej> if that happened presumably the efforts would fork [00:47:00.0000] <citoyen> Indeed [00:48:00.0000] <nickshanks> how close to done is the spec, in most people's opinions? another year, another three years? [00:48:01.0000] <othermaciej> I think it's premature to predict that [00:48:02.0000] <othermaciej> I think there is still some speccing of new features to potentially be done, but at some point I would guess the group would want to self-impose a feature freeze [00:49:00.0000] <othermaciej> and every section needs close review [00:49:01.0000] <othermaciej> and it depends on whether "done" means CR or REC [00:49:02.0000] <nickshanks> CR i was meaning [01:27:00.0000] <annevk> whoa, we're in W3C CVS? [01:27:01.0000] <annevk> nifty [01:32:00.0000] <othermaciej> yep [01:35:00.0000] <othermaciej> now we need issue tracking [01:35:01.0000] <annevk> we should now have a #whatwg party [01:36:00.0000] <othermaciej> and a test suite in SVN [01:36:01.0000] <othermaciej> I would be all for a party [01:36:02.0000] <annevk> s/#whatwg/WHATWG/ [01:45:00.0000] <othermaciej> when / where to have it? [01:46:00.0000] <annevk> that's the problematic part [01:46:01.0000] <othermaciej> or perhaps we should let Hixie decide, taking relevant feedback into account [01:46:02.0000] <annevk> hehe [02:57:00.0000] <jgraham_> Philip`: If you want to play with the lxml stuff in html5lib it should be in svn now. You'll need to look at html5lib.treebuilders.getTreeBuilder to see how to get it working; I've changed the way elementtree stuff works a bit (suggestions for improvements to that interface welcome). Let me know if it's broken; it only passes tests, I don't know it is works ;) [03:43:00.0000] <zcorpan_> won't dhyatt be an editor for the whatwg spec too, automatically? [03:44:00.0000] <Dashiva> implicitly [03:47:00.0000] <zcorpan_> yeah. the whatwg-header just needs an update then :) [03:47:01.0000] <annevk> I think dhyatt will only update the W3C body though [03:49:00.0000] <annevk> "Special thanks and $10,000 to David Hyatt who came up with a broken implementation of the adoption agency algorithm that the editor had to reverse engineer and fix before using it in the parsing section." will also become confusing now :) [03:50:00.0000] <zcorpan_> yeah [03:51:00.0000] <zcorpan_> why "HTML 5" and not "HTML5" though? :P [03:52:00.0000] <annevk> yeah, that annoys me too [03:52:01.0000] <annevk> oh well [03:55:00.0000] <zcorpan_> perhaps "HTML 5" is the spec and "HTML5" is the language? [03:55:01.0000] <Lachy> I'm surprised they didn't go with HTML 5.0 [03:56:00.0000] <Lachy> :-) [03:56:01.0000] <zcorpan_> that would be even more annoying :) [03:57:00.0000] <zcorpan_> isn't it a convension of w3c specs to give the expansion in the title? [03:57:01.0000] <zcorpan_> HyperText Markup Language (HTML) 5 [03:58:00.0000] <annevk> all in due course [03:58:01.0000] <Lachy> HTML4 was HTML 4.0, and then 4.01 [03:58:02.0000] <Lachy> similarly with HTML2 and 3 [03:59:00.0000] <zcorpan_> HyperText Markup Language 5.0 (HTML5) [03:59:01.0000] <annevk> W3C version also carefully avoids copyright at this time [04:00:00.0000] <Lachy> zcorpan_, yeah, except lowcase 't' in "Hypertext" [04:01:00.0000] <annevk> Web Markup Language (HTML5) [04:02:00.0000] <zcorpan_> HTML 5 (HTML5) [04:02:01.0000] <annevk> HTML (HTML5) [04:02:02.0000] <annevk> HTML5 [04:07:00.0000] <othermaciej> I can think of 1.0 reasons to just call it HTML 5 [04:28:00.0000] <krijnh> Web 2.0 Language ((X)HTML5) [04:40:00.0000] <zcorpan_> othermaciej: what is that reason? [04:45:00.0000] <krijnh> http://www.whatwg.org/specs/ still says WA1.0 [04:57:00.0000] <Dashiva> zcorpan_: From the 1.0 I'm guessing minor versions [05:04:00.0000] <othermaciej> zcorpan_: because integers don't need to be written in decimal notation [05:04:01.0000] <othermaciej> and look nicer that way [05:06:00.0000] <zcorpan_> othermaciej: oh, i thought you meant as opposed to HTML5 (without a space) [05:07:00.0000] <othermaciej> yeah, I meant as opposed to 5.0 [05:07:01.0000] <zcorpan_> ok [05:42:00.0000] <Hemebond> Quick question: why does HTML5 define a way for a web page to control the user-agent? [05:42:01.0000] <Lachy> Hemebond, which feature are you referring to? [05:42:02.0000] <Hemebond> The target attribute. [05:42:03.0000] <Hemebond> And browser contexts. [05:43:00.0000] <Hemebond> *browsing [05:43:01.0000] <Lachy> target has usecases for working with frames, and the reason for allowing _blank is basically to stop people using window.open() [05:44:00.0000] <annevk> because (a) it needs to be supported and (b) there are use cases for having multiple browsing contexts [05:44:01.0000] <annevk> you can't have a user agent that does not support target= [05:44:02.0000] <annevk> (from a vendor pov) [05:44:03.0000] <Hemebond> Lame. [05:44:04.0000] <annevk> an author typically wants an easy way to show something in a new window [05:45:00.0000] <annevk> target=_blank is useful for that [05:45:01.0000] <annevk> how the UA handles that is up to the UA [05:45:02.0000] <annevk> of course [05:45:03.0000] <Hemebond> annevk: Which is why I use Firefox and disable such an annoying a abusive feature. [05:45:04.0000] <annevk> (like a help menu for the site, or something) [05:45:05.0000] <annevk> Hemebond, right, I've done something similar in Opera [05:45:06.0000] <annevk> we can't simply ignore reality though [05:46:00.0000] <Philip`> When something like _blank is defined and allowed, rather than having to be hacked around with window.open(), then it is much easier for the UA to give the user control to change the default behaviour [05:46:01.0000] <othermaciej> I like target compared to window.open because it lets me see where the link is going, tells me that it will open in a new window, and I can cmd-click to get a tab instead [05:46:02.0000] <othermaciej> (in Safari) [05:47:00.0000] <Hemebond> Philip`: Letting a script open a window is definitely the fault of the browser developer. [05:48:00.0000] <Hemebond> I'm still disappointed a spec explicitly um.... [05:48:01.0000] <Hemebond> specifies it [05:48:02.0000] <annevk> better than what HTML4 did [05:48:03.0000] <Hemebond> Ignore it? [05:48:04.0000] <othermaciej> actually, it's the fault of past browser developers who invented the feature, site authors who use it, and users who get mad if those sites break [05:48:05.0000] <annevk> specify a target= feature and don't tell how to implement it [05:48:06.0000] <wilhelm> UAs must support this feature, so it must be specified. But I agree that authors should be discouraged from using it. [05:49:00.0000] <Hemebond> annevk: I thought there was no target att in HTML4. Or maybe that's just strict. [05:49:01.0000] <annevk> it's not in HTML4 strict [05:49:02.0000] <Lachy> Hemebond, it's in transitional [05:49:03.0000] <Hemebond> wilhelm: Putting it in a spec won't help that. [05:49:04.0000] <annevk> Hemebond, the spec is not just for authors [05:50:00.0000] <annevk> Hemebond, the spec is also to ensure we still understand HTML a century from now [05:50:01.0000] <othermaciej> not putting it in a spec won't make UAs remove either target or window.open [05:50:02.0000] <Hemebond> I know, but if it's in the spec, UA developers HAVE to put it in if they want to support the spec. [05:50:03.0000] <Lachy> Hemebond, would you rather authors use target="", which you can easily disable, or hack around it with window.open(), which is much harder to disable? [05:50:04.0000] <othermaciej> window.open has never even been in a spec before [05:50:05.0000] <annevk> Hemebond, they will have to do so anyway [05:50:06.0000] <Hemebond> annevk: Not to support HTML5. [05:50:07.0000] <Lachy> UAs have to put it in because there is content that relies on it. Not because it's in a spec [05:50:08.0000] <wilhelm> It will. Browser vendors need a common spec to implement stuff interoperably. [05:51:00.0000] <annevk> Hemebond, there won't be such UAs [05:51:01.0000] <Hemebond> annevk: er, if it wasn't in HTML5 already that is. [05:51:02.0000] <annevk> Hemebond, UAs will support the web [05:51:03.0000] <annevk> Hemebond, the web includes target= [05:51:04.0000] <Hemebond> I see all your points. I'm still disappointed. [05:51:05.0000] <annevk> so if HTML5 ignores it that just makes it a less useful spec [05:52:00.0000] <Hemebond> annevk: Does HTML5 include blink? [05:52:01.0000] <Hemebond> And marquee? [05:52:02.0000] <annevk> Hemebond, I think marquee should be in the rendering section [05:52:03.0000] <Lachy> in the parsing and rendering section, yes [05:52:04.0000] <annevk> blink doesn't seem to be strictly needed [05:52:05.0000] <Hemebond> But people use it. [05:52:06.0000] <Philip`> "The scope of this specification does not include documenting every HTML or DOM feature supported by Web browsers. Browsers support many features that are considered to be very bad for accessibility or that are otherwise inappropriate. For example, the blink element is clearly presentational and authors wishing to cause text to blink should instead use CSS." [05:53:00.0000] <Hemebond> And UAs support it. [05:53:01.0000] <annevk> IE doesn't [05:53:02.0000] <wilhelm> <blink> is not used anymore. <marquee> is, and should be specified. [05:53:03.0000] <Lachy> it will just be defined to use text-decoration: blink;, which is optional in CSS anyway [05:53:04.0000] <Hemebond> "Browsers support many features that are considered to be very bad for accessibility or that are otherwise inappropriate." I would have put target in that little list. [05:54:00.0000] <Lachy> <blink> is used. See http://www.w3.org/Style/ for instance :-) [05:54:01.0000] <Hemebond> annevk: IE doesn't support what? Blink? I thought it created it. Was it Netscape? [05:54:02.0000] <annevk> Hemebond, Netscape created it [05:54:03.0000] <annevk> Hemebond, IE did <marquee> [05:54:04.0000] <othermaciej> netscape created <blink> and supports it [05:54:05.0000] <othermaciej> there's not significant demand for actual support of <blink>, in fact Mozilla is often asked to remove it [05:54:06.0000] <othermaciej> <marquee> is needed though, apparently a lot of chinese sites use it [05:55:00.0000] <wilhelm> /me nods. [05:56:00.0000] <Hemebond> I'll have to continue reading this tomorrow. Night. [05:57:00.0000] <gsnedders> the references currently say "This section will be written in a future draft." — is there any interest in others helping to put this together as it is now? [06:00:00.0000] <mpt> I wonder if Lynx is non-conforming for not supporting target= [06:04:00.0000] <Philip`> I'd guess it falls in the "If the user agent has been configured such that in this instance it will reuse the current browsing context" category which allows it to never create a new browsing context when you follow a link [06:05:00.0000] <Philip`> (I think it would still have to support multiple browsing contexts with e.g. <iframe>s, and support target aimed at that iframe) [06:21:00.0000] <hsivonen> I'd be interested in learning *why* Chinese designers like marquee so much. [06:22:00.0000] <Dashiva> The same reason japanese developers love document.all, maybe [06:22:01.0000] <annevk> and why Koreans do onfocus=this.blur() [06:23:00.0000] <hsivonen> Dashiva: eh? document.all is not a particular visual effect [06:23:01.0000] <annevk> lol [06:23:02.0000] <annevk> compat with existing party venues :) [06:24:00.0000] <wilhelm> hsivonen: Colourful, flashing, blinking, moving objects are more popular in east Asia than in Europe..(c: [06:25:00.0000] <othermaciej> I would guess it is related to their design culture and writing system [06:25:01.0000] <othermaciej> (possibly) [06:25:02.0000] <Dashiva> hsivonen: They're both antiquated, though [06:26:00.0000] <gsnedders> probably partly due to what people are taught [06:26:01.0000] <gsnedders> you're more likely to learn something your elders do [06:26:02.0000] <hsivonen> design culture without any particular reason sounds plausible but ins't the writing system visually more compact and, hence, doesn't put as much pressure on fitting more text in a certain page region [06:28:00.0000] <Dashiva> I wonder if homebrew vertical marquees are as popular [06:29:00.0000] <othermaciej> hsivonen: I think a lot of these are vertical one-time marquees [06:29:01.0000] <othermaciej> hsivonen: not certain of the details though [06:33:00.0000] <Philip`> I see 24 marquees in my totally biased collection of 2500 pages [06:33:01.0000] <Philip`> and 12 blinks [06:33:02.0000] <Dashiva> I wonder what is more common of <blink> and CSS blink [06:34:00.0000] <hsivonen> marquee is interesting politically, because accessibility and internationalization collide [06:38:00.0000] <Philip`> marquee seems quite common in 'professional' sites - http://www.washtimes.com/ http://www.sunnewsonline.com/ http://www.theobserver.com/ http://www.andhrabank-india.com/ http://www.anc.org.za/ etc [06:38:01.0000] <Philip`> whereas blink seems to be more in less-professional sites - http://www.applequest.org/ http://www.yorkcarpet.com/ http://www.aplus4u.com/ http://www.discount-train.com/ etc [06:39:00.0000] <Philip`> though those two lists are even more biased data than what I started with, so please don't actually believe them [06:40:00.0000] <Philip`> (I don't have data for any non-English sites to compare) [06:41:00.0000] <othermaciej> is <marquee> better or worse than an ad-hoc marquee done with JS? [06:41:01.0000] <annevk> is target= better or worse than window.open() [06:41:02.0000] <annevk> although maybe they're not quite the same question... [06:41:03.0000] <Dashiva> A scripted solution is more flexible, but inaccessible to non-script [06:41:04.0000] <hsivonen> othermaciej: better, because it is easier to isolate and turn off <marquee> [06:43:00.0000] <Philip`> The scripted vertical marquee-like thing at http://www.andhrabank-india.com/ is rather broken in Firefox 3, and overlaps nearby text - native marquee support would make it easier to avoid bugs like that [06:44:00.0000] <Philip`> Oh, it's half broken in Firefox 2 too [06:44:01.0000] <Philip`> (but works fine in Opera) [06:45:00.0000] <Dashiva> I'm not sure I would call that one a marquee, since it doesn't scroll in the text direction [06:45:01.0000] <Philip`> but still the real <marquee> works correctly in all of them [06:46:00.0000] <Philip`> Dashiva: It's similar enough that they'd probably use the same code for simulating a horizontal marquee if there was no <marquee>, and it would similarly break, which wouldn't be good, hence <marquee> being better because it actually does work [06:47:00.0000] <Philip`> /me trusts browser developers to write bug-free code much more than he trusts authors of JS code on random web sites [06:51:00.0000] <annevk> whoa, people want <form method=trace> [06:52:00.0000] <annevk> I suppose will address security and actual semantics of such posts some other time? [06:52:01.0000] <annevk> s/such posts/such forms/ [06:53:00.0000] <annevk> especially since HTML is not just used over HTTP [06:54:00.0000] <othermaciej> I vaguely remember that http "trace" has security issues [06:55:00.0000] <annevk> indeed [06:55:01.0000] <Dashiva> I vaguely remember http trace not being that useful for submitting forms... [06:56:00.0000] <Lachy> heh, he wants HEAD and CONNECT too. [06:56:01.0000] <Lachy> CONNECT is used for https connections, so that's not necessary for use in a form method [06:56:02.0000] <Philip`> I can't see why it'd be more useful than just having an echo script on the server, unless I'm misunderstanding the purpose [06:57:00.0000] <jdandrea> othermaciej: yes, trace can be abused via XSS attacks. http://www.google.com/search?q=xss+http+trace [06:57:01.0000] <Philip`> (unless you want to use Max-Forwards to do something equivalent to traceroute but at the HTTP level instead of the IP level; but you wouldn't do that in a form on a web page...) [06:58:00.0000] <annevk> TRACE and CONNECT are both dangerous [06:58:01.0000] <annevk> maybe I should explicitly list them in XHR [06:59:00.0000] <annevk> /me ponders [07:00:00.0000] <jdandrea> Q: Should the decision to use trace/track/etc. be left to the web server admin/config (since these are HTTP methods)? It can be disabled there. [07:01:00.0000] <annevk> that's not where the request originates though [07:01:01.0000] <jdandrea> annevk: ah [07:01:02.0000] <annevk> which is what we're talking about [07:01:03.0000] <jdandrea> annevk: misunderstood the thread then - re-reading [07:02:00.0000] <jdandrea> People want <form method=trace>, is that correct? [07:03:00.0000] <annevk> yeah and other method names [07:12:00.0000] <jdandrea> OK. If I understand correctly, the TRACE request originates in the HTML, is processed by the UA, and ultimately received by a HTTP server/proxy/gateway. [07:14:00.0000] <met_> /me just returned from presentation of Silverlight [07:14:01.0000] <jdandrea> /me reconsiders - trace isn't supported now, so ... nothing lost, nothing gained. [07:14:02.0000] <jdandrea> met_: and ... ? :) [07:15:00.0000] <met_> doen't mention all flash like fearures, there is only one imporant i think [07:15:01.0000] <met_> HD streaming video [07:15:02.0000] <met_> Sliverlight is trying to compete with Flash and hit FLV format [07:16:00.0000] <met_> there is website http://silverlight.live.com/ where people can upload their silverlight app with videos up to 5GB [07:16:01.0000] <Philip`> jdandrea: I think it would only be handled by an HTTP server, not a proxy/gateway, unless you can set the Max-Forwards header (which I don't think is possible in a form) [07:16:02.0000] <Philip`> I bet they don't support Theora :-( [07:16:03.0000] <met_> and there is one american website like youtoube but based on silverlight (forgot the name) [07:16:04.0000] <annevk> FYI: There will be an open "browser" day on May 15, Paris, to discuss browsers, open standards and all that crap from 9-5 XTech venue. [07:17:00.0000] <jdandrea> Philip `: Aye, I was quoting sec 9.8 here: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html [07:17:01.0000] <jdandrea> (well, referencing anyway) [07:17:02.0000] <annevk> No entrance cost whatsoever [07:17:03.0000] <jdandrea> Good point (max-forwards) - missed that [07:17:04.0000] <annevk> Supposedly David (Storey, from Opera) and Molly (molly.com) will post something later today on blogs [07:18:00.0000] <met_> during yeard Silverlight can compete with all flash and flv i thing, but this is the only place where it can be succesful , i suppose [07:18:01.0000] <annevk> Hopefully the XTech schedule page will be updated as well. Although this is slightly different from the rest in that it's free and announced way too late for some people I guess :( [07:42:00.0000] <Dashiva> Hixie: You mentioned reworking the repetition model for wf2 earlier, didn't you? Are the results available anywhere? [07:43:00.0000] <zcorpan_> Dashiva: on his whiteboard [07:50:00.0000] <mpt> /me realizes that Silverlight's logo is a blue nappy/diaper [07:54:00.0000] <met_> mpt 8-) [07:54:01.0000] <met_> /me found similarity with blue logo on http://www.silverlight.com/ [08:52:00.0000] <Lachy> hey, I've been asked to do another presentation on HTML5 in August, and I need to come up with an interesting way to present it. Anyone have any suggestions? [08:53:00.0000] <Philip`> Write the whole presentation in <canvas>? [08:53:01.0000] <Lachy> I could make use of <canvas> [08:53:02.0000] <annevk> use XHTML5 [08:53:03.0000] <Lachy> see http://www.openpublish.com.au/ [08:54:00.0000] <annevk> /me did that [08:54:01.0000] <Lachy> that's where the presentation will be [08:54:02.0000] <annevk> nobody noticed though [08:56:00.0000] <Philip`> That's just syntax, and barely worth noticing :-) [08:56:01.0000] <annevk> hah, try to convince people of that story [08:57:00.0000] <Philip`> /me ought to try to work out what makes so many HTML pages unrepresentable as XML [08:58:00.0000] <Philip`> (I noticed things like "<!-------->" in one case, but most sites seemed to have different problems instead, but it wasn't obvious exactly what was wrong) [08:58:01.0000] <Lachy> since it's more business/managemetn oriented conference, rather than technology-oriented, perhaps I could talk about the benefits that HTML5 will provide... [09:02:00.0000] <krijnh> annevk: I stole your presentation format yesterday btw, used it for 2 presentations [09:03:00.0000] <annevk> "presentation format"? hah [09:03:01.0000] <krijnh> Lachy: What's the first business benefit that comes to mind? [09:03:02.0000] <krijnh> annevk: Yeah, it rocks ;) [09:03:03.0000] <annevk> ???? profit! [09:03:04.0000] <krijnh> <p class="one-liner"> and stuff [09:03:05.0000] <krijnh> Profit? [09:03:06.0000] <krijnh> ;P [09:04:00.0000] <Dashiva> Rich internet applications, krijnh [09:04:01.0000] <krijnh> I think the extensions to <input> are immediate benefits [09:04:02.0000] <Lachy> krijnh, faster and cheaper client side development with improved features and interop [09:04:03.0000] <Lachy> krijnh, more interactive applications [09:04:04.0000] <annevk> fyi: http://www.molly.com/2007/05/10/blue-sky-web-browser-standards-and-interop-summit-xtech-paris/ [09:04:05.0000] <annevk> also: http://my.opera.com/dstorey/blog/show.dml/993551 [09:08:00.0000] <krijnh> Faster, cheaper, more, wow [09:09:00.0000] <annevk> Web 5.0 [09:09:01.0000] <annevk> ???? [09:09:02.0000] <annevk> $$ * 5 [09:09:03.0000] <krijnh> Now that sells [09:09:04.0000] <krijnh> :) [09:28:00.0000] <gsnedders> 5 > 2. [09:29:00.0000] <met_> Web 5 > Web 2 ? [09:29:01.0000] <gsnedders> met_: this time yes. [09:30:00.0000] <gsnedders> met_: http://five-gt-two.spreadshirt.com/ — it was originally a play on HTML5 > XHTML2 [09:32:00.0000] <met_> gsnedders this I know, have wallperar in desktop http://whatwg.majda.cz/wallpapers/ [09:32:01.0000] <gsnedders> :P [13:24:00.0000] <Hixie> can someone (zcorpan?) reply to Kristof Zelechovski's mail? [13:28:00.0000] <zcorpan> Hixie: which one? [13:29:00.0000] <Hixie> the one about the thing with the thing. [13:29:01.0000] <Hixie> uh. [13:30:00.0000] <Hixie> the script. [13:30:01.0000] <Hixie> i think you checked in a fix. [13:30:02.0000] <zcorpan> oh, yep, i replied off-list [13:30:03.0000] <Hixie> cool [13:30:04.0000] <Hixie> thanks! [13:31:00.0000] <zcorpan> np [13:31:01.0000] <zcorpan> :) [13:34:00.0000] <Hixie> ;trianh [13:34:01.0000] <Hixie> uh [13:34:02.0000] <Hixie> wrong window. [14:29:00.0000] <hsivonen> annevk: looks like you have better ad juice than me. I got an offer of $35 for an ad on my doctype page. [14:31:00.0000] <jgraham_> Argh. What is it with people complaining about HTML 5 allowing non-text content in paragraphs? The forms section of the HTML 4 _spec_ is covered in examples of exactly that [14:33:00.0000] <hsivonen> jgraham_: are you referring to autisticcuckoo? [14:33:01.0000] <jgraham_> Yeah. But it's at least the second time its been mentioned this week# [14:35:00.0000] <zcorpan> /me is discussing that with toolman over email [14:35:01.0000] <hsivonen> zcorpan: Tim 'toolman' Taylor? [14:36:00.0000] <zcorpan> hsivonen: no, Tommy "TOOLman" Olsson [14:36:01.0000] <zcorpan> i.e. autisticcuckoo [14:36:02.0000] <hsivonen> oh [14:44:00.0000] <MikeSmith> I stopped reading at "In Terry Pratchett's Discworld novels, the ruler of Ankh-Morpork uses an unusual method for reducing crime in the city..." [14:46:00.0000] <annevk> lol [14:46:01.0000] <annevk> that guy should make a parser [14:46:02.0000] <annevk> the illusion that draconian somehow makes your faster is in fact just that [14:46:03.0000] <annevk> an illusion [14:46:04.0000] <MikeSmith> yeah [14:47:00.0000] <annevk> with the notable exception of course of the adoption agency algorithm which is part of HTML5 but you can optimize around that [14:47:01.0000] <annevk> and that shouldn't slow the whole process too much [14:48:00.0000] <zcorpan> annevk: and doesn't affect perf for conforming documents unless you have a streaming parser and can't modify the tree afterwards (in which case you have to buffer) [14:49:00.0000] <annevk> it does affect it slightly i think [14:49:01.0000] <annevk> but you might be right, yes [14:49:02.0000] <zcorpan> i thought it was only triggered when you see an end tag at the wrong place [14:49:03.0000] <annevk> I believe Safari has some tricks to make it go much better for documents without problems [14:50:00.0000] <annevk> zcorpan, not really [14:50:01.0000] <annevk> it's triggered when you hit a certain end tag [14:51:00.0000] <annevk> although if the tree is okayish you might not have to do complicated things but you still have some additional checks and such i believe [14:51:01.0000] <zcorpan> oh. ok. [14:52:00.0000] <annevk> see 'A start tag whose tag name is one of: "b", "big", "em", "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u"' and 'An end tag whose tag name is one of: "a", "b", "big", "em", "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u"' [14:57:00.0000] <gsnedders> Hixie: you want anybody to help to put together the references? it's one part of the spec I sorely miss [14:58:00.0000] <Hixie> annevk: if it's a well-formed doc, you bail at step 3, it's no more expensive that checking you're valid in the first place as i understand it [14:58:01.0000] <Hixie> gsnedders: i mostly have the references done (in wf2), the problem is keeping them up to date [14:58:02.0000] <gsnedders> Hixie: and wa1? [14:59:00.0000] <Hixie> the references are mostly the same [14:59:01.0000] <gsnedders> Hixie: mind if I have ago at putting the references together? [14:59:02.0000] <annevk> if people really want it now I suppose you could make it a separate file [15:00:00.0000] <annevk> that p/html5/ people can update and that Hixie extracts now and then? [15:00:01.0000] <Hixie> gsnedders: if you're willing to put aside one day every month for the next 10 years or so to keep them up to date, sure [15:00:02.0000] <Hixie> gsnedders: but i recommend against it [15:00:03.0000] <Hixie> as annevk suggests, we could have it in the google code svn [15:02:00.0000] <gsnedders> Hixie: are there really that many that change that often? Looking through them, it doesn't look as if there are that many that are under proper work. [15:03:00.0000] <Hixie> gsnedders: yes, at least one reference changes every month [15:03:01.0000] <Hixie> gsnedders: e.g. Unicode has new releases every 4 or so months [15:03:02.0000] <Hixie> WebAPI has a new release every 4 or so months [15:04:00.0000] <Hixie> new RFCs come out all the time, relevant ones change every few months [15:04:01.0000] <Hixie> etc [15:04:02.0000] <Hixie> that's the only reason i haven't put the references in yet [15:04:03.0000] <gsnedders> most of the RFCs seem to be ones that don't change so often [15:05:00.0000] <annevk> from a references pov, more often than you want :) [15:05:01.0000] <gsnedders> but you've been dealing with the WF2 references, so I'll take your work [15:05:02.0000] <gsnedders> *word [15:05:03.0000] <gsnedders> annevk: well, ideally, from that POV, they'd never change :P [15:07:00.0000] <annevk> Toolman seems to make the wrong conclusions. He's saying that changing the semantics of elements to match common usage makes it harder to extract semantics. However, it only makes it harder to extract semantics on the minority of pages conforming to the previous definitions. [15:07:01.0000] <SpookyET_> Firefoxing is pissing me off. [15:07:02.0000] <SpookyET_> Firefox* [15:07:03.0000] <annevk> http://www.opera.com/ [15:07:04.0000] <SpookyET_> Every time you load a Window, extensions are getting loaded and executed. You add a few of them, and it takes seconds to open a new window. [15:07:05.0000] <SpookyET_> It slows down opening and closing of tabs too. [15:08:00.0000] <gsnedders> annevk: you hear what I said in #html-wg? [15:08:01.0000] <SpookyET_> Extensions should be loaded once and cloned. [15:08:02.0000] <gsnedders> annevk: about the OS X disk image not mounting? [15:08:03.0000] <hsivonen> SpookyET_: accessing the content DOM from extensions is too slow. :-( blame the security wrapping [15:08:04.0000] <annevk> gsnedders, neh [15:09:00.0000] <SpookyET_> hsivonen: I'm talking about loading blank windows. [15:09:01.0000] <hsivonen> SpookyET_: oh. [15:10:00.0000] <SpookyET_> hsivonen: But, perhaps you are right. It's all xul, not native. Still, I can see it executing (removal of Bookmarks menu entry by the del.cio.us extension). [15:13:00.0000] <bewest> SpookyET_: then don't use extensions :-) [15:13:01.0000] <bewest> hopefully tamarin will make things spiffier [15:15:00.0000] <Philip`> Will Tamarin help with JS->C++ function calls? [15:15:01.0000] <bewest> dunno [15:16:00.0000] <annevk> gsnedders, I wouldn't know anything about it either [15:16:01.0000] <Philip`> (I've used SpiderMonkey in a game engine and I can't quite remember any details but I think the transitions between script and engine are the slowest part - the actual script execution is easily fast enough) [15:17:00.0000] <SpookyET_> SpookyET_: I need them. Can't live without AdBlock, GreaseMonkey, Stylish, and StumbleUpon. [15:18:00.0000] <SpookyET_> The workaround is to use more than one profile. I have another profile for web development, with web dev extensions like FireBug, WebDev ToolBar, XPather, etc. [15:18:01.0000] <hsivonen> Philip`: I'm not an expert, but I would expect JS-C++ crossings not to be helped by Tamarin. moreover, the performance hit when chrome JS accesses the content DOM is even greater than the usual JS-C++ crossing [15:19:00.0000] <bewest> hsivonen: interesting [15:21:00.0000] <SpookyET_> annevk: I'm a fan of Opera's, but I need extensions. Opera with extensions will rock. Unfortunetly, Opera will have to clone XAML for that. [15:22:00.0000] <annevk> That seems like the only viable option, indeed... [15:22:01.0000] <hsivonen> bewest: I could be wrong about Tamarin and crossing to C++. on a second though, a JIT *could* help it [15:22:02.0000] <annevk> /me heads home [15:22:03.0000] <hsivonen> *thought [15:34:00.0000] <SpookyET_> hsivonen: Sorry, I did not mean to open a can of worms. [16:10:00.0000] <hsivonen> does IE with MathPlayer Accept: application/xhtml+xml? [16:14:00.0000] <zcorpan> hsivonen: yes [16:14:01.0000] <zcorpan> hsivonen: it's treated as text/html [16:16:00.0000] <zcorpan> (i'm not sure whether the string "application/xhtml+xml" is actually in the Accept header, though) [16:17:00.0000] <hsivonen> zcorpan: I'm interested in the actual Accept header [16:20:00.0000] <zcorpan> seems like the plugin only modifies the UA string [16:20:01.0000] <zcorpan> http://golem.ph.utexas.edu/~distler/blog/archives/000309.html [16:26:00.0000] <hsivonen> zcorpan: ok. [16:26:01.0000] <zcorpan> ah! ie is one step closer to css2.1 conformance with the developer toolbar! :) (it can disable css) [16:27:00.0000] <hsivonen> zcorpan: I'm serving XHTML+SVG if the UA Accepts a/x+x, except if the UA is a known old release of Opera or Gecko [16:27:01.0000] <hsivonen> zcorpan: t/h otherwise [16:27:02.0000] <hsivonen> I hope that's good enough [16:34:00.0000] <zcorpan> hsivonen: yeah, should be. wonder how it performs on mobiles that lie about what they support, though [16:38:00.0000] <zcorpan> ie's dev toolbar is actually pretty good [16:48:00.0000] <hsivonen> zcorpan: http://hsivonen.iki.fi/thesis/html5-conformance-checker mobile test results welcome. [16:49:00.0000] <hsivonen> zcorpan: it'll probably choke mobile browsers that aren't based on a real browser engine anyway [16:50:00.0000] <hsivonen> hmm. looks like I have a bug in my Opera sniffing [16:50:01.0000] <zcorpan> the document is probably too big for most mobiles anyway, i'd think [16:55:00.0000] <hsivonen> fixed the bug in opera sniffing 2007-05-11 [17:23:00.0000] <Philip`> Is it just me that finds it annoying how the multi-page spec's next/previous page links try to jump down to skip the header on the subsequent page (and get it wrong half the time because the page is small enough to fit on the screen without scrolling, so it jumps up and down as you navigate around)? [17:33:00.0000] <SpookyET_> Firefox needs fcgi/scgi for extensions. It needs persistent extensions. [01:23:00.0000] <krijnh> Hixie: why do you use <!DOCTYPE HTML5> for your tests? [01:25:00.0000] <Philip`> Because everybody loves versioning [01:25:01.0000] <krijnh> Ow, never mind [01:25:02.0000] <krijnh> 'Those are just old tests. Shouldn't make any difference.' [01:25:03.0000] <krijnh> :) [01:26:00.0000] <annevk> does make a difference though [01:26:01.0000] <Philip`> Not having a version number would just be unnatural and unthinkable [01:26:02.0000] <annevk> but the difference is likely not to be relevant for the tests in question [01:26:03.0000] <krijnh> Only gives quirks mode in Gecko [01:26:04.0000] <krijnh> Nope [01:26:05.0000] <krijnh> But I was just wondering [01:37:00.0000] <krijnh> /me cleans house with the Cleaning House thread [01:39:00.0000] <Philip`> You can play ping pong with it too [01:39:01.0000] <krijnh> :) [01:41:00.0000] <Philip`> I expect some of these thread titles will be hard to find again in the future, but I expect that wouldn't matter since people won't actually want to find them [01:41:01.0000] <krijnh> Which reminds me [01:41:02.0000] <krijnh> Somebody wanted a search box on /irc-logs/ [01:42:00.0000] <marcosc> krijnh, that could lead to trouble! :D [01:42:01.0000] <krijnh> marcosc: why? [01:42:02.0000] <krijnh> You can already search with site: now [01:43:00.0000] <marcosc> More people would look themselves up to see what we on IRC have been saying about them... oh, I didn't know you could search the site already [01:43:01.0000] <marcosc> :) [01:43:02.0000] <marcosc> /me only joking [01:43:03.0000] <krijnh> :) [01:43:04.0000] <krijnh> Only annevk is making fun of people anyway ;) [01:43:05.0000] <marcosc> LOL [01:51:00.0000] <krijnh> http://krijnhoetmer.nl/irc-logs/#search [01:53:00.0000] <marcosc> /me searches for himself to see what defamatory things Annevk has been saying about him. [02:10:00.0000] <annevk> about you? [02:10:01.0000] <annevk> nothing in public [02:14:00.0000] <krijnh> :) [02:15:00.0000] <krijnh> Yay, ads [02:15:01.0000] <annevk> ads? [02:15:02.0000] <annevk> are you now making profit on my poetry here? [02:15:03.0000] <krijnh> Nope [02:15:04.0000] <krijnh> Only on the index page [02:15:05.0000] <krijnh> Which doesn't make sense at all [02:15:06.0000] <krijnh> Cause there's no content there [02:16:00.0000] <annevk> /me doesn't see them [02:17:00.0000] <krijnh> Me neither [02:17:01.0000] <krijnh> Blocked content hooray [02:17:02.0000] <zcorpan> /me sees them now [02:18:00.0000] <krijnh> /me never noticed Google ads a colon to <dt> elements.. [02:18:01.0000] <krijnh> adds even [02:19:00.0000] <Philip`> I believe putting Google ads on pages without content is against their TOS, and they'll ban the account if they notice [02:19:01.0000] <krijnh> There is content [02:20:00.0000] <krijnh> But you mean I should put it on the subpages? :) [02:20:01.0000] <Philip`> Not on that page - it's just a list of dates and refer(r)ers :-) [02:20:02.0000] <krijnh> I'll fix some content there for you then :) [02:21:00.0000] <Philip`> (There were problems with using Google ads on some forums I've been involved with - most of the pages there don't count as content-based, so you have to remove the ads from them) [02:22:00.0000] <krijnh> There [02:24:00.0000] <Philip`> Any chance of doing Punycode conversion in the referrers list? :-) [02:24:01.0000] <krijnh> Punycode? [02:24:02.0000] <krijnh> /me reads up [02:24:03.0000] <Philip`> Like with http://xn--74h.damowmow.com/ [02:25:00.0000] <Philip`> Hmm, Opera converts that into a happy face but Firefox is sad and doesn't [02:25:01.0000] <zcorpan> ☺ [02:25:02.0000] <annevk> /me mostly uses http://damowmow.com/portal/ [02:25:03.0000] <krijnh> So why do we see xn--74h ? [02:28:00.0000] <zcorpan> krijnh: it's the punycode for ☺ (decode this as utf-8) [02:28:01.0000] <Philip`> xn--74h is just Punycode's spelling of that Unicode character, so it doesn't break people that expect a limited character set in domain names [02:29:00.0000] <Philip`> What'd be really neat is to register a domain name that spells some sensible Unicode word, where its Punycode encoding also spells a sensible ASCII word... [02:30:00.0000] <annevk> except for the xn-- bit? [02:30:01.0000] <zcorpan> http://www.ietf.org/rfc/rfc3987.txt [02:30:02.0000] <annevk> i don't think that's the spec for idna zcorpan [02:30:03.0000] <annevk> or was it idn [02:31:00.0000] <annevk> www.ietf.org/rfc/rfc3490 [02:31:01.0000] <annevk> http://www.ietf.org/rfc/rfc3490 [02:31:02.0000] <Philip`> http://tools.ietf.org/html/rfc3492 [02:51:00.0000] <peepo> annevk what's with w3 validator? [02:55:00.0000] <annevk> I'm the wrong person to ask, really [02:56:00.0000] <mikeday> Is anyone working on a HTML5 parsing library at the present time? [02:57:00.0000] <jgraham_> code.google.com/p/html5lib/ [02:57:01.0000] <jgraham_> That's python. Also gsnedders is working on PHP I think [02:57:02.0000] <mikeday> How about C? :) [02:57:03.0000] <jgraham_> mikeday: Not taken. Go for it ;) [02:58:00.0000] <annevk> mikeday, please :) [02:58:01.0000] <mikeday> Presumably, the Mozilla parser is already a C++ implementation, or partial implementation? [02:58:02.0000] <mikeday> Hi Anne :) [02:58:03.0000] <annevk> it doesn't do HTML5 though [02:58:04.0000] <annevk> starting from WebKit might be your best bet [02:59:00.0000] <annevk> if you don't want to do it from scratch [02:59:01.0000] <jgraham_> /me wants an implementation in Gecko [02:59:02.0000] <mikeday> WebKit also C++, right? Simpler code than Mozilla? [02:59:03.0000] <annevk> /me doesn't know how well you can extract that piece of code out of the rest though [02:59:04.0000] <mikeday> It's amazing that there is still no browser-compatible parser outside of the browsers themselves. [03:00:00.0000] <annevk> mikeday, it certainly looks simpler to me, it also implements something far close to what HTML5 wants out of <b> <i> </b> [03:00:01.0000] <mikeday> ah, well that's good. [03:00:02.0000] <annevk> html5lib is pretty close, but it's not really fast [03:00:03.0000] <mikeday> What about starting with html5lib, and writing a C parser based on that? [03:01:00.0000] <annevk> that's my plan, but I've had that plan for almost half a year now... [03:01:01.0000] <Philip`> Is it easier to start with html5lib than to start with the spec? [03:01:02.0000] <hsivonen> my plan is to get Java covered Real Soon New [03:01:03.0000] <hsivonen> Now [03:02:00.0000] <annevk> html5lib can show you some implementation ideas [03:02:01.0000] <hsivonen> mikeday: the Gecko HTML parser is not an HTML5 parser [03:02:02.0000] <mikeday> Is the spec complete enough to fully implement a parser for the web as it stands? [03:02:03.0000] <annevk> but apart from that the spec should be fine [03:02:04.0000] <Philip`> Someone should just write it a language-agnostic format that can be transformed into source code for whatever language you're using [03:02:05.0000] <hsivonen> mikeday: you probably don't want to get near the Gecko HTML parser anyway [03:02:06.0000] <annevk> mikeday, we hope so :) [03:02:07.0000] <mikeday> Philip, right. [03:02:08.0000] <annevk> mikeday, but it probably needs some further tweaking in due course [03:02:09.0000] <Philip`> /me has absolutely no idea how you'd do that [03:03:00.0000] <mikeday> One more question, as I'm still not entirely clear on this [03:03:01.0000] <annevk> Philip`, is that the "formal language" idea? [03:03:02.0000] <mikeday> will a parser written to the HTML5 spec break on existing websites? [03:03:03.0000] <annevk> it should not [03:03:04.0000] <mikeday> ie. will it result in a substantially different DOM than currently generated by browsers? [03:03:05.0000] <annevk> it should not [03:03:06.0000] <Philip`> annevk: Possibly - not really formal in a mathematical sense, but at least machine-processable rather than English [03:03:07.0000] <mikeday> Oh, well, that's good; only need one parser instead of two, then :) [03:03:08.0000] <annevk> you need two [03:03:09.0000] <hsivonen> Philip`: you could make compilers for a language that target other HLLs. but the result would suck in terms of getting buffering and language-specific APIs right [03:03:10.0000] <annevk> XML and HTML [03:03:11.0000] <mikeday> hah [03:04:00.0000] <mikeday> XML and HTML, that's fine. [03:04:01.0000] <annevk> good :) [03:04:02.0000] <mikeday> Just don't want HTML and HTML5 separately :) [03:04:03.0000] <annevk> join the HTML WG and say so :) [03:04:04.0000] <annevk> although i think the charter says so too so it should be fine [03:04:05.0000] <hsivonen> Philip`: for example, I intend to make a serious effort to get the buffering performance with Java and SAX right [03:04:06.0000] <mikeday> hmm, I don't think the HTML WG is suffering from a lack of people, right now :) [03:04:07.0000] <annevk> :p [03:05:00.0000] <mikeday> hey annevk, were you in Australia recently? [03:05:01.0000] <annevk> yeah [03:05:02.0000] <annevk> in Brisbane [03:05:03.0000] <mikeday> ah, didn't come down to Melbourne then. Next time hmm? :) [03:05:04.0000] <annevk> yeah, maybe [03:05:05.0000] <annevk> i'd like to come back although the trip is quite long [03:05:06.0000] <mikeday> Indeed it is [03:06:00.0000] <annevk> will you be at XTech? [03:06:01.0000] <mikeday> 'fraid not this time, too busy trying to get Prince 6.0 out :) [03:06:02.0000] <annevk> ah, have fun with that then :) [03:07:00.0000] <mikeday> thanks! :) [03:08:00.0000] <mikeday> gee, there is a lot of prose in the syntax portion of the HTML5 spec [03:08:01.0000] <mikeday> can I say +1 to formal language [03:09:00.0000] <hsivonen> mikeday: which one? C? Java? Sawzall? Python? :-) [03:10:00.0000] <mikeday> hmm, and parsing is interspersed with script execution; so much for layering. Not exactly HTML5's fault, though :) [03:10:01.0000] <mikeday> hsivonen: BNF? :) [03:11:00.0000] <Philip`> Can BNF do error handling? [03:11:01.0000] <hsivonen> Philip`: I was about to ask that [03:11:02.0000] <mikeday> on the other hand, there is a state machine [03:12:00.0000] <hsivonen> btw, has anyone found non-stack-like state transitions in the tokenizer, yet? [03:12:01.0000] <hsivonen> /me intends to keep the state implicitly on the runtime stack and use a ReprocessInDataStateException for abtrupt returns [03:13:00.0000] <annevk> entities are non state like [03:13:01.0000] <annevk> they are more like a function [03:14:00.0000] <mikeday> hsivonen: can you use an array-based DFA or similar rather than function calls? [03:14:01.0000] <annevk> and doctypes are slightly different too as they require you to consume several characters and such [03:17:00.0000] <Philip`> I think I remembering reading that the ANTLR 3 parser generator generates JVM bytecode so it can use goto for state transitions instead of function calls (though I've probably got all the details wrong now) [03:18:00.0000] <mikeday> Why not nextState = stateTable[currState][currChar]; ? [03:19:00.0000] <Philip`> That seems a bit inefficient when you've got 2^16 characters :-) [03:19:01.0000] <mikeday> I don't recall HTML assigning special meaning to any but the first 128 of them :) [03:20:00.0000] <annevk> heh, it would suggest you study the spec a bit closer [03:21:00.0000] <mikeday> damn. [03:21:01.0000] <Philip`> The HTML5 parser has a lot more discrete states than it explicitly mentions, if you count things like the PCDATA/CDATA/RCDATA/PLAINTEXT variable as giving four times as many potential states [03:22:00.0000] <mikeday> /me reads the spec [03:23:00.0000] <Philip`> Make sure you read it in all three directions :-) [03:23:01.0000] <annevk> lol [03:23:02.0000] <Philip`> (Not that I've ever bothered doing that) [03:25:00.0000] <mikeday> line 32942 has an unescaped < character [03:25:01.0000] <mikeday> as does line 32947 [03:26:00.0000] <mikeday> running it through Prince produces a 550 page PDF file [03:26:01.0000] <mikeday> but the page margins are too big, so that's not really a fair page count [03:26:02.0000] <mikeday> either way, might take me a while to get through it [03:26:03.0000] <mikeday> the question is, can I read it faster than people update it? [03:26:04.0000] <annevk> you don't need to read the whole HTML5 spec [03:27:00.0000] <Philip`> http://hsivonen.iki.fi/printing-wa10/ might be useful [03:28:00.0000] <annevk> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-parsing.html [03:28:01.0000] <annevk> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tokenisation.html [03:28:02.0000] <annevk> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tree-construction.html [03:28:03.0000] <annevk> is all you need [03:28:04.0000] <mikeday> at least the prose should be marginally more understandable than the Mozilla codebase, right? :) [03:29:00.0000] <annevk> i was able to implement (together with jgraham_ and others) the thing in Python based on prose [03:30:00.0000] <mikeday> sounds like a challenge :) [03:30:01.0000] <hsivonen> mikeday: I hadn't thought of an array-based DFA [03:31:00.0000] <annevk> unrelated: something with opinions on execCommand()? execCommand('indent') for instance produces <blockquote> in IE [03:31:01.0000] <annevk> we copied that [03:31:02.0000] <hsivonen> mikeday: the spec is more understandable than Mozilla, yes. and Mozilla doesn't even implement the spec, yet. [03:31:03.0000] <annevk> mozilla puts a margin-left:40px on the element [03:31:04.0000] <annevk> same for things like the 'italic' and 'bold' commands [03:31:05.0000] <mikeday> hsivonen: Mozilla being out of sync with the spec could be seen as a defect in the spec... [03:31:06.0000] <annevk> differences all over [03:31:07.0000] <hsivonen> annevk: I prefer IE behavior there [03:32:00.0000] <annevk> hsivonen, also 'italic' -> <em>, 'bold' -> <strong>? [03:32:01.0000] <hsivonen> annevk: no, <i> and <b> [03:32:02.0000] <hsivonen> annevk: Safari is probably worse [03:32:03.0000] <annevk> mikeday, Mozilla has some really weird quirks [03:32:04.0000] <annevk> hsivonen, Safari actually does <i> and <b> [03:32:05.0000] <mikeday> annevk, are they consistent with IE's weird quirks, or unique to Mozilla? [03:33:00.0000] <hsivonen> mikeday: Gecko's HTML parsing is really, really weird in rather pointless ways. the spec most closely resembles WebKit [03:33:01.0000] <annevk> mikeday, unique to Mozilla [03:33:02.0000] <mikeday> ah, okay then. [03:33:03.0000] <annevk> the spec is closer to webkit / ie I think [03:34:00.0000] <annevk> minus the crasher from webkit :) [03:34:01.0000] <mikeday> annevk, roughly how long did it take to get html5lib working? [03:35:00.0000] <annevk> we didn't work on it fulltime [03:35:01.0000] <annevk> but in a week we had something working iirc [03:36:00.0000] <annevk> hsivonen, care to elaborate on why you prefer <blockquote>? [03:36:01.0000] <annevk> /me doesn't care [03:36:02.0000] <annevk> we got at least one complain though [03:36:03.0000] <annevk> on http://www.quirksmode.org/dom/execCommand.html [03:36:04.0000] <hsivonen> annevk: it is more tractable to CMSs that do not want to dive into CSS [03:36:05.0000] <hsivonen> annevk: I'd prefer <indent>, but it has to be called <blockquote> for compat [03:37:00.0000] <hsivonen> annevk: if you are writing a CMS and want to use a browser-based editor, Gecko and WebKit emitting style='' aren't helping at all [03:38:00.0000] <annevk> fair point [03:38:01.0000] <hsivonen> annevk: are those who complain CMS vendors or armchair semanticists? [03:39:00.0000] <hsivonen> oh. it was PPK! [03:39:01.0000] <hsivonen> /me didn't read right at first [03:40:00.0000] <hsivonen> Gecko, WebKit and Presto would do well if they didn't introduce gratuitous deviations from Trident for execCommand [03:41:00.0000] <annevk> but <strong> versus <b> is ok? [03:41:01.0000] <annevk> i suppose [03:41:02.0000] <hsivonen> annevk: it is pointless but easily normalized to either one in the CMS [03:42:00.0000] <annevk> some CMS vendors wanted <em> and <strong> because it was more semantic [03:43:00.0000] <hsivonen> those vendors have to semanticize the stuff they receive from Trident anyway [03:44:00.0000] <annevk> Trident gives you <em> and <strong> [03:44:01.0000] <hsivonen> ooh. [03:45:00.0000] <hsivonen> well, <em> and <strong> it is, then [03:45:01.0000] <hsivonen> more nails to the coffin [03:46:00.0000] <hsivonen> (of the de jure semantics of <em> and <strong>) [03:46:01.0000] <annevk> oh yeha [03:46:02.0000] <annevk> people don't understand half how "bad" the situation is [03:54:00.0000] <zcorpan> seems like toolman doesn't care if the spec is useful to anyone, he just doesn't want the de jure semantics of elements to change [03:59:00.0000] <annevk> use HTML4? [03:59:01.0000] <annevk> languages evolve, deal with it [03:59:02.0000] <annevk> is what i'd say [04:13:00.0000] <Dashiva> Who is this toolman? [04:13:01.0000] <Hemebond> Is it the improvetheweb.com guy? [04:15:00.0000] <zcorpan> http://www.autisticcuckoo.net/ [04:19:00.0000] <Hemebond> Oh yeah. That's the one I was thinking of. [04:20:00.0000] <Hemebond> I'm with him on most points I think. From what I can remember of the post. [04:22:00.0000] <zcorpan> Hemebond: can you elaborate on what the benefit is to retain the old de jure semantics even when it doesn't match the real world? [04:24:00.0000] <mikeday> do browsers have to care about semantics? or only editors? [04:24:01.0000] <annevk> browsers have to care about <a> for instance [04:24:02.0000] <annevk> and browsers support some type of editing: contenteditable and designMode [04:24:03.0000] <zcorpan> mikeday: markup consumers [04:24:04.0000] <zcorpan> not just browsers [04:25:00.0000] <mikeday> annevk, right, but eg. <em> vs. <i> [04:25:01.0000] <mikeday> or <i> vs <span> for that matter [04:25:02.0000] <mikeday> zcorpan, eg. google? [04:25:03.0000] <zcorpan> mikeday: yes [04:25:04.0000] <zcorpan> mikeday: browsers probably want to mark <i> and <em> different from the surrounding text in some way [04:26:00.0000] <zcorpan> e.g. italics or inverted colors or in speech in a different tone [04:26:01.0000] <zcorpan> while treat <span> the same as surrounding text [04:27:00.0000] <mikeday> right. [04:27:01.0000] <mikeday> em, i { font-style: italic } [04:27:02.0000] <zcorpan> yeah [04:27:03.0000] <zcorpan> for visual browsers [04:27:04.0000] <mikeday> but that treats both elements *identically* [04:27:05.0000] <zcorpan> mikeday: yes [04:27:06.0000] <mikeday> I guess what I'm getting at, is that a lot of time is spent discussing semantics of elements for the spec [04:28:00.0000] <zcorpan> indeed [04:28:01.0000] <mikeday> when in practice, the semantics end up getting decided after the fact, by informal agreement amongst users and implementors [04:28:02.0000] <zcorpan> indeed [04:28:03.0000] <zcorpan> what the spec says doesn't change the real world [04:28:04.0000] <zcorpan> it can either reflect the real world or be irrelevant [04:28:05.0000] <mikeday> descriptive vs. prescriptive, ie. HTML is like an extension of natural language [04:29:00.0000] <mikeday> or informal markup conventions, eg. smileys :) :( [04:29:01.0000] <mikeday> a "spec" for smileys would not be useful; a "guide" to smileys would be more appropriate [04:30:00.0000] <mikeday> or are :) and ^_^ actually just different syntactic forms for the same underlying DOM... [04:30:01.0000] <zcorpan> @_@ [04:31:00.0000] <mikeday> if the amount of effort spent on <i> and <em> semantics had been spent defining *table* semantics [04:31:01.0000] <mikeday> well, that would be good. [04:33:00.0000] <zcorpan> tables is another thing [04:33:01.0000] <zcorpan> screen readers have to figure out when a table is used for layout and when it is used for data [04:33:02.0000] <mikeday> to be honest, I really mean table rendering rather than semantics [04:33:03.0000] <zcorpan> ah [04:33:04.0000] <zcorpan> ok [04:33:05.0000] <mikeday> but given that tables are used 90% of the time to achieve a visual effect, that seems reasonable [04:35:00.0000] <zcorpan> not sure if it's worth figuring out what screen readers do and then define an algorithm for the purpose of determinating whether a <table> is used for layout or data [04:35:01.0000] <zcorpan> probably an area where screen readers can compete on being useful [04:40:00.0000] <annevk> Does anyone happen to know if HTML5 now accurately describes how <body onload=> versus window.onload etc. defines? [04:46:00.0000] <annevk> s/defines/works/ [04:46:01.0000] <annevk> doesn't look like it [05:17:00.0000] <hsivonen> I wonder if I'm too offensive with a bullet point that says "anyURI is a joke" [05:18:00.0000] <annevk> it would make you funny [05:18:01.0000] <annevk> not offensive [05:18:02.0000] <hsivonen> annevk: as in people laughing at me or as in people laughing at anyURI? [05:19:00.0000] <hsivonen> anyURI is just so mind-boggingly badly specced [05:19:01.0000] <annevk> at anyURI and to you [05:19:02.0000] <annevk> (as opposed to "at you") [05:19:03.0000] <hsivonen> ok [05:21:00.0000] <mikeday> is anyURI an XSD schema thing? [05:21:01.0000] <hsivonen> mikeday: yes [05:22:00.0000] <hsivonen> mikeday: the definition has always been foggy and it has changed with every spec revision. eventually they conceded that any finite string is a valid anyURI [05:22:01.0000] <hsivonen> really useful indeed [05:22:02.0000] <mikeday> /me grins [05:22:03.0000] <mikeday> at least URIs of infinite length are ruled out :) [05:23:00.0000] <mikeday> I find file:// URLs the most annoying, personally [05:24:00.0000] <annevk> /me finds most URLs annoying [05:24:01.0000] <annevk> /me tries not to deal with them [05:24:02.0000] <annevk> Actually, I rather like data: URIs except that it should be made more clear what # does [05:25:00.0000] <mikeday> annevk works on the web, annevk tries not to deal with URLs [05:25:01.0000] <mikeday> amazing annevk's head has not yet exploded :) [05:26:00.0000] <mikeday> (I quite agree though, URLs suck) [05:26:01.0000] <Hemebond> URLs suck? [05:27:00.0000] <mikeday> suck == poorly specified [05:27:01.0000] <Hemebond> oh [05:27:02.0000] <mikeday> not UNICODE-aware [05:28:00.0000] <annevk> they are sort of UNICODE aware [05:28:01.0000] <mikeday> and stupid syntax [05:28:02.0000] <annevk> but the specs don't match the implementations [05:28:03.0000] <annevk> it's a big mess [05:28:04.0000] <annevk> and the people who once made it all happen don't clean it up [05:29:00.0000] <annevk> (see also HTTP, CSS, DOM, XML and several other specs) [05:29:01.0000] <annevk> well, CSS is still being cleaned up [05:29:02.0000] <annevk> to be fair [05:29:03.0000] <mikeday> I still find it amazing sometimes, that the fundamental tech. of our time is so poorly worked out [05:30:00.0000] <mikeday> XML is fairly clean these days, if you ignore its dependencies on URLs [05:32:00.0000] <mikeday> (XML not including XSD schema). [05:32:01.0000] <annevk> and not including DTDs? [05:33:00.0000] <mikeday> well, DTDs are *clean*, they're just *lame* [05:34:00.0000] <mikeday> but the spec defines what to do with them [05:34:01.0000] <mikeday> arguably parameter entities could be specified in a more thorough manner [05:35:00.0000] <annevk> yeah, fair enough [05:35:01.0000] <mikeday> obviously an XML 2.0 could make some improvements, but at least the XML 1.0 spec agrees with reality. [05:36:00.0000] <annevk> not with character encoding and non well-formedness on mobile content and such [05:37:00.0000] <annevk> and feeds [05:37:01.0000] <hsivonen> mikeday: the reality of how IDness is established doesn't always agree with specs [05:37:02.0000] <mikeday> feeds are not XML [05:37:03.0000] <mikeday> that's more a problem with RSS specs than XML spec [05:38:00.0000] <mikeday> hsivonen, right, which kind of situations though? [05:38:01.0000] <hsivonen> mikeday: DTDless XHTML for example [05:39:00.0000] <mikeday> DTDless XML of any kind has no ID attributes, except for xml:id [05:39:01.0000] <hsivonen> mikeday: you want to have a filter somewhere that makes id an ID [05:39:02.0000] <hsivonen> mikeday: that's exactly the kind of unrealism I am talking about [05:40:00.0000] <hsivonen> mikeday: fortunately, Prince works with reality here :-) [05:40:01.0000] <mikeday> hmm. Does it? :) [05:40:02.0000] <mikeday> /me checks Prince [05:40:03.0000] <hsivonen> mikeday: yes. document-internal links to ids work without a DTD [05:40:04.0000] <mikeday> ah. [05:40:05.0000] <mikeday> that's because we don't use XML IDness to determine links :) [05:41:00.0000] <annevk> Jonas Sicking proposed to make every id= attribute act as ID [05:41:01.0000] <annevk> /me likes that [05:41:02.0000] <mikeday> /me likes that too [05:41:03.0000] <mikeday> don't think it will fly, though. [05:41:04.0000] <annevk> and his argument is that we'd just be changing getElementById() and #id [05:42:00.0000] <annevk> not XML [05:42:01.0000] <mikeday> right [05:42:02.0000] <annevk> which could work in theory [05:42:03.0000] <annevk> if all browser vendors just implement it at some point a standard will catch up... [05:42:04.0000] <hsivonen> annevk: I think it should be defined an XHTML id processor between the XML processor and the app. (with a permission to implement differently if indistinguishable) [05:43:00.0000] <annevk> this is not just about XHTML [05:43:01.0000] <hsivonen> annevk: that's how I implement it concretetly, btw [05:43:02.0000] <hsivonen> annevk: well, an 'id processor' then [05:44:00.0000] <annevk> fair enough [05:44:01.0000] <annevk> and sure [05:44:02.0000] <annevk> as long as everything works as you'd expect I don't really care how it's defined [05:44:03.0000] <mikeday> must go [05:44:04.0000] <mikeday> /me waves [05:44:05.0000] <hsivonen> bye [05:44:06.0000] <annevk> bye [05:48:00.0000] <hsivonen> /me adds a slide about IDness [05:52:00.0000] <annevk> oh good [05:52:01.0000] <annevk> Acid3 doesn't test the very evil of implied <head> parsing [05:52:02.0000] <hsivonen> /me now has a slide titled "Future of IDness" [05:54:00.0000] <annevk> do you follow the Moz xml:id bug? [05:54:01.0000] <hsivonen> not actively [05:54:02.0000] <hsivonen> every four months or so :-) [05:54:03.0000] <annevk> https://bugzilla.mozilla.org/show_bug.cgi?id=275196 [05:54:04.0000] <annevk> same here [05:54:05.0000] <annevk> it doesn't change more often anyway [05:59:00.0000] <hsivonen> metooed what I just said here on the bug as well [06:32:00.0000] <Dashiva> annevk: What is the very evil? [06:55:00.0000] <annevk> </head><style></style><p> [06:55:01.0000] <annevk> where <style> ends up in <head> [07:13:00.0000] <gsnedders> annevk: well, I'm not really working on a PHP parser… too many exams :( [07:13:01.0000] <annevk> Huh? [07:14:00.0000] <annevk> This is the second time you say something to me I don't get :) [07:14:01.0000] <annevk> First OS X, now a PHP parser... [07:14:02.0000] <gsnedders> annevk: a PHP HTML5 parser… I have no time to work on it, so I'm not working on it :P [07:14:03.0000] <annevk> Sure, but did I ask about it? :) [07:14:04.0000] <gsnedders> you said I was working on one earlier :P [07:15:00.0000] <Philip`> http://krijnhoetmer.nl/irc-logs/whatwg/20070511#l-150 ? [07:15:01.0000] <gsnedders> /me can't read. [07:15:02.0000] <annevk> indeed [07:15:03.0000] <annevk> :) [07:20:00.0000] <gsnedders> zcorpan: you've missed translating one quote [07:20:01.0000] <zcorpan_> oops [07:20:02.0000] <gsnedders> zcorpan: "Webbläsare kan inte göra så mycket skoj med <p>. Oavsett vad specen säger att en <p> representerar." is meaningless to me :) [07:58:00.0000] <annevk> zcorpan, anything else that should be dropped? :) [08:00:00.0000] <zcorpan> annevk: don't think so [08:00:01.0000] <zcorpan> /me still needs to write those test cases he promised to do [08:01:00.0000] <annevk> yeah [08:02:00.0000] <zcorpan> perhaps text/xsl from the list of what is an XML MIME type, at least if ie doesn't treat it as such anyway [08:03:00.0000] <annevk> i suppose [08:47:00.0000] <hsivonen> /me realizes that SVG has unfortunate xml:id/id IDness interaction [08:47:01.0000] <annevk> SVG 1.2 has [08:47:02.0000] <annevk> but that's a non backwards compatible change [08:48:00.0000] <annevk> which seems badly informed [08:49:00.0000] <hsivonen> yeah. [08:49:01.0000] <hsivonen> any chance of getting it repealed? [08:49:02.0000] <annevk> dunno [08:50:00.0000] <annevk> i keep hoping [08:50:01.0000] <hsivonen> /me wonders whether he should write an "XML ID 5" spec [08:50:02.0000] <annevk> :) [08:51:00.0000] <hsivonen> annevk: have objections been filed against SVG 1.2 on this topic? [08:51:01.0000] <annevk> copy xml:id and s/xml:id/id/ plus some other minor fixes :) [08:51:02.0000] <annevk> I believe people did do that, yes [08:51:03.0000] <annevk> but maybe not clear enough [08:51:04.0000] <annevk> SVG also requires XML Events, Traits and other things [08:54:00.0000] <hsivonen> last night, I read slides from a WWW2007 slideshow that mentioned xml:id and XML Events as spinoffs of XHTML 2.0 [08:54:01.0000] <othermaciej> SVG 1.2 is full of silly things [08:54:02.0000] <hsivonen> othermaciej: which why I've been saying that SVG 1.1 is part of my long-term goals for the conformance checker [08:56:00.0000] <othermaciej> SVG 1.1 has some silly things too, like SVG fonts [08:56:01.0000] <annevk> I would love a revision of SVG in Hixie or equivalent style [08:58:00.0000] <othermaciej> SVG is huge [08:59:00.0000] <othermaciej> just the language I mean [08:59:01.0000] <annevk> Yeah [08:59:02.0000] <annevk> I'm trying to find a week to spend on learning more of SVG [08:59:03.0000] <annevk> I'm able to create rectangles, circles, gradients and all that, but there's so much more... [09:00:00.0000] <hsivonen> my SVG knowledge is not quite up to date. I studied the spec pre-1.0, because I wrote a magazine article about it back then [09:01:00.0000] <hsivonen> however, I've learned a thing or two about practical SVG when drawing the figures for my thesis [09:02:00.0000] <hsivonen> annevk: for example, Opera 9.20 does not seem to treat viewBox as the intrinsic aspect ratio of <svg>, which sucks [09:02:01.0000] <hsivonen> and Prince seems to calculate height percentages differently from Gecko, WebKit and Presto [09:02:02.0000] <annevk> SVG always has an intrinsic height and width I think so I'm not sure what that would do [09:03:00.0000] <annevk> (Although that depends on who you ask. Some will say that percentage widths are in fact not intrinsic widths.) [09:04:00.0000] <hsivonen> annevk: for practical purposes, it should be easy and possible to say that I want the <svg> element to have a width set by me and the UA to compute the height of the box so that the aspect ratio of viewBox is preserved [09:04:01.0000] <hsivonen> this doesn't just work [09:04:02.0000] <hsivonen> which suck big time [09:04:03.0000] <hsivonen> sucks [09:04:04.0000] <nickshanks> it works for me [09:04:05.0000] <annevk> yeah, height= defaults to 100%... [09:04:06.0000] <nickshanks> set viewBox and width, but leave height off [09:04:07.0000] <annevk> (and width= too, for that matter) [09:04:08.0000] <hsivonen> nickshanks: works for you across Gecko, Presto, WebKit and Prince? good for you [09:05:00.0000] <nickshanks> well, I only tried with WebKit and the wikipedia svg2png rasteriser [09:05:01.0000] <annevk> although I suppose a height of a 100% might make the intrinsic height ignored in case of an auto or percentage height parent in which case you would use the aspect ratio... [09:05:02.0000] <hsivonen> also, I learned that the SVG export of OmniGraffle Pro sucks big time [09:05:03.0000] <annevk> but that's a guess [09:06:00.0000] <nickshanks> i have OmniG. Pro, can test if you want [09:06:01.0000] <hsivonen> Illustrator CS2 with text converted to path gives the best visual fidelity for PDF conversions [09:06:02.0000] <hsivonen> and Inkscape is the best for creating SVG where text is text (not paths) [09:06:03.0000] <nickshanks> nah, BBEdit is the best for that [09:06:04.0000] <hsivonen> all in all, not ready for J. Random illustrator :-( [09:07:00.0000] <hsivonen> nickshanks: I used a combo of Inkscape, TextWrangler and oXygen [09:07:01.0000] <hsivonen> again, not ready for "normal" people [09:07:02.0000] <nickshanks> i just use a text editor (sometimes BBEdit, sometimes TextMate) [09:08:00.0000] <nickshanks> but then i don't draw tigers [09:08:01.0000] <hsivonen> annevk: in Presto, WebKit and Gecko height='100%' is computed from the containing block height [09:08:02.0000] <hsivonen> annevk: in Prince from the containing block width [09:09:00.0000] <hsivonen> oh, and I learned that Presto and Prince don't support arrowheads [09:09:01.0000] <hsivonen> this needs to work much smoother to compete with Flash, PDF and Silverlight [09:09:02.0000] <nickshanks> does PDF have arrowheads? [09:10:00.0000] <hsivonen> nickshanks: I don't remember, but any decent PDF-outputting illustration program does [09:10:01.0000] <nickshanks> i've always just used triangles on the end of the line [09:11:00.0000] <hsivonen> nickshanks: manually placed? [09:11:01.0000] <nickshanks> yes [09:11:02.0000] <hsivonen> not fun [09:11:03.0000] <annevk> hsivonen, sure [09:11:04.0000] <annevk> hsivonen, I blame the spec [09:12:00.0000] <nickshanks> text in Presto is huge too [09:12:01.0000] <hsivonen> annevk: I want both CSS and SVG fixed so that reasonable use cases are easy [09:12:02.0000] <annevk> I would love to improve SVG, but I'm swamped with other stuff [09:12:03.0000] <nickshanks> or is it really small? i forget, one of them [09:12:04.0000] <annevk> Unless someone can take over editing of several specs from me [09:12:05.0000] <nickshanks> annevk: what are you working on? [09:14:00.0000] <annevk> xhr, xhr2, cssom, widgets and access-control [09:14:01.0000] <annevk> (that's part of my job though, there's more...) [09:15:00.0000] <nickshanks> hmm, http://dev.w3.org/cvsweb/csswg/cssom/Overview.html?rev=1.35#cssfontfacerule [09:16:00.0000] <nickshanks> IE, Prince and now WebKit have @font-face supported [09:16:01.0000] <annevk> I know [09:16:02.0000] <nickshanks> i wouldn't call it obsolete :) [09:16:03.0000] <annevk> Been a while since I looked at that [09:16:04.0000] <annevk> At that point the idea was to have font-family:url() [09:21:00.0000] <annevk> Might make sense to revamp that API anyhow [09:24:00.0000] <hsivonen> nickshanks: it appears that PDF doesn't have native arrowheads [09:25:00.0000] <nickshanks> okay, good. means i don't have to feel aggrieved at not having used them before :o) [09:26:00.0000] <hsivonen> nickshanks: do you write PDF in BBEdit, too? [09:27:00.0000] <nickshanks> no, not that skilled. i use adobe Illustrator (it's mostly creating resolution independent buttons for my software on Leopard) [09:28:00.0000] <nickshanks> though I ought to learn how. I am quite skilled at cleaning up SVG (reduce code size, optimising drawing etc) and i should learn the same for PDF [09:29:00.0000] <nickshanks> e.g. a filled circle and two stroked lines (pause button) is 20 KB [09:32:00.0000] <nickshanks> the SVGs I optimise at wikipedia tend to come out at between 8% and 50% of their original size [09:33:00.0000] <hsivonen> nickshanks: does wikipedia show SVG to new browsers? [09:34:00.0000] <nickshanks> no, it always returns the cached rasterisation [10:12:00.0000] <MikeSmith> zcorpan - you in Sweden? [10:42:00.0000] <zcorpan> MikeSmith: yes [11:40:00.0000] <bewest> would it be possible to get a bot in here similar to the ones in some other channels, where something like `input will tell the bot to provide the link to that element in the spec? [11:44:00.0000] <bewest> lol... if you get hit by a car, does it make you feel better that it's the driver's fault? [11:46:00.0000] <zcorpan> graceful error handling is like a car that doesn't hit anyone, even when the driver does things wrong [11:46:01.0000] <bewest> hmm... according to Don Norman, users first blame themselves when technology goes wrong; even when the issue clearly doesn't involve them [11:47:00.0000] <bewest> the first effect would probably be a reduced or even negative growth of people using the web [11:59:00.0000] <Hixie> did dan really just close down the html5 working group or is it my imagination [12:00:00.0000] <Hixie> i hope he doesn't expect progress on the spec to stop too... [12:00:01.0000] <bewest> did something other than "we suggest taking the weekend off" happen? [12:00:02.0000] <othermaciej> he ordered it to go on involuntary vacation until we have a tracking system and a review agenda [12:00:03.0000] <othermaciej> which I think is silly [12:00:04.0000] <Hixie> it's fine by me, i have to say [12:00:05.0000] <othermaciej> (on vacation from email/commenting) [12:00:06.0000] <gsnedders> Hixie: I guess it allows you to catch up :P [12:00:07.0000] <Hixie> comments still welcome on whatwg⊙wo! and on the whatwg forums! [12:01:00.0000] <Hixie> gsnedders: i'm caught up on public-html mail [12:01:01.0000] <gsnedders> Hixie: I mean all the back-suggestions, the 1000-odd emails [12:01:02.0000] <Hixie> oh, indeed [12:03:00.0000] <Lachy> anything that reduces the volume of email from public-html is fine by me. That'll give us more time to do the real work on whatwg :-) [12:04:00.0000] <Hixie> yeah [12:04:01.0000] <Hixie> i just don't get why danc would want whatwg to be the place to do work [12:05:00.0000] <bewest> Hixie: maybe because stuff actually gets done [12:06:00.0000] <bewest> public-html is full or arguments from people who apparently don't share the perspective outlined in the opera position paper back in 2004 [12:06:01.0000] <bewest> especially, the ideas of migration path and supporting existing content [12:07:00.0000] <bewest> s/full or/full of/ [12:07:01.0000] <Hixie> i don't know about "full of" [12:07:02.0000] <bewest> pregnant with [12:08:00.0000] <Hixie> there's maybe a dozen vocal opponents that i can see, most of which just seem generally confused (as opposed to having actual arguments against the proposed design critecial) [12:08:01.0000] <Hixie> criteria [12:08:02.0000] <bewest> yes, it's a property of the messages, not the membership [12:08:03.0000] <Hixie> indeed [12:09:00.0000] <Hixie> woot, iTunes claims to have fixed my Tao of Rodney! [12:09:01.0000] <Hixie> /me gets out his mac to download it [12:10:00.0000] <Lachy> what's Tao of Rodney? [12:10:01.0000] <Hixie> latest stargate atlantis episode [12:10:02.0000] <Lachy> which ep number? [12:10:03.0000] <Hixie> they accidentally uploaded the latest stargate sg-1 episode instead the first time [12:11:00.0000] <Lachy> ah, s3 e15. Seen that [12:11:01.0000] <Hixie> 14, i think [12:11:02.0000] <Lachy> yeah, typo [12:11:03.0000] <Hixie> s3 e14, episode id 315 [12:11:04.0000] <Hixie> (amusingly) [12:11:05.0000] <Lachy> yeah, I just noticed [12:12:00.0000] <Hixie> i hate that i could have seen all of sg1 and atlantis already if i didn't respect copyright laws [12:12:01.0000] <Hixie> i'm trying to throw money at this people and they won't take it fast enough! [12:13:00.0000] <Lachy> I respect them enough to not violate them when they give me a fair deal [12:14:00.0000] <Lachy> but I can't buy Stargate from iTunes cause I'm in Australia [12:15:00.0000] <hsivonen> let's hope that by the last day of XTech everyone know about HTML5, so that I can get rid of intro slides... [12:15:01.0000] <bewest> jgraham_: last time I loaded your parser view thing, it didn't seem to work. the lower pane was always empty [12:32:00.0000] <hsivonen> /me learns about http://www.exforms.org/ [12:39:00.0000] <nickshanks> did i not hear they were making a new stargate film [12:39:01.0000] <Hixie> they've been saying that since season 5 [12:39:02.0000] <nickshanks> but i mean that it's in production now that CG-1 has finished [12:39:03.0000] <nickshanks> *SG [12:40:00.0000] <Hixie> *shrug* [12:41:00.0000] <Lachy> yes, there's 2 direct-to-DVD films in production now [12:41:01.0000] <Hixie> direct to iTunes too, i hope [12:42:00.0000] <Lachy> yeah [12:42:01.0000] <nickshanks> does that mean i need to buy a cinema? [12:42:02.0000] <Lachy> I just meant, not going to the cinema [12:42:03.0000] <nickshanks> yeah, but so i can watch them in one? :) [12:42:04.0000] <Lachy> nickshanks, you will be required to buy an expensive home cinema :-) [12:42:05.0000] <hsivonen> /me believes the correct spelling is stargåte [12:43:00.0000] <Lachy> hsivonen, no, the A is replaced with the symbol for earth in the logo [12:43:01.0000] <nickshanks> well in the original film Daniel wrote the translation as "star gate" IIRC [12:43:02.0000] <nickshanks> on the chalkboard [12:44:00.0000] <Lachy> I don't think there was a space [12:44:01.0000] <Lachy> I could check if you like, I have the DVD here [12:44:02.0000] <nickshanks> i have the, erm, DivX handy too [12:44:03.0000] <Hixie> it's "STARGATE" [12:45:00.0000] <Hixie> no fancy anything, though some As are turned into /\ characters with a ring on top [12:45:01.0000] <Hixie> e.g. the second A in ATLANTIS [12:45:02.0000] <Hixie> or the second A in STARGATE-SG1 [12:45:03.0000] <nickshanks> obviously the first A isn't good enough [12:46:00.0000] <hsivonen> Hixie: my friends and I tend to pronounce it as if "gåte" was a Swedish word [12:47:00.0000] <Hixie> heh [12:48:00.0000] <Lachy> /me is looking forward to the first webisode of Sanctuary on Monday [12:48:01.0000] <Hixie> hsivonen: stahr-goh-te? :-) [12:48:02.0000] <hsivonen> Hixie: yes [12:49:00.0000] <Hixie> hehe [12:49:01.0000] <Lachy> what the? Does that sound like star-goat? [12:49:02.0000] <Hixie> "stahr-goh-teh", rather [12:49:03.0000] <Lachy> ok [12:50:00.0000] <Hixie> probably emphasised "stahrGoh-teh" [12:50:01.0000] <nickshanks> enter the star goat [12:50:02.0000] <Hixie> anyway [12:50:03.0000] <Hixie> i'm gonna go grab a burrito [12:50:04.0000] <Hixie> and watch my stargoat! [12:50:05.0000] <Lachy> :-) [12:50:06.0000] <Lachy> I'm off to bed, g'night all [12:52:00.0000] <hsivonen> Lachy: nn [12:57:00.0000] <nickshanks> @media print { paper-source: cotton; denomination: "£20"; watermark: queens-head; } [13:05:00.0000] <maikmerten> hello, I'm just dropping news that Wikipedia now supports <video> as implemented by the experimental Opera build [13:05:01.0000] <maikmerten> see http://commons.wikimedia.org/wiki/Category:Video for a list of available video files [13:05:02.0000] <maikmerten> or see it directly in action e.g. at http://tools.wikimedia.de/~gmaxwell/jorbis/commonsJOrbisPlayer.php?path=Controlled+Impact+Demonstration+2.ogg [13:06:00.0000] <hasather> maikmerten: cool, thanks [13:06:01.0000] <maikmerten> hasather, well, I only wrote the detection code, I'm not connected to Wikipedia, so I'll just route your thanks into the correct direction [13:07:00.0000] <maikmerten> that online player checks for <video>, VLC plugin, any plugin registering application/ogg or uses Java (if available) as fallback [13:07:01.0000] <maikmerten> so it's pretty versatile [13:08:00.0000] <maikmerten> and enables video playback on e.g. Ubuntu out of the box (Ubuntu comes with the Totem browser plugin by default, and that of course supports Ogg) [13:13:00.0000] <hsivonen> maikmerten: cool! [13:14:00.0000] <maikmerten> yeah, I'm glad Wikipedia is so quick adopting new stuff [13:14:01.0000] <maikmerten> and I'm sure this gives a nice testbed for browser implementations [13:14:02.0000] <maikmerten> (at least for the basic features... play... stop... buffering...) [13:15:00.0000] <jgraham> bewest: WFM with google.com (it's kinda slow though). Does it break everywhere for you? If it's just a few sites then there might be a bad interaction between the site and the script that builds the DOM [13:15:01.0000] <jgraham> specifically I think document.write running on page load will break everything [13:16:00.0000] <othermaciej> wikipedia adopting it is a little worrisome, especially since Opera's experimental implementation likely doesn't match the spec any more [13:17:00.0000] <maikmerten> othermaciej, it's only using play() and stop()... I don't think that'll ever break [13:17:01.0000] <maikmerten> and of course it'll be fitted to the final spec [13:17:02.0000] <maikmerten> /me looks at the current draft to see if something vital has changed [13:25:00.0000] <maikmerten> hmm... actually I'm too blind to see stop() anywhere [13:25:01.0000] <maikmerten> there's play() and pause(), but I'm missing stop() [13:26:00.0000] <zcorpan> maikmerten: perhaps it was dropped? :) [13:26:01.0000] <maikmerten> perhaps [13:26:02.0000] <maikmerten> but then I don't see a valid replacement for it [13:27:00.0000] <othermaciej> most video player UIs don't actually have a stop operation [13:27:01.0000] <maikmerten> (currently I don't see how you'd properly restart media file playback) [13:27:02.0000] <othermaciej> but if you want one, you can pause() and reset the current time to start [13:28:00.0000] <maikmerten> okay, that sounds like a plan [13:28:01.0000] <maikmerten> an idea if the experimental Opera build supports that... [13:28:02.0000] <maikmerten> well, nah, doesn't matter [13:28:03.0000] <maikmerten> software shouldn't be written against that [13:28:04.0000] <maikmerten> otherwise people will rightfully scream "what part of 'experimenta' didn't you get?" ;-) [13:29:00.0000] <maikmerten> s/experimenta/experimental [13:35:00.0000] <maikmerten> okay, I'd say "document.getElementById(\"video_element\").pause(); document.getElementById(\"video_element\").start = 0;" should mimic a stop button [13:36:00.0000] <maikmerten> in the public (outdated, so it seems) Opera build setting start to zero doesn't seem to work [13:41:00.0000] <zcorpan> there is a public build of opera that supports <video>? [13:42:00.0000] <maikmerten> labs.opera.com [13:42:01.0000] <maikmerten> but seems the API isn't following the current <video> draft [13:42:02.0000] <maikmerten> (no surprise, that build isn't really fresh anymore) [13:43:00.0000] <maikmerten> (plus: it's experimental) [13:44:00.0000] <zcorpan> oh, i thought it was internal builds only [13:44:01.0000] <zcorpan> /me is installing [13:44:02.0000] <zcorpan> separate or upgrade? [13:44:03.0000] <maikmerten> I'd strongly advise installing it separately [13:44:04.0000] <zcorpan> yeah [13:47:00.0000] <zcorpan> ooh, nice! [13:47:01.0000] <zcorpan> /me plays in a data: uri [13:50:00.0000] <hsivonen> too many slides :-( [13:50:01.0000] <hsivonen> have to take out the IDness stuff :-( [13:51:00.0000] <zcorpan> perhaps class="" should always signal classness [13:53:00.0000] <maikmerten> okay, the wikimedia player now has a pause button instead of stop (that'll get reintroduced once the draft is stable and there are new builds with the new API implemented) [13:53:01.0000] <maikmerten> I guess play() and pause() will stick, so that should be safe [14:02:00.0000] <maikmerten> oh, and in case the JavaScript you can see in that Wikipedia player is blinding you: Don't blame them, blame me. I haven't written JavaScript for years and never was good in it to begin with ;) [14:03:00.0000] <maikmerten> (just the usual disclaimer, guess some real web programming experts may be in this channel) [14:20:00.0000] <Hixie> nice summary http://www.sitepoint.com/blogs/2007/05/10/six-months-later-the-new-html-working-group/ [14:20:01.0000] <hsivonen> hmm. so now the title of the spec is "HTML 5" not "HTML5" [14:21:00.0000] <Hixie> what's the difference? [14:21:01.0000] <hsivonen> Hixie: the space [14:21:02.0000] <Hixie> if people want some trivia that distinguishes us from other people, we can say that "HTML 5" is the name of the spec and "HTML5" is the name of the language... [14:22:00.0000] <hsivonen> :-) [14:22:01.0000] <hsivonen> I guess omitting the space is the WHATWG shibboleth [14:23:00.0000] <Hixie> it's like CSS21 vs CSS 2.1 [14:23:01.0000] <Hixie> i'm kinda happy with the abstract of the w3c version of the html5 spec [14:24:00.0000] <Hixie> it ushers in the new wave of spec design and brushes off the last few years of non-work all in one neat paragraph [14:30:00.0000] <othermaciej> I'm surprised to see someone call the HTML5 proposal a "Surprise Proposal" [14:31:00.0000] <Dashiva> Is the w3 version linked anywhere yet? [14:31:01.0000] <Hixie> dev.w3.org/cvsweb/html5/spec/ [14:31:02.0000] <Hixie> iirc [14:32:00.0000] <Philip`> http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html?content-type=text/html;%20charset=utf-8 specifically, but cvsweb will hate you for downloading it [14:32:01.0000] <Hixie> yeah that's kinda funny [14:32:02.0000] <Hixie> you download it and it locks you out :-) [14:33:00.0000] <Dashiva> Not like I -wanted- to use that mean web server anyway. I bet it has cooties :p [14:55:00.0000] <Hixie> 29 canvas e-mails remaining [14:55:01.0000] <Hixie> other than those asking for a text output api [15:00:00.0000] <hsivonen> Hixie: will you reconsider dashed stroking? [15:02:00.0000] <Hixie> yeah, there's a bunch of mail outstanding on it from a few days ago [15:03:00.0000] <Hixie> from a quick skim i didn't see anything that seemed convincingly in favour of it though [15:03:01.0000] <Hixie> especially given the demo [15:04:00.0000] <hsivonen> Hixie: not even that it seems to be a standard part of the PostScript/PDF imaging model? [15:04:01.0000] <Hixie> how is that relevant? [15:04:02.0000] <hsivonen> Hixie: presumably, offering it is cheap if back end libraries implement it anyway [15:04:03.0000] <Hixie> plenty of things are cheap, but not offered [15:06:00.0000] <hsivonen> I thought canvas was supposed to put a JS API on the PDF imaging back end with all the usual stuff [15:07:00.0000] <hsivonen> /me uses dashed strokes in static diagrams relatively often [15:07:01.0000] <Hixie> nope, it just provides a js direct mode bitmap api [15:07:02.0000] <Hixie> it's not an api to any particular undelying api [15:07:03.0000] <Hixie> understand that i'm not particularly against dashed strokes, i'm just trying to keep the api to a minimum, and so something has to be cut -- and dashed strokes simply aren't very frequently requested [15:08:00.0000] <Hixie> if we did add dashed strokes, though, i bet the next request would be control the dash pattern [15:08:01.0000] <hsivonen> of course I was expecting control of the dash pattern [15:08:02.0000] <Hixie> see, it's a slippery slope :-) [15:08:03.0000] <hsivonen> i.e. exposing the PDF 1.4 drawing back end in JS [15:08:04.0000] <Dashiva> Guys, you need to be more semantic in your use of dash, so my highlighter knows if it refers to me :) [15:09:00.0000] <Hixie> hah [15:10:00.0000] <hsivonen> Hixie: it appears I've misunderstood what canvas is supposed to be. :-/ [15:10:01.0000] <Hixie> i don't understand why you thought it had anything to do with a particular underlying api [15:11:00.0000] <hsivonen> Hixie: not API but imaging model [15:11:01.0000] <hsivonen> Hixie: PostScript begat PDF, PDF begat Quartz 2D, Quartz 2D begat canvas [15:11:02.0000] <Hixie> it's certainly not that simple at either of those steps, though i agree there was strong influence down that line [15:12:00.0000] <hsivonen> Hixie: I expect canvas to expose the PDF 1.4 imaging model in a way that maps reasonably to C libraries designed to implement the imaging model [15:12:01.0000] <hsivonen> Hixie: I understand that you don't want more than one way to do things when canvas already does something. [15:13:00.0000] <hsivonen> Hixie: but dash arrays are a hard-to-emulate part of the imaging model [15:13:01.0000] <Hixie> so's text [15:13:02.0000] <Hixie> and we don't have that [15:13:03.0000] <hsivonen> Hixie: not text layout [15:13:04.0000] <Hixie> we don't have any text at all [15:13:05.0000] <hsivonen> Hixie: only drawing a glyph at the current point [15:14:00.0000] <Philip`> About the dash demo, apparently it fails unpleasantly on certain curves and sharp corners. That might just be a fixable bug in the demo, but it's a bit messy and still can't do proper dashed curves [15:14:01.0000] <Hixie> Philip`: indeed [15:14:02.0000] <hsivonen> Hixie: exposing text is harder than exposing dashing [15:14:03.0000] <Hixie> i'm just saying that we're not trying to be the be-all and end-all of all drawing APIs [15:14:04.0000] <Philip`> (s/it's a bit messy/any approach based on simulating dashes within JS/) [15:14:05.0000] <Hixie> some features don't make the cut [15:14:06.0000] <hsivonen> Hixie: it's not like dashing is something that back ends would have to add. they have it already [15:15:00.0000] <Hixie> hsivonen: i'm not making any arguments regarding the complexity of implementation [15:17:00.0000] <jgraham> FWIW I would expect dashed lines to be present too for e.g. plotting applications [15:22:00.0000] <Philip`> http://canvaspaint.org/ - that's doing dashed lines (for the selection tool) [15:23:00.0000] <zcorpan> Philip`: cool! [15:25:00.0000] <Philip`> It looks like it's using the image http://canvaspaint.org/icons/dashed2.gif as a repeated pattern in order to draw the dashed outline [15:26:00.0000] <Philip`> which won't work at all for non-rectangular selections (which aren't supported in that program - don't know if that's because the dashes were too hard or the whole selection thing was too hard) [15:27:00.0000] <othermaciej> I think dashed strokes aren't a very extreme feature [15:27:01.0000] <othermaciej> but maybe better saved for the next version [15:27:02.0000] <Hixie> this whole editing the spec thing would be going much better if cgi.w3.org wasn't dead [15:28:00.0000] <Philip`> Was v2 mostly adding setTransform? (I can't remember what else seemed new...) [15:29:00.0000] <Philip`> and has anybody released a browser with the v2 features yet? [15:29:01.0000] <Hixie> getImageData/putImageData, setTransform, and isPointInPath [15:29:02.0000] <Philip`> Ah, okay [15:30:00.0000] <Hixie> and maybe transform() [15:30:01.0000] <Hixie> i don't recall [15:30:02.0000] <Philip`> I wouldn't have thought it's too late now to add things to v2, since it doesn't need to be frozen for compatibility if nobody's released it yet [15:31:00.0000] <Hixie> you don't freeze a spec when an implementation is released, you freeze a year before release [15:32:00.0000] <Hixie> also, every feature added is expensive, though some are even more expensive than others [15:32:01.0000] <Philip`> Oh, that makes sense [15:32:02.0000] <Hixie> so you have to go slowly [15:33:00.0000] <othermaciej> I'm still not sure getImageData is sensible [15:34:00.0000] <Philip`> The specific definition, or the whole concept? [15:34:01.0000] <Philip`> I like the concept because it means I can write canvas tests without having to manually check the output of hundreds of them :-) [15:35:00.0000] <Hixie> othermaciej: oh? [15:35:01.0000] <othermaciej> given the possibility of device-specific scaling, it's hard to make interoperable code that actually reads the data [15:35:02.0000] <Philip`> (Actually, I guess I could work around that by assuming toDataURL is deterministic and then extracting a pixel into a new canvas and toDataURLing and comparing to a known image... That'd be very evil, though) [15:35:03.0000] <othermaciej> using it with putImageData is fine, but reading the pixels is dubious [15:36:00.0000] <Hixie> othermaciej: the expected use case is you read the data with getID, apply a filter to all the data, then put it back with putID [15:36:01.0000] <Hixie> othermaciej: you're not really expected to get single pixel values (though i'm sure people will) [15:36:02.0000] <othermaciej> the data attribute is readonly - how would you apply a filter? [15:36:03.0000] <Hixie> the reference to the array is readonly. the actual pixels aren't. [15:37:00.0000] <othermaciej> oh [15:37:01.0000] <othermaciej> is that how IDL works? [15:37:02.0000] <Hixie> it's how my IDL works [15:37:03.0000] <Hixie> :-) [15:37:04.0000] <Hixie> the IDL in the html5 spec is a mess [15:37:05.0000] <Hixie> there's a big thing about that at the top [15:38:00.0000] <othermaciej> anyway, since the width and height might be different even if you got image data the same box, it seems likely to have potential for interop problems [15:38:01.0000] <othermaciej> in fact, any filter you did that isn't scale-independent would have to figure out the scale factor [15:39:00.0000] <othermaciej> (like gaussian blur with a radius of 3 canvas pixels, if there's a 2x device scale factor, would have to be done as a 6 pixel blur) [15:39:01.0000] <othermaciej> I'm not really sure how to solve this though [15:40:00.0000] <Philip`> Are people going to want to implement it with a non-integer number of device pixels per canvas pixel? [15:40:01.0000] <Hixie> yeah what's in the spec seems like the best of a bad set of options [15:40:02.0000] <othermaciej> Philip`: probably, yes [15:40:03.0000] <othermaciej> Mac OS X supports non-integral UI scale factors [15:41:00.0000] <othermaciej> perhaps making the canvas pixel to device pixel scale factor directly visible in the API would make this a bit more clear [15:41:01.0000] <othermaciej> I dunno [15:43:00.0000] <Philip`> Would it be bad to make the canvas use a number of device pixels that's an integer multiple of the canvas pixels, then scale the final bitmap up by a non-integer amount before drawing to the screen? That'd probably avoid the nasty cases of getImageData not mapping to a simple well-defined group of device pixels [15:44:00.0000] <othermaciej> yes, that's possible [15:44:01.0000] <Philip`> (Then ImageData could just tell you the number of device pixels per canvas pixel, and you could work everything out by easy multiplication, without worrying about rounding and things) [15:45:00.0000] <othermaciej> though if your scale factor is 4:3, you need a 3x buffer, which is a little sad [15:48:00.0000] <Philip`> I was thinking you could store a 1x buffer then scale the bitmap by 4/3 when copying to the screen, or a 2x buffer and scale by 2/3 (which I guess would be less blurry output). Might not look good in practice, though [15:49:00.0000] <Hixie> it doesn't actually matter in practice [15:49:01.0000] <Hixie> because getID and putID only deal with device pixels [15:49:02.0000] <Hixie> not canvas pixels [15:49:03.0000] <Hixie> (other than for selecting the region, but that's a float) [15:51:00.0000] <Philip`> The problem is in the mapping between device pixels and canvas pixels - I think it'd be much easier to understand if you could call getImageData(x, y, 1, 1) and be certain you'll get n*m pixels (for some known positive integers n and m), rather than getting some arbitrary number that depends on x and y and could be zero [15:51:01.0000] <Hixie> why would you call gID with 1,1? [15:52:00.0000] <Philip`> To find the colour of a pixel, like with the colour-picker tool in a paint program [15:53:00.0000] <Hixie> for that case you can just use the first pixel [15:53:01.0000] <Hixie> where's the problem? [15:53:02.0000] <Philip`> As far as I understand it, it could return zero pixels of data [15:53:03.0000] <Hixie> why? [15:53:04.0000] <othermaciej> Philip`: it could only be zero if you have a < 1 scale factor [15:54:00.0000] <hsivonen> hmm. three XTech timeslots where I find it hard to decide which session to attend... [15:54:01.0000] <Philip`> Does anything prevent there being a < 1 scale factor? [15:54:02.0000] <othermaciej> Philip`: I think with non-integer scale factors of the backing store, implementing the requirement that putImageData(getImageData()) be idempotent is extremely difficult [15:54:03.0000] <Hixie> surely it's just a matter of rounding the same way? [15:56:00.0000] <othermaciej> /me thinks [15:57:00.0000] <othermaciej> maybe that part is not hard; more that doing a putImageData() at a different location of the same data could have odd-looking results [15:57:01.0000] <othermaciej> you could get cracks where you expected things to line up seamlessly [15:57:02.0000] <Hixie> yup, but if you want to move data, you should use drawImage() [15:58:00.0000] <Hixie> gID and pID really are only for two use cases, applying filters, and the colour picker -- for the colour picker case maybe i should make the spec guarentee that h*w >= 1 [16:03:00.0000] <zcorpan> perfect! now i know how we should make the spec easier to read! http://venturebeat.com/2007/05/10/live-ink-offers-better-way-to-read-text-online/ [16:04:00.0000] <Philip`> For filters that need to know the device scale factor (Gaussians etc), I suppose you could estimate it by dividing the returned .width and the parameter sw, at least for large enough areas that you won't get rounding problems - I don't know whether it'd be worth having ImageData explicitly tell you the scale factor [16:05:00.0000] <Hixie> zcorpan: you want me to turn the spec into one long poem? :-) [16:06:00.0000] <zcorpan> yeah :) [16:06:01.0000] <zcorpan> it would turn it into 1500 pages in print [16:07:00.0000] <hsivonen> zcorpan: they aren't eating their own dogfood for their paper [16:08:00.0000] <zcorpan> http://www.accessifyforum.com/viewtopic.php?p=52490#52490 [16:40:00.0000] <hsivonen> http://en.wikipedia.org/w/index.php?title=Web_Hypertext_Application_Technology_Working_Group&curid=1789925&diff=125647714&oldid=123198165 [16:40:01.0000] <Hixie> heh [16:40:02.0000] <Hixie> that's news to me [16:41:00.0000] <Dashiva> Well, they wouldn't be very undercover if they told you [16:41:01.0000] <Hixie> that page has so many errors [16:41:02.0000] <Hixie> anyway [16:42:00.0000] <othermaciej> but it's Truthy! [16:42:01.0000] <hsivonen> reverted [16:43:00.0000] <Hixie> the version of reality before you reverted was better [16:44:00.0000] <Dashiva> We need a quantum wikipedia, which alters reality to the truth you edit into it [16:44:01.0000] <hsivonen> Hixie: how so? [16:44:02.0000] <Hixie> that would be really freaking dangerous [16:44:03.0000] <Hixie> hsivonen: if microsoft actually were involved, it would be awesome [16:45:00.0000] <Hixie> (in the whatwg, i mean) [16:45:01.0000] <hsivonen> I see [16:46:00.0000] <zcorpan> data: [i for (i in function (n) { for (let i = 0; i < n; i += 1) yield 0 }(w*h*4)) ] [16:47:00.0000] <zcorpan> /me dosn't recognize that syntax :| [16:47:01.0000] <Hixie> js 1.7 [16:47:02.0000] <Dashiva> also known as pythonscript [16:47:03.0000] <bewest> ooOoooo [16:47:04.0000] <Philip`> http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7 [16:47:05.0000] <Hixie> (works in fx2) [16:49:00.0000] <zcorpan> i get "Error: missing ; after for-loop initializer" [16:49:01.0000] <dbaron> there should *really* be a simpler way to do that [16:50:00.0000] <Philip`> It'd be better if they copied more of Python and let you write "[0] * (w*h*4)" [16:51:00.0000] <Hixie> zcorpan: make sure you say <script type="text/javascript;version=1.7"> [16:52:00.0000] <zcorpan> ah [16:52:01.0000] <zcorpan> ok [16:55:00.0000] <zcorpan> Hixie: "There's still no way to _get_ the transformation matrix, but you can not _set_ the transformation matrix now, which should be of help here." did you mean s/not // ? [16:56:00.0000] <Hixie> i meant "now" [16:56:01.0000] <Hixie> oops [16:56:02.0000] <Hixie> always get those mixed up [16:57:00.0000] <zcorpan> that's what you get for using dvorak :P [16:57:01.0000] <Hixie> hehe [16:57:02.0000] <Hixie> actually i get them confused in qwerty too [16:57:03.0000] <Hixie> i think it's a brain thing [16:57:04.0000] <Hixie> not a finger thing [16:58:00.0000] <zcorpan> oh [16:58:01.0000] <Hixie> i notice a lot of other people doing it too [16:58:02.0000] <dbaron> is one of them me? [16:59:00.0000] <Hixie> dunno [16:59:01.0000] <Hixie> maybe :-) 2007-05-12 [17:01:00.0000] <Hixie> 24 <canvas> mails left [17:01:01.0000] <Hixie> (not counting text issues) [01:22:00.0000] <annevk> Hixie, what would be nice if .fillStyle returned a four-digit array instead [01:23:00.0000] <annevk> and the same for .strokeStyle [01:23:01.0000] <annevk> that would be much more trivial to parse [01:23:02.0000] <Hixie> it would also make it impossible to do .fillStyle = .fillStyle [01:24:00.0000] <Hixie> unless we added yet another way of assigning colour [01:24:01.0000] <Hixie> but anyway, who the heck is parsing these colours [01:24:02.0000] <Hixie> you had to set them yourself [01:24:03.0000] <Hixie> you KNOW what the colour is [01:33:00.0000] <annevk> people parse it [01:33:01.0000] <annevk> apparently [01:33:02.0000] <annevk> and yes, it would mean assigning would have to accept a four-digit array [01:36:00.0000] <annevk> I guess I raised some problems multiple times because I don't keep track of the e-mails I have already sent [01:53:00.0000] <Hixie> :-) [01:53:01.0000] <Hixie> i wasn't criticising [01:53:02.0000] <Hixie> just thought it was amusing :-) [01:54:00.0000] <annevk> btw, as for dropping features, did anyone implement shadows already? [02:05:00.0000] <Hixie> safari, i assume [02:05:01.0000] <Hixie> that was in their initial description [02:05:02.0000] <annevk> oh ok [02:10:00.0000] <othermaciej> we do shadows? [02:10:01.0000] <othermaciej> cool [02:10:02.0000] <Hixie> i haven't tested it [02:10:03.0000] <Hixie> at l0east not recently [02:11:00.0000] <annevk> heh [02:12:00.0000] <annevk> the primary use case for having totally global id= is getting the requirement for xml:id out of SVG [02:12:01.0000] <Hixie> why? [02:12:02.0000] <Hixie> svg already has id="" [02:12:03.0000] <Hixie> it only uses xml:id in svg 1.2, no? and svg 1.2 is a waste of time anyway. [02:13:00.0000] <othermaciej> svg added xml:id on the theory that it would be play nicer with embedding markup in other languages [02:13:01.0000] <othermaciej> (apparently xhtml 1.0 and xhtml 1.1 were not considered among the important languages to embed) [02:13:02.0000] <othermaciej> does MathML have any attributes of type ID? [02:13:03.0000] <othermaciej> RSS? Atom? [02:13:04.0000] <annevk> SVG Tiny 1.2 is happing at least for Opera [02:13:05.0000] <hsivonen> the way SVG 1.2 specs IDness assignment is crazy [02:13:06.0000] <annevk> /me doesn't have time to do SVG fights atm [02:14:00.0000] <hsivonen> can be please get it repealed somehow? [02:14:01.0000] <Hixie> annevk: sorry to hear that [02:14:02.0000] <othermaciej> we probably won't implement SVG 1.2 in WebKit, maybe selected parts, but likely not the whole thing [02:14:03.0000] <annevk> /me isn't sure about SVG 1.2 though [02:14:04.0000] <Hixie> annevk: who's doing the qa? [02:15:00.0000] <annevk> not sure [02:17:00.0000] <annevk> Seems Acid3 has some script issues btw which causes it not to run [02:17:01.0000] <hsivonen> it would be nice to have a spec for the subset of SVG that Opera, Apple and Mozilla implement [02:18:00.0000] <annevk> That would be a tutorial [02:18:01.0000] <hsivonen> annevk: I mean SVG5 [02:19:00.0000] <hsivonen> annevk: something realistic you could check conformance against [02:19:01.0000] <hsivonen> annevk: If I support SVG 1.1 but browsers support pieces of SVG 1.2, those pieces get flagged [02:20:00.0000] <annevk> Someone just has to free up his time for the foreseeable future and do it... I suppose [02:20:01.0000] <hsivonen> annevk: If I supported SVG 1.2, I'd fail to flag stuff that authors should avoid [02:20:02.0000] <annevk> /me doesn't know much about vector graphics and doesn't have much free time [02:23:00.0000] <Hixie> acid3 isn't ready yet [02:25:00.0000] <annevk> maikmerten, hi, Opera's implementation of <video> is experimental [02:26:00.0000] <maikmerten> annevk, yup [02:26:01.0000] <annevk> as such, we don't support all members of HTMLMediaElement [02:26:02.0000] <maikmerten> yeah, only a basic subset [02:27:00.0000] <maikmerten> I expected nothing else - doing a full scale implementation only makes sense once the <video> part of the spec is considered stable [02:28:00.0000] <annevk> Our submission along with the work from Apple actually made Hixie draft that part of the spec as I understand it [02:28:01.0000] <maikmerten> annevk, by the way, any plans to expose the Theora postprocessing options in Opera? [02:28:02.0000] <Hixie> that could be a problem, since it won't be stable until there are at least two implementations :-) [02:28:03.0000] <annevk> And it basically consisted of .play() .pause() and .stop() if I remember correctly [02:29:00.0000] <maikmerten> I did write howcome and told him about the new Theora code (improved encoder, complete and safe decoder) but I guess that the mail was eaten by a spam filter ;) [02:29:01.0000] <maikmerten> yeah, and stop() more or less vanished, so it seems [02:29:02.0000] <annevk> I believe .stop() is not part of the specification, not sure [02:29:03.0000] <annevk> right [02:29:04.0000] <annevk> oh, also in the implementation? [02:29:05.0000] <maikmerten> nope [02:29:06.0000] <maikmerten> the experimental build has stop() [02:30:00.0000] <maikmerten> after finding out that the spec only has pause() the wikimedia player was altered to honor this [02:30:01.0000] <annevk> ah ok [02:31:00.0000] <annevk> if you guys would like a bit more than play() and pause() I suppose you could post that somewhere and I'll see what I can do [02:31:01.0000] <maikmerten> well, a stop() would be cool ;) - but that can be mimicked with pause() and start set to zero, I guess [02:32:00.0000] <annevk> Hixie, any reason there's no stop()? [02:32:01.0000] <Hixie> what would it do? [02:32:02.0000] <maikmerten> stop playback and set the playback position to zero [02:32:03.0000] <maikmerten> (which can be achieved with the current draft in two steps already.... so...) [02:32:04.0000] <Hixie> ah. then there is. it's just spelt a bit longer: m.pause(); m.duration = 0; [02:32:05.0000] <annevk> (Although what I meant was features missing in Opera.) [02:33:00.0000] <annevk> you actually mean the more horrible currentTime [02:33:01.0000] <Hixie> right [02:33:02.0000] <Hixie> m.pause(); m.currentTime = 0; [02:34:00.0000] <annevk> /me would like to have stop() back [02:34:01.0000] <annevk> It was also on Audio() [02:35:00.0000] <Hixie> if it did something that you couldn't otherwise do... [02:35:01.0000] <Hixie> i'm not a fan of adding shortcuts before we know if anyone will use them [02:35:02.0000] <maikmerten> oh, one thing: A reliable way to find out if <video> is supported would be nice. Currently I'm just embedding a <video> element without src, fetch that with getElementById and see if that has a play method [02:36:00.0000] <maikmerten> don't know if that is how it's supposed to be [02:36:01.0000] <maikmerten> and in the long term a way to query mime types supported by audio/video may be nice, too [02:37:00.0000] <Hixie> if (video.play) is one way to find out [02:37:01.0000] <Hixie> anyway, i'm off hame [02:37:02.0000] <Hixie> nn [02:37:03.0000] <annevk> g'night [02:37:04.0000] <maikmerten> night [02:39:00.0000] <annevk> Hixie, hmm, Wikipedia would use them :) [02:40:00.0000] <othermaciej> maikmerten: the intent is that you specify multiple sources with <source> elements instead of querying [02:40:01.0000] <maikmerten> as for the mime type querying: Sooner or later as codec development goes on user agents may pick up new codecs (on the free side Ogg Ghost + Ogg Dirac or whatever, on the other side the future MPEG codecs) and content providers may want to be able to see what's supported. Plus as Ogg is a SHOULD some implementations may not implement it and then the either a fallback should be able to kick in or just tell the user [02:40:02.0000] <maikmerten> ah, k [02:40:03.0000] <maikmerten> that's an even better solution that's scripting independent [02:40:04.0000] <othermaciej> maikmerten: video codec support also is in general more fine-grained than mime types [02:40:05.0000] <maikmerten> fair point [02:41:00.0000] <maikmerten> currently e.g. the Wikimedia player queries the mime types and if it finds application/ogg (VLC plugin, totem plugin) it just assumes that Ogg plugin will also support video [02:41:01.0000] <othermaciej> and the <source> element supports that via the MIME type codecs parameter [02:41:02.0000] <othermaciej> it would be hard for a plugin to report all combos of the codecs parameter it supports [02:41:03.0000] <maikmerten> true [02:42:00.0000] <maikmerten> <annevk> Hixie, hmm, Wikipedia would use them :) <-- well, Wikipedia will adapt to whatever is specified here, it shouldn't be the other way round [02:43:00.0000] <maikmerten> the fact it's already having experimental <video> support is more to give a real-life testing ground for implementations and to voice support for the idea [02:43:01.0000] <annevk> /me was lobbying for less changes to Opera :) [02:44:00.0000] <annevk> but yeah [02:44:01.0000] <maikmerten> haha, right, standard procedure when several vendors come together... "Why not adapt to what we already have?" ;-) [02:45:00.0000] <maikmerten> I nominate <layer> ;) [02:45:01.0000] <hsivonen> I have now readjusted truthiness regarding the WHATWG and HTML5 [02:45:02.0000] <hsivonen> on wikipedia, that is [02:46:00.0000] <maikmerten> I parse that as "I edited the whatwg article on wikipedia", correct? [02:46:01.0000] <hsivonen> maikmerten: and HTML5 and HTML [02:46:02.0000] <maikmerten> ah, nice [02:47:00.0000] <annevk> I like http://en.wikipedia.org/wiki/HTML5 [02:47:01.0000] <annevk> "The HTML5 language is defined by a draft specification called “HTML 5” (note the space)." [02:47:02.0000] <hsivonen> maikmerten: the article was called truthy last night, because it had some bogus stuff in it [02:47:03.0000] <maikmerten> well, as usual ;) [02:48:00.0000] <maikmerten> (I *like* Wikipedia, but at times the strangest conceptions make it into articles because no real expert monitors them) [02:48:01.0000] <annevk> It's also hard to get some articles changed, like HTML [02:49:00.0000] <annevk> Although now HTML5 is done at the W3C it should be more easy I guess [02:49:01.0000] <hsivonen> annevk: I cited emails on lists.w3.org to avoid immediate reverts to the old accepted truth [02:49:02.0000] <maikmerten> (by the way: Is there a reliable way to see if Java is *working* apart from embedding an applet and seeing if JavaScript can interact with that?) [02:50:00.0000] <annevk> you might not have to embed it [02:50:01.0000] <annevk> you could create the elements (such as <video> simply through script) [02:50:02.0000] <annevk> and then do the check [02:51:00.0000] <annevk> video = document.createElement('video'); if(video.play) { etc. } [02:53:00.0000] <maikmerten> oh, sweet [02:53:01.0000] <maikmerten> my JavaScript skills sorta cover whatever came with Netscape 3.0 ;-) [02:53:02.0000] <annevk> nice [02:53:03.0000] <maikmerten> (and with "cover" I mean "I think I know 10% of that") ;) [02:54:00.0000] <maikmerten> time to educate myself on the DOM [02:55:00.0000] <othermaciej> hmm, the WHATWG article still mentions microsoft [02:55:01.0000] <othermaciej> http://en.wikipedia.org/wiki/Whatwg [02:57:00.0000] <hsivonen> othermaciej: but now accurately, I hope [02:57:01.0000] <annevk> othermaciej, what it says there is correct though, right? [02:57:02.0000] <othermaciej> what I see is "The key contributing groups in the WHATWG are Google, the Mozilla Foundation, Opera Software, Apple Inc. and Microsoft." [02:57:03.0000] <hsivonen> othermaciej: reload [02:58:00.0000] <hsivonen> othermaciej: I guess you have an old cached version [02:58:01.0000] <hsivonen> othermaciej: either in your caches or in wikipedia's [02:58:02.0000] <othermaciej> hsivonen: just did; perhaps I'm a victim of too aggressive caching somewhere [02:59:00.0000] <othermaciej> hsivonen: seems to be in my browser cache [03:00:00.0000] <annevk> /me wonders why Wikipedia doesn't do redirects "better" [03:01:00.0000] <othermaciej> I wonder why the description of the WHATWG membership in the Discuss page for that article says "Maciej Stachowiak [ worked on Safari ]" [03:01:01.0000] <othermaciej> none of the others are in the past tense [03:03:00.0000] <annevk> dunno [03:03:01.0000] <maikmerten> I don't consider the discuss pages to be "canon" information [03:04:00.0000] <maikmerten> (wow, I just sounded like a Star Trek fan) [03:04:01.0000] <othermaciej> whoever wrote the post saying that was confused I think [03:05:00.0000] <othermaciej> damn, I screwed up the comment threading [03:05:01.0000] <othermaciej> maikmerten: is it considered bad form for someone closely associated with a product / project to edit the articles about it a lot? [03:06:00.0000] <maikmerten> othermaciej, good question - depends. Rule of thumb would say it's bad style [03:06:01.0000] <othermaciej> maikmerten: I really want to make a bunch of changes to the WebCore and WebKit articles (mainly merge most of the content into the WebKit one and change all the rendering engine list/comparison pages to point to WebKit instead of WebCore) but I'm worried this would be considered inappropriate [03:07:00.0000] <maikmerten> well, if the content is on a purely technical level I don't see why developers shouldn't be able to contribute [03:07:01.0000] <maikmerten> after all that is not the usual company propaganda thing that is controversial [03:08:00.0000] <maikmerten> err, semantics were wrong on the last sentence [03:08:01.0000] <othermaciej> I do have a lot of personal expert information which might not be based on published info [03:08:02.0000] <maikmerten> as long as it stays on a technical level it's okay, I'd guess. Problematic would be company propaganda [03:08:03.0000] <othermaciej> like what apps link to WebCore directly vs linking to WebKit [03:09:00.0000] <othermaciej> but that is easily verifiable [03:09:01.0000] <othermaciej> (at least for people who have access to the app) [03:09:02.0000] <maikmerten> oh, and disclaimer: I'm not part of the Wikipedia project, just assist a bit with video technology related stuff [03:09:03.0000] <annevk> Are you part of the Theora project? [03:10:00.0000] <maikmerten> well, yes and no. Not official member of xiph.org but I'm hanging around in the #theora channel and contributed a bit on the encoder [03:10:01.0000] <annevk> k [03:11:00.0000] <maikmerten> the border is a bit unclear as xiph.org isn't a real company but more a group of free media technology guys [03:14:00.0000] <maikmerten> (well, to be precise: It is a legal entity complete with a board etc. - but that doesn't mean you have to be "member" of some sort to contribute) [04:23:00.0000] <Philip`> About accepting [r,g,b,a] as input to fillStyle/strokeStyle, that'd be kind of handy since normally I have to write a [r,g,b,a]-to-"rgba(...)" function every time I do anything with colours, and have to worry about silly things like r,g,b being 0-255 while a is 0-1. (Not exceptionally handy and maybe not worth the cost, though.) [04:25:00.0000] <annevk> is "a" in ImageData.data 0-225? [04:25:01.0000] <annevk> I think you should mention the above on the list [04:25:02.0000] <Philip`> It is [04:25:03.0000] <annevk> cool [04:26:00.0000] <annevk> currently it accepts CSS for ease of use, but if you actually need to convert to CSS first it's not really "easy" anymore and just adds to the processing cost [04:27:00.0000] <Philip`> It's possibly nice that you can do HSL the same way as RGB when it's through CSS, which would no longer be the same if you had [r,g,b(,a)] arrays, but I don't know if anybody actually wants to use HSL [04:29:00.0000] <annevk> you want ,a to be optional? [04:29:01.0000] <annevk> it would still accept CSS I think [04:31:00.0000] <Philip`> Is there any reason not to make it optional? People will want solid colours more than they want transparent colours, so it would seem nicer to simplify that case rather than requiring a redundant ',255' every time [04:31:01.0000] <othermaciej> maybe functions to make and parse color strings would be more useful [04:31:02.0000] <othermaciej> the array could only support a limited number of color formats [04:32:00.0000] <annevk> Philip`, fair enough [04:32:01.0000] <annevk> othermaciej, thought about that... yet more global methods? [04:32:02.0000] <othermaciej> but makeRGB, makeRGBA, makeHSL, makeHSLA, etc could do it [04:32:03.0000] <othermaciej> they don't necessarily need to be global [04:32:04.0000] <othermaciej> could be part of the CSSOM [04:32:05.0000] <othermaciej> method on CSSColorValue constructor maybe [04:33:00.0000] <annevk> that might work [04:33:01.0000] <annevk> /me thought of having CSSColorValue.data[0,0,0,0] as opposed to .red, .green .blue and .alpha [04:35:00.0000] <othermaciej> .rgbaData might make more sense [04:35:01.0000] <othermaciej> but I'm not sure it is more clear than named properties [04:36:00.0000] <annevk> me neither [05:14:00.0000] <annevk> nice Philip` [06:53:00.0000] <hsivonen> cool. my HTML5 revisions to wikipedia are still standing after 4 hours [06:55:00.0000] <annevk> heh [06:57:00.0000] <annevk> ooh, those are pretty controversial [06:58:00.0000] <annevk> /me had only seen the first [07:09:00.0000] <hsivonen> annevk: what's controversial? [07:09:01.0000] <hsivonen> annevk: I tried to stick to stating facts [07:10:00.0000] <annevk> controversial facts, if you wish [08:38:00.0000] <annevk> http://en.wikipedia.org/wiki/XHTML might need updates as well [08:48:00.0000] <hsivonen> annevk: feel free to edit :-) [08:49:00.0000] <annevk> It's been said that I hate XHTML [08:49:01.0000] <annevk> Any edit would immediately be reverted [08:49:02.0000] <met_> edit it anonymously [08:51:00.0000] <hsivonen> ooh. they cite the Mozilla Web Author FAQ [08:52:00.0000] <annevk> I'm sure someone else will fix it in due course [08:53:00.0000] <Philip`> http://en.wikipedia.org/w/index.php?title=XHTML&oldid=129295550 - I prefer that version of the facts [08:56:00.0000] <annevk> :) [08:57:00.0000] <hsivonen> :-) [08:57:01.0000] <zcorpan_> hsivonen: "Namespace at-rules are supported." they are supported in HTML mode too [08:57:02.0000] <zcorpan_> (from the faq) [08:58:00.0000] <hsivonen> zcorpan_: do you mean they work right if you introduce other namespaces via DOM manipulation? [08:58:01.0000] <zcorpan_> yes. or if you just declare a bogus namespace then it won't match html elements [08:59:00.0000] <hsivonen> zcorpan_: OK. I take your word for it. [08:59:01.0000] <zcorpan_> html elements are in the xhtml namespace as far as css selectors are concerned [08:59:02.0000] <zcorpan_> in mozilla and opera and safari too iirc [08:59:03.0000] <zcorpan_> (even though they are in the null namespace in the DOM) [09:02:00.0000] <hsivonen> zcorpan_: fix checked in. should appear in the next site rebuild [09:02:01.0000] <hsivonen> zcorpan_: thanks for the report [09:02:02.0000] <zcorpan_> "Other namespaces are supported." and "xml:base is observed when following links." also are no different from HTML, except that you can't use them declaratively [09:03:00.0000] <hsivonen> hmm. I wonder if the point is too subtle for the FAQ [09:03:01.0000] <zcorpan_> perhaps... i realise it's intended to say "you can't use this" [09:04:00.0000] <annevk> not useful to mention I think [09:04:01.0000] <annevk> you can't use them in HTML, you can use them in the DOM [09:05:00.0000] <zcorpan_> yeah, fair enough [09:06:00.0000] <annevk> /me wonders what should happen with var imagedata = { height:1, width:2, data=[...], example:3 } [09:07:00.0000] <annevk> the other question is whether it's useful that you're able to create your own objects... [09:07:01.0000] <annevk> as <canvas> represents a grid that doesn't reflect device pixels [09:08:00.0000] <annevk> it seems extremely easy to get it wrong [09:09:00.0000] <Philip`> It might make extensibility a bit harder too, if ImageData is modified in the future (e.g. to say how many device pixels per canvas pixel, or to indiciate a non-RGB colour space, or whatever) but people are passing in objects with those new attributes missing [09:09:01.0000] <Philip`> s/indiciate/indicate/ [09:12:00.0000] <Philip`> It doesn't seem unreasonable to have people write var d; with (document.createElement('canvas')) { width = 100; height = 100; d = getContext('2d').getImageData(0, 0, width, height); } [09:12:01.0000] <Philip`> ...assuming every canvas has the same device pixel / canvas pixel mapping [09:13:00.0000] <annevk> yeah [09:13:01.0000] <Philip`> (I guess there's already an assumption that that mapping doesn't change over time, e.g. if you do getImageData then the user changes their desktop resolution then you do putImageData) [09:14:00.0000] <Dashiva> Philip`: Let's not encourage use of with too much [09:14:01.0000] <annevk> especially since people tend to test only one browser... [09:14:02.0000] <annevk> nothing wrong with with [09:14:03.0000] <Philip`> Dashiva: I generally hate with because it seems confusing and error-prone, but I didn't want to bother declaring another variable :-) [09:15:00.0000] <annevk> this feature allows you to imlement filters and I suppose that in theory you don't really care about the canvas pixels then but authors will break stuff [09:16:00.0000] <Philip`> For image filtering, it would be quite nice if the browser could JIT your JS code into optimised SIMD array operations... [09:17:00.0000] <Philip`> (Actually, I have no idea how fast it is with plain JS operating on arrays of integers) [09:20:00.0000] <Philip`> Oh, one problem with implementing filters... [09:20:01.0000] <Philip`> Normally you want access to both the old and new arrays of pixels [09:20:02.0000] <Philip`> (because you need all the old values in order to compute the new ones) [09:21:00.0000] <Philip`> but that doesn't seem easy with ImageData - you have to somehow copy the .data array into a new array, then modify the values in .data [09:22:00.0000] <Philip`> whereas it'd seem more natural (and more efficient) to use the old values from .data and create a new array, then swap that new array back into the ImageData [09:22:01.0000] <Philip`> (but you can't because the array reference is readonly) [09:25:00.0000] <annevk> you could simply create a new object it seems [09:25:01.0000] <annevk> but given that you can do that it doesn't make much sense for .data to be readonly imo [09:26:00.0000] <annevk> although the design is quite clear I don't think I particularly like these methods [09:26:01.0000] <annevk> I'm pretty sure authors will almost directly rely on them returning specific results [09:30:00.0000] <annevk> cool, bbc guys will show up at XTech [09:31:00.0000] <annevk> /me hopes they can give some info on Dirac [09:33:00.0000] <hsivonen> annevk: do they have a session? [09:34:00.0000] <annevk> dunno, just saw some guy from bbc commenting on molly.com [09:36:00.0000] <maikmerten> I hope Dirac's bitstream specification will be declared stable in a foreseeable timeframe so useful implementation can be assembled [09:36:01.0000] <maikmerten> (that'd be schrodinger.sf.net - dirac's real-life implementation) [09:37:00.0000] <Philip`> annevk: Oh, oops, I forgot you could create a new one [09:38:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/filter.html - takes about 1.5 seconds to do the simplest useful filter on 300x150 pixels [09:39:00.0000] <Philip`> (...in FF3) [09:42:00.0000] <Dashiva> I didn't know crashing my opera was a useful filter, but okay [09:42:01.0000] <annevk> /me will file the bug [09:42:02.0000] <Philip`> Oh, that's not quite the intent [09:43:00.0000] <annevk> it's good [09:43:01.0000] <Philip`> Opera 9.20 avoids crashing, which is good :-) [09:43:02.0000] <annevk> better to discover it now [09:45:00.0000] <Philip`> /me still forgot about imgdata.width != canvas.width when he first wrote this code [09:45:01.0000] <annevk> right [09:47:00.0000] <Philip`> (At least the filter algorithm doesn't care about that issue, but I was looping over the wrong array range) [09:49:00.0000] <annevk> /me e-mails the list [09:52:00.0000] <Philip`> It would be alright if imgdata.width != canvas.width all the time in every browser, because then everybody would notice when they first tried testing [09:52:01.0000] <annevk> or simply assume it's 2* [09:52:02.0000] <Philip`> (but that would be silly for implementations which have one canvas pixel per device pixel) [09:53:00.0000] <annevk> the thing is that can paint on half a pixel in theory [09:53:01.0000] <annevk> because everything is float (ugh! thanks Apple) based [09:54:00.0000] <annevk> if that wasn't the case you could just force 1 = 1 i suppose [09:55:00.0000] <Philip`> http://canvaspaint.org/paint.js - their getPixel assumes imgd.width == canvas.width [09:55:01.0000] <Philip`> (Not sure why they commented out that code, though...) [09:56:00.0000] <Philip`> (unless it was just because nobody had implemented getImageData when they wrote that page) [09:56:01.0000] <annevk> didn't work maybe? [09:57:00.0000] <annevk> Opera getPixel() actually assumes 1=1 as well in some way though I suppose it returns slightly weird things if you painted half a pixel before invoking it or something [09:58:00.0000] <annevk> /me wonders if anybody actually uses the floats [09:59:00.0000] <Philip`> http://svn.sourceforge.net/viewvc/*checkout*/jsmsx/trunk/msx.js?revision=20 - they get it wrong too [09:59:01.0000] <annevk> can you maybe cite those on the list? [09:59:02.0000] <annevk> otherwise I'm willing to do it [10:00:00.0000] <Philip`> I will do - I'll just see if I can find anybody doing it right first :-) [10:00:01.0000] <annevk> (i really like that people are doing MS Paint in <canvas> btw, really nice :) ) [10:00:02.0000] <annevk> next: photoshop :) [10:02:00.0000] <Philip`> I noticed there was some new Adobe application where they're written most of the code in Lua, and that kind of thing could work just as well in JS. But I guess they cheated and wrote optimised image-processing code in C++ instead :-( [10:02:01.0000] <annevk> (drawing rectangles seems kind of messed up) [10:03:00.0000] <annevk> <canvas> + XMLHttpRequest could do that :) [10:03:01.0000] <annevk> well, once it supports sending bytes over the wire better [10:04:00.0000] <Dashiva> /me is reminded of ajax <blink> [10:11:00.0000] <Philip`> Ooh, I found one using it correctly [10:11:01.0000] <annevk> oh cool [10:13:00.0000] <annevk> which one? [10:17:00.0000] <Philip`> http://tech.groups.yahoo.com/group/canvas-developers/files/buttons.html - might need to register/login to access that, though [10:18:00.0000] <Philip`> Hmm, it would be easier to find people use canvas getImageData if it didn't use horribly common terms like "canvas" and "getImageData" so searches find people using dozens of other graphics libraries instead [10:20:00.0000] <Philip`> Oh, perhaps http://f1.grp.yahoofs.com/v1/gORFRoOLlxuXtJddXwdSyravD-aFfgNuYoSzjI8vUevuBxus3V1sXs5xckiHKd1osiUpDE_bku-vtGMFPV_M-2JZkLKXTqc/buttons.html works without logging in [10:21:00.0000] <annevk> yeah [10:24:00.0000] <annevk> I wonder what the expected rendering is... [10:25:00.0000] <annevk> The last one and a half button should be blue? [10:25:01.0000] <Philip`> Yep, it switches the red and blue components for the square (2000,0)-(3000,500) [10:26:00.0000] <Philip`> (I've no idea why it does that) [10:26:01.0000] <Philip`> (More precisely, I've no idea why the author decided to make it do that) [10:32:00.0000] <annevk> maybe just a test [12:36:00.0000] <Philip`> /me realises that drawImage(toDataURL) won't work as expected because it'll convert device pixels into image pixels, then draw image pixels as canvas pixels [13:38:00.0000] <annevk> Philip`, images are drawn as CSS pixels [13:38:01.0000] <annevk> actually, isn't that defined? [13:38:02.0000] <annevk> treat an image pixel as a canvas pixel or something? [13:38:03.0000] <annevk> yeah, that's defined [13:38:04.0000] <annevk> "interpreted such that one CSS pixel in the image is treated as one unit in the canvas coordinate space" [13:39:00.0000] <Philip`> Oh, right [13:39:01.0000] <Philip`> That's quite confusing - I expected it was equivalent to drawImage(img, 0, 0, img.width, img.height) because anything else is weird [13:40:00.0000] <Philip`> That also means sw,sh and dw,dh are different units, which is confusing [13:41:00.0000] <annevk> huh? [13:41:01.0000] <Philip`> Actually, not sure what I mean [13:41:02.0000] <annevk> it should be equivalent to that... [13:42:00.0000] <Philip`> /me is confused more now [13:42:01.0000] <annevk> one image pixel is mapped to a canvas pixel [13:42:02.0000] <Philip`> If I have <canvas width=100 height=100> and want to draw img to fill it, would I say ctx.drawImage(img, 0, 0, 100, 100)? [13:43:00.0000] <Philip`> (and img is a 100x100 PNG or something) [13:43:01.0000] <Philip`> Oh [13:43:02.0000] <Philip`> but img.width is in CSS pixels too, not real pixels [13:43:03.0000] <annevk> that should work [13:43:04.0000] <Philip`> so img.width is not necessarily 100 [13:43:05.0000] <annevk> it is [13:44:00.0000] <annevk> one image pixel is one CSS pixel [13:44:01.0000] <Philip`> Still confused :-) [13:45:00.0000] <annevk> you have device pixels, CSS pixels, canvas pixels and image pixels [13:45:01.0000] <annevk> the latter is really equivalent to CSS pixels for the purposes of visual browsers aiui [13:45:02.0000] <annevk> drawImage() takes one CSS pixel and makes it a canvas pixel [13:46:00.0000] <annevk> so a 100x100 PNG would fill a 100x100 canvas [13:46:01.0000] <annevk> and styling an image using CSS with 'width:200px' would also not modify a 200px width image (ever) [13:46:02.0000] <annevk> s/width image/wide image/ [13:47:00.0000] <Philip`> I think what I expect is that <img src="some-100x100-image.png"><canvas width=100 height=100>...ctx.drawImage(img, 0, 0, img.width, img.height) would fill the canvas, and ctx.drawImage(img, 0, 0) would do exactly the same, regardless of whatever the browser decides to do [13:47:01.0000] <Philip`> ...which seems to be what is specified, so that's alright, unless I'm wrong [13:47:02.0000] <annevk> that's what the spec says [13:48:00.0000] <Philip`> Okay - then it still leaves the problem of converting device pixels to image pixels in toDataURL (which doesn't seem specified), and then treating image pixels = CSS pixels = canvas pixels when drawImaging again [13:49:00.0000] <Philip`> (I'd assume toDataURL isn't meant to lose all the high-res data if you've got >1 device pixel per canvas pixel, because that wouldn't be nice, so it has to map device pixels onto image pixels) [13:49:01.0000] <annevk> toDataURL makes a PNG [13:49:02.0000] <annevk> oh you mean that 1 canvas pixel must become 1 image pixel? [13:49:03.0000] <Philip`> Will toDataURL on a <canvas width=100 height=100> always make a 100x100 PNG? Or does that depend on how many device pixels are in the canvas? [13:50:00.0000] <annevk> 1 canvas pixel becomes 1 image pixel imo [13:50:01.0000] <Philip`> So toDataURL/drawImage will lose data? [13:50:02.0000] <annevk> might [13:50:03.0000] <Philip`> That would seem quite annoying if you're trying to use toDataURL to implement a 'save image' button [13:51:00.0000] <annevk> make a high res <canvas> [13:51:01.0000] <annevk> and scale it down using CSS [13:51:02.0000] <annevk> I'm actually all for going completely in that direction [13:51:03.0000] <annevk> and have getImageData and putImageData do the same [13:51:04.0000] <annevk> far more predictable [13:52:00.0000] <Philip`> Have the author explicitly make a high-res canvas when they want to support users with high-res displays? [13:52:01.0000] <annevk> no, when they want to support high-res output [13:53:00.0000] <annevk> <canvas height="1000" width="1000" style="height:100px;width:100px"> [13:53:01.0000] <Philip`> And then toDataURL would give a 1000x1000 image [13:54:00.0000] <annevk> yeah [13:54:01.0000] <annevk> I think it does now [13:54:02.0000] <Philip`> What if the user already has a clever browser and a really high-res display, so it puts 10x10 device pixels per canvas pixel? [13:54:03.0000] <annevk> same [13:54:04.0000] <Philip`> and then it ends up with 10000x10000 device pixels for that canvas [13:54:05.0000] <annevk> no [13:55:00.0000] <annevk> well, maybe if it does some clever subpixel rendering... [13:55:01.0000] <Philip`> Otherwise it would have to depend on the CSS computed size [13:55:02.0000] <Philip`> Or it would have to always have 1 device pixel = 1 canvas pixel [13:55:03.0000] <Philip`> (where the latter case makes everything easy, as far as I can see :-) ) [13:55:04.0000] <annevk> no it wouldn't [13:56:00.0000] <annevk> CSS pixel != device pixel [13:56:01.0000] <annevk> you'd get weird styling effects and such [13:57:00.0000] <Philip`> If I have <canvas width=1000 height=1000> and a browser with 10x10 device pixels per canvas pixels, then the "size of the coordinate space" is 1000x1000, so that would give 10000x10000 device pixels? [13:57:01.0000] <annevk> it depends on display [13:57:02.0000] <annevk> on the device, really [13:58:00.0000] <annevk> device pixels = actual rendering [13:58:01.0000] <annevk> so it's not really about the browser [13:58:02.0000] <Philip`> However many device pixels it gives, does <canvas width=1000 height=1000 style="width:100px; height:100px"> give the same number? [13:59:00.0000] <annevk> unlikely [13:59:01.0000] <annevk> actually, no [13:59:02.0000] <Philip`> If it depends on the computed CSS size, what would happen with <canvas style="width:100%"> when the user resizes their browser and the computed CSS size changes? [14:00:00.0000] <annevk> the canvas pixel to CSS pixel ratio would change? [14:00:01.0000] <annevk> (amount of canvas pixels is always fixed) [14:00:02.0000] <Philip`> But the number of device pixels in the canvas would stay the same? [14:01:00.0000] <annevk> (as in, unsigned integer) [14:01:01.0000] <annevk> Philip`, no, device pixels is the amount of pixels used to render the canvas on the screen (= device) [14:02:00.0000] <Philip`> How can the browser change the number of device pixels being used to store the image in the canvas, without making a mess of the canvas's contents? [14:03:00.0000] <annevk> Philip`, I would think the browser stores the data internally and eventually scales it based on CSS provided and puts it on the screen [14:04:00.0000] <annevk> that's sort of what happens with scaled images iirc [14:04:01.0000] <Philip`> With things like getImageData, "device pixels" is used for the underlying pixel data that's stored internally [14:05:00.0000] <annevk> it's all a bit confusing [14:05:01.0000] <Philip`> I would tend to agree ;-) [14:05:02.0000] <annevk> but if that's your point I agree with your earlier suggestion about 1 device pixel = 1 canvas pixel [14:06:00.0000] <annevk> and by default 1 canvas pixel would be 1 css pixel [14:07:00.0000] <Philip`> The only way that seems to make sense to me is if the underlying pixel data stores exactly one pixel of data per canvas pixel, and getImageData/putImageData/toDataURL/drawImage act on that pixel data, and then that bitmap just gets rescaled by CSS or whatever at the final render-to-screen stage [14:08:00.0000] <annevk> http://twitter.com/annevk/statuses/61777592 [14:08:01.0000] <annevk> yeah [14:08:02.0000] <annevk> I wonder what other implementors would think [14:09:00.0000] <annevk> it would also allow us to get rid of all the floats... [14:09:01.0000] <Philip`> so a browser never has a higher-resolution bitmap to store the canvas data - it just scales up and looks a bit blurry [14:09:02.0000] <Philip`> (or the author makes canvas.width/height larger so there's more canvas pixels per monitor pixel) [14:09:03.0000] <Philip`> (if the author cares enough and makes sure they're not doing it all wrong) [14:10:00.0000] <Philip`> (and if the author has some way of determining that a certain user would benefit from a bigger canvas) [14:10:01.0000] <annevk> not sure if you can forbid UAs to do anti-alias [14:11:00.0000] <annevk> but getting the basics more consistent would be good [14:11:01.0000] <Philip`> Not sure why they'd be forbidden to anti-alias... [14:11:02.0000] <annevk> well, if you don't allow "subpixel" rendering [14:11:03.0000] <annevk> it might be tricky to smooth things now and then [14:12:00.0000] <annevk> (given that UAs actually do that now, dunno) [14:12:01.0000] <Philip`> They could do subpixel rendering inside a function, but the result would just be four bytes in a bitmap somewhere, so you could always retrieve and save and redraw the pixels without losing any information [14:13:00.0000] <Philip`> I suppose that would disallow supersampling antialiasing, where you just render to a big bitmap then scale down, but I didn't think anyone does that since it uses far too much memory [14:17:00.0000] <Philip`> Ah, an email - I think I agree with that, assuming I'm not mixing the terminology up again :-) [14:19:00.0000] <annevk> /me wonders if Apple guys would agree to getting rid of floats [14:20:00.0000] <Philip`> Which floats do you mean? [14:20:01.0000] <Philip`> It's still useful being able to draw to subpixel locations, because antialiasing does the right thing [14:20:02.0000] <Philip`> It's only really getImageData/putImageData where you want actual real pixels, not subpixels [14:20:03.0000] <annevk> hmm ok [14:21:00.0000] <annevk> but what if you put four different color subpixels into one pixel [14:21:01.0000] <annevk> what would getImageData do? [14:21:02.0000] <annevk> /me ponders [14:22:00.0000] <Philip`> If you draw a solid 0.5x0.5 green rectangle inside one pixel, it will modify the internal bitmap to have a rgba(0, 255, 0, 0.25) value there [14:22:01.0000] <Philip`> (because the antialiasing algorithm decides that pixel has 25% coverage by what you're drawing, which it approximates by giving 25% alpha across the whole pixel) [14:22:02.0000] <annevk> feel free to follow-up there with that [14:25:00.0000] <annevk> I suppose your idea might make it more acceptable [14:32:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/subpixel.html - 0.5x0.5 rectangles are drawn the same as 1x1 alpha=0.25 rectangles [14:33:00.0000] <annevk> you get vastly different results in Firefox and Opera [14:36:00.0000] <annevk> I think Opera does indeed do what you suggest [14:36:01.0000] <annevk> Firefox doesn't [14:37:00.0000] <Philip`> That's the effects of their CSS image resizing - Opera seems to be just repeating each pixel 100x100 times, Firefox 3 is doing smooth scaling (like Opera normally does with resized images), but in both cases the actual canvas is just a 3x3 array of pixels (which is what I want) [14:39:00.0000] <annevk> oh ok [14:39:01.0000] <annevk> so the actual back end does indeed do 1 <canvas> device pixel = 1 canvas pixel [14:40:00.0000] <annevk> I suppose that makes sense [14:51:00.0000] <annevk> some people actually think the HTML4 spec is more clear [14:51:01.0000] <annevk> see http://www.456bereastreet.com/archive/200705/is_html_5_a_slippery_slope/#comment17 [14:51:02.0000] <annevk> /me hopes he will give some suggestions on how to improve the text [14:52:00.0000] <annevk> /me is totally fine with the current text [14:52:01.0000] <annevk> well, the reading bit of it [14:55:00.0000] <annevk> (I was quite confused above. Confusing the internal <canvas> with the output on screen...) [14:55:01.0000] <annevk> (It just hit my why the difference in rendering is hardly an indicator of what's going on in this case :) ) [15:01:00.0000] <annevk> Philip`, can't the anti-aliasing algorithm differ per browser though? [15:06:00.0000] <Philip`> In theory it could, but in practice everyone seems to implement it in the standard way - a pixel of which a fraction 'n' is covered by (r,g,b,a) is just treated the same as a pixel entirely covered by (r,g,b,a*n) [15:07:00.0000] <Philip`> I don't know of any other ways to do it, without storing extra data (e.g. lots of subpixels) per pixel [15:07:01.0000] <Philip`> (and people don't really do the latter, in my experience) [15:07:02.0000] <Philip`> (*limited experience) [15:07:03.0000] <annevk> k [15:08:00.0000] <annevk> nice follow-up e-mail [15:09:00.0000] <Philip`> There are differences in how you decide how much of a pixel is covered by whatever's being drawn if you're e.g. drawing a gradient or a smoothly-filtered image (so it's not a single colour covering some fraction of the pixel), but still the output is a single (r,g,b,a) per pixel, and those differences don't matter much [15:09:01.0000] <annevk> I suppose height and width are still useful on ImageData [15:10:00.0000] <Philip`> I think they're still useful since otherwise you'd usually have to remember the width and height in extra variables somewhere, because you're going to be looping over them or multiplying by them [15:11:00.0000] <annevk> do you have tests on imagedata = {} not matching the actual definition? [15:12:00.0000] <Philip`> (In that button-drawing site I found where they actually used ImageData.width/height correctly, I think that was probably accidental and they just used width/height because they were convenient ways to access the numbers) [15:13:00.0000] <Philip`> I've not done any tests with ImageData [15:13:01.0000] <annevk> k [15:13:02.0000] <annevk> just have to catch a Hixie to update the spec [15:16:00.0000] <Philip`> http://www.w3.org/TR/html401/present/graphics.html#edef-B - I think the list there (TT/I/B/...) makes HTML4 far more readable, compared to HTML5 where the definitions are spread all over the place [15:19:00.0000] <annevk> Elements could supposedly have an introduction chapter with such informative descriptions... [15:20:00.0000] <annevk> the only thing it says is that they must be properly nested [15:20:01.0000] <annevk> no other requirements... [15:21:00.0000] <Philip`> The lack of requirements and of precision is probably what makes it readable :-) [15:21:01.0000] <annevk> id and class have no user agent requirements either [15:22:00.0000] <annevk> I suppose :) [15:22:01.0000] <annevk> it's a tutorial for authors :) [15:22:02.0000] <annevk> with a spec sticker on top and some DTD grammar here and there [15:28:00.0000] <annevk> I also believe that authors are better served with more interoperability than with a spec. Some vocal authors seem to disagree though [15:29:00.0000] <annevk> They are somehow under the impression that a clearer specification will improve authoring practices... [15:29:01.0000] <annevk> "Let me hit you with the specification-clue-stick" 2007-05-13 [01:20:00.0000] <mikeday> is whatwg.org down or is it just me? [01:26:00.0000] <Lachy> it appears to be down [01:27:00.0000] <mikeday> is the HTML5 spec anywhere else, like w3.org? [01:27:01.0000] <Lachy> yes, in CVS [01:27:02.0000] <Lachy> dev.w3.org [01:27:03.0000] <Lachy> http://dev.w3.org/cvsweb/html5/ [01:28:00.0000] <mikeday> awesome :) [02:45:00.0000] <mikeday> Hmm, the HTML5 spec seems to say that comments cannot occur before the root element [02:46:00.0000] <zcorpan_> mikeday: where do you read that? [02:46:01.0000] <mikeday> tree construction, 8.2.4.1. The initial phase [02:47:00.0000] <zcorpan_> that's before the doctype, no? [02:47:01.0000] <hsivonen> hmm. looks like the entire dreamhost is down [02:47:02.0000] <hsivonen> can't get to damowmow portal or the DOM viewer to check this [02:48:00.0000] <mikeday> ah, so only before the doctype [02:48:01.0000] <hsivonen> dreamhost has been down a bit too often lately [02:48:02.0000] <zcorpan_> mikeday: yeah... but then the #writing section goes ahead and says that comments are allowed before the doctype [02:48:03.0000] <mikeday> hrmph, that's helpful :) [02:49:00.0000] <zcorpan_> /me pointed that out before [02:50:00.0000] <mikeday> U+00 is converted to U+FFFD, but what about other weird characters like U+07? [02:52:00.0000] <hsivonen> mikeday: other weird stuff is preserved [02:52:01.0000] <hsivonen> /me has complained about that before [02:52:02.0000] <mikeday> /me is noticing a pattern here [02:53:00.0000] <mikeday> okay, one more thing: what does RCDATA stand for? [02:54:00.0000] <zcorpan_> replaced character data [02:55:00.0000] <mikeday> what exactly is replaced about it? [02:55:01.0000] <zcorpan_> entities [02:55:02.0000] <mikeday> can have entities... ah. [03:24:00.0000] <annevk> doesn't really matter what it stands for... [03:24:01.0000] <annevk> just implement the steps [03:49:00.0000] <annevk> oh, whatwg is down? [03:50:00.0000] <annevk> is the mail server down too? [03:50:01.0000] <annevk> /me wonders how that works [03:53:00.0000] <annevk> it seems that lists.whatwg.org is not down [03:53:01.0000] <annevk> on the other hand, my e-mail hasn't made it through to the archives yet... [04:18:00.0000] <mikeday> hi annevk [04:19:00.0000] <mikeday> took a look at the html5lib code, looks rather clean [04:20:00.0000] <mikeday> just toying with some C code [04:20:01.0000] <mikeday> it's a shame that you've got to do so much irrelevant stuff in C, though. [04:23:00.0000] <annevk> python is nice [04:23:01.0000] <annevk> especially to "quickly" prototype stuff like this [04:23:02.0000] <annevk> the problem is that it doesn't scale well for very large pages, such as the HTML5 spec [04:24:00.0000] <mikeday> you could probably speed it up, at the risk of making the code much uglier... [04:26:00.0000] <annevk> yeah... rather have a fast C implementation with Python wrappers I think [04:28:00.0000] <mikeday> that's the spirit, outsource the ugliness somewhere else :) [04:30:00.0000] <mikeday> /me ponders [04:30:01.0000] <mikeday> the data state can have a very tight inner loop, just scanning for the next & or < [04:31:00.0000] <annevk> or EOF [04:31:01.0000] <annevk> charsUntil() handles EOF automatically [04:31:02.0000] <annevk> so you know [04:32:00.0000] <mikeday> I'm assuming you're working on a chunk of data, so you know there is no EOF in the middle of the chunk [04:33:00.0000] <annevk> if you do script execution document.close() might do that [04:33:01.0000] <annevk> /me isn't sure [04:33:02.0000] <annevk> but it depends on how you implement stuff, I guess [04:33:03.0000] <mikeday> right [04:34:00.0000] <mikeday> I wonder which is faster: if '&' else if '<' else ..., or a table lookup [04:34:01.0000] <mikeday> eg. if charTable[currChar] == MARKUP_CHAR [04:35:00.0000] <annevk> from the little I know I believe table lookup is faster [04:35:01.0000] <annevk> however, how would you handle "any other character" in that case? [04:35:02.0000] <annevk> (I don't think I'm the right person to discuss this with though.) [04:36:00.0000] <mikeday> any other character would be the else case [04:37:00.0000] <annevk> that would work nicely then I suppose [04:37:01.0000] <mikeday> if (... == MARKUP_CHAR) { change state } else { keep accumulating character data } [04:37:02.0000] <mikeday> always frustrates me that efficient code looks less and less like the specification, though [04:37:03.0000] <mikeday> we still don't have a magical compiler that converts spec -> code [04:38:00.0000] <annevk> just use the tests from html5lib [04:38:01.0000] <annevk> and maybe contribute some more [04:38:02.0000] <annevk> and pay some attention to the spec too :) [04:39:00.0000] <mikeday> right :) [04:42:00.0000] <mikeday> hmm, using the HTML5 spec as a test document is rather meta [04:42:01.0000] <mikeday> especially considering it's not very well-formed :/ [04:43:00.0000] <annevk> the multipage version of HTML5 is generated using html5lib [04:43:01.0000] <annevk> that's meta [04:44:00.0000] <mikeday> neat :) [04:47:00.0000] <hsivonen> mikeday: do you use a DFA for XML? [04:48:00.0000] <mikeday> hsivonen, not yet, but I'd like to [04:48:01.0000] <mikeday> I've generated one, but haven't got around to building a parser around it yet. [04:48:02.0000] <hsivonen> mikeday: surely a function call per tokenizer state is good enough considering that it is the de facto way to write XML parsers [04:49:00.0000] <mikeday> /me shrugs [04:49:01.0000] <mikeday> for HTML5 you mean? [04:49:02.0000] <hsivonen> I intend to optimize away the explicit state variable but I hesitate going all the way to a hand-rolled DFA [04:50:00.0000] <hsivonen> mikeday: I meant a function call (possibly inlined by compiler) per state in the HTML5 tokenizer spec [04:50:01.0000] <hsivonen> mikeday: the XML parsers that I've looked at work roughly that way [04:51:00.0000] <mikeday> after looking at the spec, I've seen that the state machine is rather more complicated than the average DFA [04:51:01.0000] <mikeday> with XML it's easier, as you're going from grammar to DFA [04:52:00.0000] <annevk> there are some additional switches indeed based on tree construction feedback [04:52:01.0000] <annevk> although I think you should be able to integrate those too [04:52:02.0000] <mikeday> right, it would take a bit of messing around though [04:52:03.0000] <annevk> (it leads you further away from the spec though) [04:52:04.0000] <mikeday> that too. [04:52:05.0000] <annevk> shouldn't be much of an issue I think... [04:53:00.0000] <mikeday> by the way, a tiny test seems to show that the if/else is slightly faster than table [04:53:01.0000] <mikeday> if only two characters are being checked for [04:53:02.0000] <annevk> see, don't trust me :) [04:53:03.0000] <mikeday> but if three or more characters are being checked for, table wins by far [04:53:04.0000] <annevk> oh, ok :) [04:53:05.0000] <mikeday> eg. for whitespace characters it would be a win [04:54:00.0000] <mikeday> for the data state inner loop, not so much [04:54:01.0000] <hsivonen> I wonder if it is possible to construct a hash function that hashes all UTF-16 code units to a small range of integers so that markup-significant characters get unique scalars and neutral characters overlap [04:55:00.0000] <mikeday> /me grins [04:55:01.0000] <hsivonen> (and effient one, that is) [04:55:02.0000] <hsivonen> efficient even [04:55:03.0000] <mikeday> let's see, markup significant characters are all < U+007F [04:56:00.0000] <mikeday> just make sure that everything above 127 is mapped to 127..255 range [04:57:00.0000] <mikeday> and ASCII stays as it is [04:57:01.0000] <mikeday> or do you want & and < to map to the same small integer? [04:57:02.0000] <hsivonen> didn't think that far [04:57:03.0000] <hsivonen> gotta go. later [04:57:04.0000] <mikeday> /me waves [04:58:00.0000] <mikeday> hrm, jumping into the micro-optimisation, I forgot that no one uses UTF-16 anyway [04:58:01.0000] <mikeday> (for given values of no one) [05:02:00.0000] <annevk> in some states unicode chars are important [05:02:01.0000] <mikeday> ? [05:02:02.0000] <annevk> tag name state [05:02:03.0000] <annevk> but I suppose that doesn't matter much [05:03:00.0000] <annevk> that's actually in the anything else case so... [05:03:01.0000] <annevk> nm me [05:03:02.0000] <mikeday> I noticed that the tag names all get lowercased [05:03:03.0000] <mikeday> that would mean that <camelCase> XML tags can't be embedded in HTML5, right? [05:06:00.0000] <annevk> ASCII lowercase, yes [05:06:01.0000] <annevk> XML can't be embedded in HTML5 [05:06:02.0000] <mikeday> true, you could have camelCase tags as long as they use accented letters :) [05:07:00.0000] <mikeday> are unknown tags still added to the DOM? [05:08:00.0000] <annevk> of course [05:08:01.0000] <annevk> there's in fact no difference between "unknown tags" and <span> for instance [05:08:02.0000] <annevk> (iirc) [05:09:00.0000] <mikeday> so arbitrary vocabularies can be included, [05:09:01.0000] <mikeday> as long as they don't require <camelCase> [05:09:02.0000] <mikeday> or plain uppercase, for that matter [05:09:03.0000] <mikeday> seems like MathML would work fine [05:10:00.0000] <annevk> there's no namespace support either [05:11:00.0000] <annevk> but in due course we would add limited support for that I suppose [05:12:00.0000] <Philip`> annevk: Doesn't http://dev.w3.org/cvsweb/~checkout~/html5/spec/Overview.html?rev=1.12&content-type=text/html;%20charset=iso-8859-1#pixel cover the points about how an arbitrary object is treated as ImageData? [05:13:00.0000] <annevk> oh, I think I've been looking at an old version of the spec [05:14:00.0000] <Philip`> mikeday: I'd expect table lookups to usually be much slower than if/elses in real programs because you won't be able to keep the lookup table in the cache for very long (if you're processing lots of other data at the same time) and it'll have to do really expensive memory reads [05:15:00.0000] <Philip`> People used to use lookup tables for fast sin/cos calculations, but now it's much quicker just to get the CPU to recalculate it every time because memory is slow [05:15:01.0000] <mikeday> Philip`, the table is pretty small, 256 bytes, but the processing other data at the same time constraint could be a problem [05:16:00.0000] <Philip`> Caches are pretty small too :-) [05:16:01.0000] <annevk> thanks Philip` [05:16:02.0000] <Philip`> (like, uh, 16KB or something?) [05:16:03.0000] <Philip`> (depending on what processor you have) [05:17:00.0000] <mikeday> the whitespace test requires five else if branches, though [05:18:00.0000] <mikeday> at least it wouldn't be hard to try both methods on real world data [05:18:01.0000] <mikeday> as it's not really fundamental to the structure of the code [05:25:00.0000] <met_> annevk why is on http://annevankesteren.nl/2006/08-paintr21 It works in Firefox (given a few hacks), with the notable exception of the "Save it!" button.? Save works for me in FF 2.0.0.3 [05:26:00.0000] <met_> the only difference is nice Paintr logo in Opera vs. text logo in FF [05:28:00.0000] <met_> ah see the logo is made by css content:url [05:30:00.0000] <annevk> that thing was made before FF2 [05:30:01.0000] <met_> can you update the text? 8-))) [06:11:00.0000] <Philip`> /me wonders if <div irrelevant><img ...><img ...></div> would be a sensible way of pre-loading images to be used in a canvas, so you can just wait for window.onload and then be sure all the images are loaded [06:12:00.0000] <annevk> I think if you do img.src in a script the load event is delayed as well [06:14:00.0000] <Philip`> Oh, that sounds better [06:21:00.0000] <Dashiva> What's the deal with r\^ole? [06:22:00.0000] <Philip`> It's the (La)TeX spelling, I believe [06:23:00.0000] <Dashiva> of rôle? [06:24:00.0000] <Philip`> Maybe, but my IRC client mangles that [06:24:01.0000] <Philip`> /me looks in the log [06:24:02.0000] <Philip`> Ah, yes, that [06:25:00.0000] <Philip`> Same as r&ocirc;le too, but not quite so ugly [06:26:00.0000] <Dashiva> But what's wrong with just role, was more my question [06:26:01.0000] <Lachy> aargh! I've asked 3 times for Patrick (or anyone else) to provide examples of tables that would benefit from the headers attribute, and each time he's bypassed the question entirely [06:26:02.0000] <annevk> lol, people are wasting their time on www-html? :) [06:26:03.0000] <Lachy> it's so annoying that they won't contribute when asked, and then bitch about being ignored [06:27:00.0000] <annevk> they are indeed [06:27:01.0000] <Philip`> Oh - just spelling it "role" seems far more sensible :-) [06:27:02.0000] <annevk> fun [06:27:03.0000] <Dashiva> Isn't that what the semantic web is all about? [06:27:04.0000] <Dashiva> Getting other people to do all the work, and then complaining about nothing happening [06:32:00.0000] <Philip`> That sounds like the approach of getting authors to mark up all their data correctly in a machine-processable form, so you can build advanced search engines on the semantic web that correctly understand the relationships between pieces of data [06:33:00.0000] <Philip`> compared to e.g. Google, which just puts up with whatever rubbish authors create [06:33:01.0000] <Philip`> but it's kind of obvious which one is doing better at the moment [06:40:00.0000] <maikmerten> wow, seems Opera's layout engine is 1345% more green that other competing engines... impressive http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(WHATWG) [06:41:00.0000] <maikmerten> one keeps wondering why such things make it into Wikipedia [06:41:01.0000] <Dashiva> Probably because all browsers have their share of fanatical fanboys [06:42:00.0000] <annevk> prolly also because it doesn't list all the WHATWG features [06:45:00.0000] <Philip`> You could replace the whole first table with "Web Forms 2.0: No ? Yes" and then Opera wouldn't be seen as having such an unfair lead [06:46:00.0000] <Dashiva> Thinking of it as a lead is a problem to begin with, IMO [06:47:00.0000] <annevk> Safari for instance does support type=range iirc [06:47:01.0000] <annevk> Firefox supports persistent storage [06:47:02.0000] <Philip`> Also one could change <video> to no in Opera, because it's not fair to count very experimental builds that don't even match the WA1 spec [06:47:03.0000] <annevk> Internet Explorer supports parts of drag & drop, draggable, contenteditable, etc. [06:49:00.0000] <Philip`> /me wonders if anyone has made a <canvas> paint program that can save and load from globalStorage [06:49:01.0000] <Philip`> Oh, actually, that wouldn't work because you can't draw data: images then call toDataURL again :-( [06:53:00.0000] <annevk> Maybe the new definition of origin helps with that? [06:54:00.0000] <annevk> Cause in theory that would be a safe image, unless you got it after a redirect [06:54:01.0000] <Philip`> "The origin of a Document or image that was generated from a data: URI found in another Document or in a script is the origin of the that Document or script." - oh, sounds like that covers it [06:55:00.0000] <annevk> Although if you store it in globalStorage and then retrieve it later... [06:55:01.0000] <annevk> /me ponders [06:56:00.0000] <Philip`> You'd just get a string out of globalStorage, and I assume strings don't have complex security arrangements [06:56:01.0000] <Philip`> and then you'd create an image from that string, but that image would be created in your own document [06:57:00.0000] <annevk> sounds tricky [06:58:00.0000] <Philip`> (If you've got the data: string, you could rewrite libpng in JS and get the image data anyway, so the only problem is in whether you're allowed to get the string in the first place) [06:58:01.0000] <Philip`> (and you should be allowed to get strings from globalStorage, because otherwise it'd be a bit pointless...) [06:58:02.0000] <Philip`> but I don't know if that agrees with what the spec says [06:59:00.0000] <annevk> I suppose data: URLs not retrieved from <img> objects or non-same origin <canvas> objects are to be considered safe [06:59:01.0000] <annevk> and that therefore invoking toDataURL() should not fail and drawImage() should not mark the <canvas> object non-same origin [07:03:00.0000] <annevk> I suppose the problem is that painting a data URL might not always be safe [09:40:00.0000] <annevk> http://weblog.200ok.com.au/2007/05/what-i-want-from-new-markup-spec.html [09:44:00.0000] <Lachy> hmm. Looks like we need some kind of tutorial to explain how the heading structure works [09:45:00.0000] <annevk> http://www.kavoir.com/2007/05/html5-adopted-by-w3c.html is someone who thinks Chris Wilson will be editor [09:48:00.0000] <Philip`> Also thinks Microsoft is one of the key contributing groups in the WHAT-WG [09:48:01.0000] <annevk> http://ma.gnolia.com/people/apartness/bookmarks/prejesh [09:50:00.0000] <annevk> http://www.designerstalk.com/forums/web-standards/26075-web-standards-danger.html [09:51:00.0000] <annevk> http://www.elementary-group-standards.com/web-standards/web-standards-html5-support-existing-content.html [09:59:00.0000] <met_> /me is glad he is wringting in Czech only, so all his mistakes cannot by discussed here 8-) [10:00:00.0000] <annevk> I wonder why people on www-html think there was some arbitrary descision process going on... The sole reason <samp> and such are still here is because dropping them would cost more. [10:01:00.0000] <annevk> I think there have hardly been any arbitrary descisions with regards to HTML5 [10:06:00.0000] <wilhelm> Why would one want to drop such elements? [10:09:00.0000] <csarven> annevk tsk tsk <m> [10:11:00.0000] <Lachy> annevk, I think he's just using code, samp, etc. to make a point about dropping things like headers="" and summary="" [10:12:00.0000] <Lachy> personally, I somewhat agree with keeping headers (I'm just trying to get them to help find evidence for it), though I'm undecided about summary [10:14:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/summary.html is how people seem to be using summary now [10:15:00.0000] <Philip`> ((Can't remember if I pointed that out here before)) [10:17:00.0000] <Lachy> Philip`, what was the total sample size surveyed? [10:19:00.0000] <Lachy> wow, so many of them are used for presentational purposes [10:22:00.0000] <Philip`> That was 2523 pages, of which 105 had a summary attribute anywhere [10:23:00.0000] <Lachy> I think we need a larger sample size [10:23:01.0000] <Philip`> The results are probably misleading because a few sites have a lot of distinct summaries [10:24:00.0000] <Lachy> the results should be grouped by domain name to deal with that [10:25:00.0000] <Philip`> It also seems quite hard to analyse the results automatically since pretty much everyone uses totally different strings (except for those that use "") [10:25:01.0000] <Philip`> But it would be useful to get much better data than this [10:26:00.0000] <Lachy> yeah, you could probably try to filter on things like the word "layout" and maybe the length (e.g. < 4 words is relatively useless) [10:29:00.0000] <Philip`> /me would try to do something better if he didn't have far too much urgent work to do now instead :-) [10:30:00.0000] <Lachy> are you going to release the code of the tool soon, so others can work with it? [10:31:00.0000] <Philip`> I'll attempt to do that once I have time [10:31:01.0000] <Philip`> It's not like it's particularly interesting or difficult code, though - it just downloads a load of pages into a database, then parses them all and walks through the tree trying to find things that match some condition, then sticks the results in a table [10:32:00.0000] <Philip`> (Can you get something like an XML database that does really fast queries on tree-structured data? That'd be quite handy for this kind of thing, after working around the problem that lots of sites can't be serialised into well-formed XML) [10:33:00.0000] <zcorpan_> TagSoup? [10:33:01.0000] <met_> Philip` have you some experience with xml databases? [10:34:00.0000] <Philip`> met_: None at all [10:34:01.0000] <met_> my colleagues recoomentder me http://exist.sourceforge.net/ but i never tried [10:35:00.0000] <met_> also you can use xml in postgresql (with xpath etc.), don't mentioning Oracle and MS SQL [10:37:00.0000] <Philip`> Ah, looks like it could be useful [10:38:00.0000] <met_> and here is a link about postgresql and xpath http://www.throwingbeans.org/postgresql_and_xml.html [10:39:00.0000] <met_> ms sql2005 and oracle (not sure wich version) have it natively as xml datatypes [10:40:00.0000] <Philip`> Hopefully the databases do some kind of indexing, because running unindexed queries over 100MB of XML doesn't sound like the absolute fastest thing ever [10:41:00.0000] <Philip`> or maybe I'm thinking from the wrong perspective for this kind of thing [10:41:01.0000] <met_> ms and oracle yes [10:44:00.0000] <Philip`> (For added fun, some of my downloaded documents are actually PDF files, parsed by html5lib into something that I expect is quite hideous. Maybe I should check the content-type on these things...) [10:45:00.0000] <met_> whow [10:45:01.0000] <met_> and what other types like *.doc etc [10:46:00.0000] <Philip`> I don't see any of those [10:46:01.0000] <Philip`> I just got the URLs from Yahoo search results (since they're nicer than Google and still provide search APIs), so it's limited to what they files they think are worth putting in the results [12:24:00.0000] <annevk> csarven, what about it? [12:24:01.0000] <csarven> i find <m> arbitrary but im sure <samp> has its own story [12:25:00.0000] <annevk> <samp> is just there because dropping it would have little value [12:26:00.0000] <annevk> <m> is there because lots of pages use it [12:26:01.0000] <annevk> aiui [12:26:02.0000] <Philip`> I thought HTML5 was starting from a clean slate and only adding features when there's good enough reasons to justify adding them... [12:27:00.0000] <csarven> lots of pages use lots of things =) [12:27:01.0000] <Philip`> (or at least I'm fairly sure I remember people using that as an argument) [12:27:02.0000] <csarven> Philip` that would be the ideal approach but it is not always the case [12:28:00.0000] <annevk> Philip`, in general, ye [12:28:01.0000] <annevk> s [12:55:00.0000] <annevk> /me tends to agree with David Baron that for implementors every HTML feature needs to be specified [12:55:01.0000] <annevk> (this includes <frameset>) [13:11:00.0000] <hsivonen> annevk: yeah. If you build navigation systems, you need to know that the earth is round even if a flat earth would be nicer [13:13:00.0000] <Lachy> annevk, are you referring to David's latest on www-html? I didn't get the relevance, since the discussion was related to document conformance only. [13:14:00.0000] <annevk> the contents of his e-mail are relevant imo [13:14:01.0000] <annevk> although I agree it didn't make much sense in context [13:15:00.0000] <Lachy> sure, it's relevant to the spec in general [13:15:01.0000] <hsivonen> is there now relevant discussion on www-html? I unsubscribed to respect the HTML WG email recess. [13:16:00.0000] <Lachy> hsivonen, not really [13:16:01.0000] <Lachy> I'll let you know when something important is posted [13:17:00.0000] <hsivonen> Lachy: thanks [13:18:00.0000] <Lachy> nice! I can refer to this next time someone tries to shift the burden of proof on to me to disprove their claim http://en.wikipedia.org/wiki/Burden_of_proof#Science_and_other_uses [14:19:00.0000] <tantek> Lachy, nice reference, I hadn't seen that before and ended up writing up our own for microformats.org: http://microformats.org/wiki/brainstorming#Burden_of_Proof 2007-05-14 [19:21:00.0000] <Philip`> /me wonders if there could be getImageData(sx, sy, sw, sh, hires) where hires=true makes it return the full-resolution backing bitmap with width!=sw, otherwise it scales the bitmap down and returns with width==sw [19:21:01.0000] <Philip`> so people who don't know or don't care can just do getImageData(sx, sy, sw, sh) and get what looks like sensible pixels, whereas people who really want to do high-quality filters can set hires and take more care [19:22:00.0000] <Philip`> (It's compatible with existing browsers and content, too...) [19:23:00.0000] <othermaciej> Philip`: putImageData would have to have the same flag [19:23:01.0000] <othermaciej> Philip`: then the get/put invariant would hold only in hires mode [19:24:00.0000] <Philip`> Yep [19:24:01.0000] <Philip`> so people who just want to assume canvas pixels are really pixels can do so, and they'll get some visual degradation if they start doing get/putImageData, but it'll do what they expect [19:26:00.0000] <Philip`> (Most people aren't going to do anything with ImageData, so normal canvas code will look high-res and fine) [19:48:00.0000] <othermaciej> yeah [01:14:00.0000] <annevk> A hires flag could work. Or maybe we should keep that as an option for future extensions... [01:16:00.0000] <hsivonen> Roger Johansson's way of saying that I win makes me think that he thinks I said something so crazy that it isn't worth talking about. [01:17:00.0000] <hsivonen> http://www.456bereastreet.com/archive/200705/is_html_5_a_slippery_slope/#comment26 [01:20:00.0000] <annevk> Hah, only entity declarations... Guess he didn't read the specification very carefully then [01:20:01.0000] <annevk> XML parsing can be very simple. You simply have to ignore the hard parts. [01:20:02.0000] <annevk> (At that point error handling comes almost for free.) [01:34:00.0000] <mikeday> heh [01:36:00.0000] <othermaciej> html parsing is also easy if you ignore the hard parts [01:37:00.0000] <annevk> yeah [01:37:01.0000] <annevk> HTML is easy to understand if you don't go down the rabbit hole [01:47:00.0000] <mikeday> For any X, X is easy if you ignore the hard parts of X. [01:49:00.0000] <othermaciej> for some X, it's all hard parts [01:52:00.0000] <mikeday> right, but ignoring them reduces it to the empty set, which sounds pretty easy :) [01:59:00.0000] <mikeday> Here is a question: in the US-ASCII encoding, is 0x7F a legal octet? [02:00:00.0000] <othermaciej> ASCII 0x7F is the control character DEL [02:01:00.0000] <mikeday> so basically any 7-bit code is fine, only high bit set is garbage [02:01:01.0000] <othermaciej> also known as ^? [02:02:00.0000] <othermaciej> 0x00 - 0x1F and 0x7F are not printable but they are defined [02:03:00.0000] <mikeday> that's fine then [02:04:00.0000] <mikeday> presumably in Latin1, 0x80 to 0x9F are garbage and need to be turned to U+FFFD? [02:04:01.0000] <mikeday> or passed through as is for compatibility with Windows-1252? :/ [02:08:00.0000] <othermaciej> web pages that claim to be latin-1 have to be processed as windows-1252 [02:09:00.0000] <othermaciej> in fact, you even have to treat pages that claim to be unicode w/ range 0x80-0x9f treated as the win-latin1 characters [02:09:01.0000] <annevk> yeah [02:09:02.0000] <annevk> and all character references in that range too [02:10:00.0000] <annevk> HTML5 hasn't defined that yet [02:10:01.0000] <othermaciej> so yes, the unicode spec is universally violated on the web [02:10:02.0000] <annevk> it should just be redefined... [02:10:03.0000] <annevk> that would be nice, actually [02:10:04.0000] <othermaciej> Unicode5! [02:11:00.0000] <othermaciej> unfortunately, I think that would probably break non-web uses of unicode [02:11:01.0000] <annevk> this would also only apply to text/html I suppose? [02:11:02.0000] <othermaciej> (though maybe not, depending on how other Microsoft apps handle it) [02:11:03.0000] <othermaciej> in Safari I think we apply it to XML, but perhaps there is no need to [02:12:00.0000] <othermaciej> well, I guess actually someone should test it in XHR in IE [02:12:01.0000] <othermaciej> at least you can make a web browser without violating the TCP or IP standards [02:12:02.0000] <othermaciej> but I think you have to violate just about everything else in the protocol / format stack [02:15:00.0000] <othermaciej> actually, I don't know if the control characters are used for anything so it might not be incompatible in practice [02:15:01.0000] <annevk> interesting [02:15:02.0000] <mikeday> hmm, so even 0x80-0x9f encoded in UTF-8 need to be passed through, that's cute [02:16:00.0000] <othermaciej> mikeday: yes, or UTF-16, or UTF-32 -- it is deeply lame [02:16:01.0000] <annevk> we should just update several encoding / decoding standards :) [02:16:02.0000] <mikeday> in Prince we have a hack to handle mislabelled pages that claim to be Latin1 but are actually Windows-1252 [02:17:00.0000] <mikeday> because fonts won't have glyphs for control codes, so we fallback to the Windows-1252 character instead [02:17:01.0000] <mikeday> eg. we can't find a glyph for 0x85, so we fallback to U+2026 [02:17:02.0000] <mikeday> which is what 0x85 maps to in Windows-1252 [02:17:03.0000] <mikeday> that way the hack fits in at the font / glyph layer rather than the UNICODE layer; dunno if that's any better though. [02:18:00.0000] <annevk> it would fail people doing scripting etc. [02:18:01.0000] <othermaciej> that depends - if you have JavaScript support, it won't be sufficient [02:18:02.0000] <annevk> or support for :contains() [02:18:03.0000] <annevk> it would also fail attribute selectors etc. [02:18:04.0000] <othermaciej> we do our hack at the character set decoding layer [02:19:00.0000] <othermaciej> (and in the tokenizer when decoding entities) [02:19:01.0000] <annevk> html5lib only has the tokenizer bit atm [02:21:00.0000] <othermaciej> I think the entity bit is done only by our html parser [02:22:00.0000] <mikeday> good points, especially :contains(), which we support [02:22:01.0000] <mikeday> none of the sites that screw up the encoding use :contains(), thankfully :) [02:22:02.0000] <annevk> /me points out that :contains() has been dropped [02:22:03.0000] <annevk> I believe the latest proposal is foo[#text^="X"] [02:23:00.0000] <annevk> and td[#column=2] [02:23:01.0000] <annevk> it might be that I'm mistaken though [02:23:02.0000] <mikeday> nice to drop it after we've had it implemented for years [02:23:03.0000] <mikeday> td[#column=2] { display: none } [02:23:04.0000] <annevk> the problem is that nobody else did [02:24:00.0000] <mikeday> /me grins [02:24:01.0000] <annevk> and I suppose it's significantly easier to support in a UA that doesn't do scripting [02:24:02.0000] <mikeday> right [02:24:03.0000] <annevk> (#column would be on the semantic level btw, not based on display:table-* crap) [02:25:00.0000] <mikeday> ? [02:25:01.0000] <mikeday> td { display: table-cell } is how we determine what a table cell *is* [02:26:00.0000] <annevk> in this case you would need to have some knowledge about the HTML namespace aiui [02:26:01.0000] <othermaciej> is #column meant to be the more CSS-ish way to do <col> styling? [02:26:02.0000] <mikeday> oh, great. [02:26:03.0000] <annevk> othermaciej, yeah, think so [02:27:00.0000] <annevk> but so far I haven't seen much more than just that [02:27:01.0000] <othermaciej> but column position is determined by HTML markup only? [02:27:02.0000] <annevk> it was planned for Selectors 2 or something [02:27:03.0000] <othermaciej> I guess that makes sense, to make it work with CSS tables, you would need computed style to determine matching [02:27:04.0000] <annevk> othermaciej, iirc, yes [02:27:05.0000] <annevk> or any other table markup language you support for that matter [02:27:06.0000] <othermaciej> it is funny how often the issue that selectors can't depend on computed style comes up [02:28:00.0000] <annevk> :hover [02:28:01.0000] <annevk> and :bound-element come to mind [02:31:00.0000] <othermaciej> how does it relate to :hover? [02:34:00.0000] <mikeday> :hover { display: none } is rather confusing [02:35:00.0000] <annevk> for instance [02:37:00.0000] <mikeday> hmm, seems like the most annoying thing about parsing is buffer management [02:38:00.0000] <annevk> ah, that sounds like something we didn't have to worry about :) [02:38:01.0000] <annevk> will your parser have an open source license btw? [02:38:02.0000] <MikeSmith> /me waves to mikeday [02:38:03.0000] <mikeday> hi MikeSmith [02:38:04.0000] <MikeSmith> hei [02:39:00.0000] <mikeday> annevk, yes, that way I can steal code from you guys, and the rest of the world :) [02:39:01.0000] <mikeday> /me examines inputstream.py [02:40:00.0000] <annevk> well, in theory you can rip html5lib apart and exploit it in some given that the license is MIT [02:40:01.0000] <annevk> but, cool! [02:40:02.0000] <annevk> s/given/way, given/ [02:40:03.0000] <mikeday> it would be nice if there were common open source libraries for HTML parsing, though [02:41:00.0000] <mikeday> it's something that many applications could benefit from [02:41:01.0000] <annevk> yes, so go for it! :) [02:41:02.0000] <mikeday> screen scrapers, search engines, unconventional browsers [02:41:03.0000] <mikeday> AI projects [02:41:04.0000] <mikeday> PDF formatters *cough* [02:41:05.0000] <annevk> having an open source HTML parser is vital for the web [02:42:00.0000] <mikeday> pity no one thought of that back in 1996 hey :) [02:42:01.0000] <annevk> having one separate from browsers is very nice [02:46:00.0000] <gsnedders> mikeday: Netscape did in '98 :P [02:47:00.0000] <mikeday> ? [02:47:01.0000] <mikeday> you mean Mozilla? :) [02:47:02.0000] <gsnedders> mikeday: Netscape Communicator. [02:47:03.0000] <mikeday> did the HTML parser make it through the big rewrite? [02:48:00.0000] <gsnedders> mikeday: I don't think so [02:48:01.0000] <gsnedders> mikeday: the reason for the rewrite was the lack of quality of the source base, in part [02:48:02.0000] <mikeday> heh, gotta love that [02:48:03.0000] <mikeday> release something open source, to prompt people to develop a new thing from scratch [02:48:04.0000] <gsnedders> mikeday: arguably it was Moz though, as Mozilla was the codename for Netscape Navigator all the time :P [02:49:00.0000] <gsnedders> mikeday: the decision to rewrite was made after the open sourcing it. the plan when it was open soruced was to release a Netscape 5 based on that codebase [02:49:01.0000] <mikeday> yeah [02:49:02.0000] <mikeday> fair bit of work went into it before the decision to rewrite it, right? [02:50:00.0000] <gsnedders> mikeday: http://wp.netscape.com/newsref/pr/newsrelease558.html [02:51:00.0000] <mikeday> gawd, that's sad reading today [02:51:01.0000] <mikeday> "seed the market for Netcenter" indeed [02:51:02.0000] <mikeday> "unprecedented levels of innovation in the browser market" [02:51:03.0000] <mikeday> yep, the innovation was pretty unprecedented after 1998 [02:52:00.0000] <gsnedders> mikeday: looking it up, it seems as if they spent a year just getting out all the parts that they didn't have IP of [02:53:00.0000] <gsnedders> mikeday: shortly after they did that, it was scrapped [02:53:01.0000] <mikeday> whole thing reeks of desperation, but I guess it all worked out alright in the end [02:53:02.0000] <mikeday> and by 2008, the web will be slightly improved over the web of 1998 :) [02:53:03.0000] <mikeday> more Flash and less Java, anyway :) [02:53:04.0000] <gsnedders> it's questionable if Gecko isn't overly bloated like Netscape before it [02:54:00.0000] <gsnedders> as far as OSS goes, WebKit and KHTML have _far_ smaller codebases, yet their standards compliance isn't lacking [02:55:00.0000] <mikeday> right [02:55:01.0000] <gsnedders> but Mozilla 2 is meant to work on cutting that down [02:55:02.0000] <mikeday> and the cycle continues [02:56:00.0000] <gsnedders> once there starts to be browsers based off WebKit for other OSes, Gecko may start simply being forced to being smaller and quicker to keep marketshare [02:56:01.0000] <mikeday> anyone in the mood for a "why are people still developing applications in C++" rant? :) [02:56:02.0000] <gsnedders> ergh. no. [02:56:03.0000] <gsnedders> :P [02:56:04.0000] <mikeday> good :) [02:58:00.0000] <mikeday> what is the relationship between Mozilla 2 and Firefox, exactly? [02:59:00.0000] <gsnedders> mikeday: "Mozilla" nowadays is mostly all the frameworks [02:59:01.0000] <mikeday> so Firefox 2 is using Mozilla 1.x? [03:00:00.0000] <gsnedders> yes [03:00:01.0000] <gsnedders> Firefox < 4 is using Mozilla 1.x [03:01:00.0000] <gsnedders> but Fx4 isn't expected till '09 [03:01:01.0000] <mikeday> groovy [03:02:00.0000] <gsnedders> and the question is whether they can keep up while needing to change so much [03:02:01.0000] <mikeday> is Firefox migrating to be a JavaScript/XUL based application? [03:03:00.0000] <gsnedders> huh? surely it already is? [03:03:01.0000] <mikeday> I thought it still had some C++ components? [03:03:02.0000] <gsnedders> well, sure, but the UI is all XUL [03:04:00.0000] <mikeday> right [03:04:01.0000] <gsnedders> but that's what an XML User Interface Language should be used for :P [03:04:02.0000] <mikeday> I just thought the idea was to have more JavaScript, less C++ [03:05:00.0000] <gsnedders> I'm not sure how much there is for Fx4 yet [03:05:01.0000] <mikeday> and less XPCOM [03:05:02.0000] <mikeday> /me shrugs [03:05:03.0000] <gsnedders> my understanding was more standard C++ and less XPCOM [03:05:04.0000] <mikeday> ah, like exceptions and RTTI? [03:06:00.0000] <gsnedders> no idea [03:06:01.0000] <mikeday> oh well :) [03:06:02.0000] <gsnedders> /me has zero knowledge of C++ [03:06:03.0000] <Philip`> Is it just me, or are they totally crazy for planning to do automated refactoring of C++ with highly experimental tools? [03:06:04.0000] <mikeday> live fast, die young [03:06:05.0000] <Philip`> It might work, but I still think it's totally crazy [03:06:06.0000] <gsnedders> Philip`: probably yes. but I guess that's why they need so many branches in VCS :P [03:07:00.0000] <mikeday> might as well go all the way and write a C++ -> JavaScript converter [03:07:01.0000] <Philip`> I'm fairly sure they've been planning that too [03:07:02.0000] <gsnedders> here's JIT compiling for JS2… but I can't remember seeing anything about actually moving to JS [03:08:00.0000] <Philip`> (at least for things that don't need the performance and don't need access to non-JS-interfaced objects) [03:09:00.0000] <Philip`> http://wiki.mozilla.org/Mozilla_2 - "Semi-automated refactoring work: ... identification of C++ ripe for conversion to JS2" - hmm, maybe not automatically doing the actual conversion [03:10:00.0000] <Philip`> Oh, but: http://wiki.mozilla.org/Static_Analysis - "Identify C++ to convert to JS2... ... and translate it automatically. C++ candidate code uses only scriptable interfaces, strings, primitives." [03:11:00.0000] <mikeday> hmm, so it also depends on JavaScript 2, which is relatively new... [03:11:01.0000] <mikeday> all sounds rather risky :) [03:11:02.0000] <Philip`> /me wonders if it's sensible to be worried that JIT compiling won't exactly improve Mozilla's memory usage situation [03:12:00.0000] <mikeday> anyone remember that Java version of Netscape? [03:12:01.0000] <gsnedders> but the memory usage should go down in other parts by not having so much code, often reimplemented where OS libraries can be used [03:17:00.0000] <Philip`> http://wiki.mozilla.org/Grendel ? [03:19:00.0000] <mikeday> yeah, that's the one [03:20:00.0000] <mikeday> I guess some things do change [03:20:01.0000] <mikeday> no one in 1998 would have believed that the browser would be *implemented* in JavaScript [03:20:02.0000] <mikeday> and that Java would be used to implement *server* applications [03:20:03.0000] <mikeday> we're through the looking glass now :/ [03:21:00.0000] <Philip`> Java doesn't seem to have the best track record of making desktop applications that aren't frustratingly slow and ugly [03:22:00.0000] <mikeday> indeed. [03:23:00.0000] <Philip`> (I think it's a really boring language but it seems to work well enough for other types of application) [03:24:00.0000] <mikeday> funny how Java is boring now [03:24:01.0000] <mikeday> when it was introduced it was hot! exciting! applets! coffee! [03:24:02.0000] <mikeday> first programming language with a major marketing campaign [03:25:00.0000] <mikeday> 'scuse me [03:27:00.0000] <Philip`> C++ templates are 'interesting' and let you write compile-time Turing machines and parser generators and stuff; Java's generics look similar but merely add type restrictions and add zero extra power to the language, which is boring :-( [03:28:00.0000] <Philip`> I must admit I did make a web page with animated wobbling coloured text in a Java applet about ten years ago and thought it was great, though [03:38:00.0000] <mpt> Anyone remember Corel Office for Java? [03:38:01.0000] <mpt> That was awesome [03:38:02.0000] <mpt> Launch it, go make lunch, come back, and ooh, the splash screen's up already [03:39:00.0000] <Philip`> I think I managed to avoid ever hearing about it [03:39:01.0000] <Philip`> which was probably fortunate :-) [03:43:00.0000] <Philip`> http://www.somis.dundee.ac.uk/pub/corelindex.htm - I wonder if that version works [03:43:01.0000] <Philip`> (Don't have a Java-enabled browser to test with, though...) [03:45:00.0000] <Philip`> /me installs one [03:46:00.0000] <Philip`> "Loading Java Applet Failed" - aha, that must be the "Write once, run anywhere" feature [03:51:00.0000] <Philip`> http://www.acm.org/pubs/citations/journals/cacm/1999-42-10/p72-cusumano/ - oh, I didn't know Netscape even made their own Java VM [04:17:00.0000] <mikeday> what does charStack[-1] mean in Python? last item in charStack? [04:17:01.0000] <Dashiva> yes [04:18:00.0000] <mikeday> thanks :) [04:19:00.0000] <Philip`> unless charStack is a dict, in which case it's the entry with key -1 [04:19:01.0000] <Philip`> but a dict called charStack would not seem like a sensible idea [04:20:00.0000] <mikeday> it's a good test of a language in a way, how much of it can you understand if you don't know it [04:21:00.0000] <Philip`> By the way, I'd be quite interested in a fast (e.g. C(++)) version of html5lib since I've been complaining about how it takes ages to parse files in Python :-) [04:22:00.0000] <mikeday> does "be quite interested in" translate to "willing to help code a"? :) [04:23:00.0000] <mikeday> just out of interest, how long does it take to parse files with html5lib? [04:23:01.0000] <Philip`> I have approximately no time for the next three weeks, but I should be freer after then, so then I'd probably be willing and able :-) [04:24:00.0000] <mikeday> sounds good, as the task should take at least 3+n weeks [04:25:00.0000] <annevk> once you got something running it would be nice if you could host it online like on code.google.com or something [04:25:01.0000] <annevk> if I can find some time I'd be interested in learning some C and looking into it :) [04:26:00.0000] <mikeday> will do [04:26:01.0000] <mikeday> annevk, you read the whole file into a string, use regexp to do line conversion [04:26:02.0000] <mikeday> that's just cheating :) [04:27:00.0000] <mikeday> also, I think I found a typo: # Normalize new ipythonlines and null characters [04:27:01.0000] <mikeday> s/new ipythonlines/newlines/ ? [04:27:02.0000] <annevk> mikeday, htmlinputstream.py is not my job [04:28:00.0000] <Philip`> mikeday: For me parsing the HTML5 spec with html5lib, it takes 16 seconds normally, and 11 seconds with Pysco [04:28:01.0000] <annevk> jgraham, care to look at that? [04:28:02.0000] <Philip`> s/Pysco/Psyco/ [04:28:03.0000] <annevk> I think in C it should take less than a second [04:29:00.0000] <mikeday> libxml2 HTML parser takes 0.3s [04:29:01.0000] <Philip`> Bonus points if it works as a chtml5lib module that you can plug in to Python to replace html5lib with zero effort :-) [04:30:00.0000] <annevk> mikeday, there you go :) [04:30:01.0000] <mikeday> the html5lib code is rather elegant [04:30:02.0000] <mikeday> it would be nice if it could be compiled efficiently rather than hand optimising it [04:32:00.0000] <mikeday> hmm, the inputstream has a queue of characters that have been read and then putback [04:32:01.0000] <mikeday> however, the queue will never have more than 1 character on it [04:33:00.0000] <annevk> sometimes it will [04:33:01.0000] <annevk> the way we use it anyway [04:33:02.0000] <mikeday> if charsUntil is called multiple times... [04:34:00.0000] <annevk> some code appends to the queue [04:34:01.0000] <annevk> if we're talking about the same thing [04:34:02.0000] <mikeday> oh, outside of inputstream [04:34:03.0000] <mikeday> and here's me thinking it was a private variable :) [04:35:00.0000] <annevk> searching for self.stream.queue in tokenizer.py should give you an idea [04:35:01.0000] <mikeday> yeah [04:36:00.0000] <mikeday> I was expecting some kind of putback method [04:36:01.0000] <zcorpan> annevk: i found out that you fail http://simon.html5.org/test/css/magic-body/overflow/004.htm too (updated the table) [04:37:00.0000] <mikeday> that's a clever test [04:41:00.0000] <mikeday> hmm, parsing is easier when you load the entire document into memory first [04:41:01.0000] <mikeday> but not every application is going to like that. [04:42:00.0000] <Philip`> Are you going to attempt to handle <script> and document.write, so the application can modify the input stream while it's being parsed? [04:42:01.0000] <mikeday> eventually. [04:42:02.0000] <mikeday> obviously full support would require a JavaScript interpreter [04:43:00.0000] <mikeday> but you could always start with a hack that just handles trivial document.write calls, for testing [04:43:01.0000] <zcorpan> spidermonkey [04:43:02.0000] <mikeday> not every app will care about JavaScript [04:43:03.0000] <mikeday> /me nods [04:43:04.0000] <mikeday> just make it an optional dependency [04:43:05.0000] <Philip`> The script interpreter could just be offloaded into the application that's using the HTML parser, with some way it can be notified of document modifications and then modify the input stream back again, rather than building any scripting into the parser library itself [04:44:00.0000] <mikeday> can <script> do DOM manipulation when the entire document is not yet loaded? [04:45:00.0000] <mikeday> (please say no) [04:45:01.0000] <zcorpan> yes [04:45:02.0000] <zcorpan> (sorry) [04:45:03.0000] <Lachy> if it couldn't, that would affect the ability to do incremental rendering [04:45:04.0000] <mikeday> oh dear :) [04:45:05.0000] <annevk> do you mean loaded or parsed? [04:46:00.0000] <mikeday> I mean parsed [04:46:01.0000] <zcorpan> still a yes [04:46:02.0000] <mikeday> ie. the document text has not yet finished loading [04:46:03.0000] <Philip`> You could just make it a parser for script-is-disabled UAs, since real web browsers are probably going to be writing their own new parsers anyway and not many other people need scripting inside HTML :-) [04:46:04.0000] <annevk> the moment </script> is emitted script is executed and affects the input stream [04:46:05.0000] <mikeday> what happens if it starts mucking about with the root element? is that well defined? [04:46:06.0000] <Lachy> unless there's a defer attribute [04:47:00.0000] <annevk> mikeday, I think everything should work ok... [04:47:01.0000] <mikeday> what if it writes out a <script> element, like a self-reproducing element? [04:47:02.0000] <annevk> although I'm not entirely sure what would happen if it just removed the entire tree... [04:48:00.0000] <zcorpan> /me tested this before but can't remember what happens [04:48:01.0000] <mikeday> suicide scrips [04:48:02.0000] <mikeday> ts [04:49:00.0000] <zcorpan> iirc the rest of the element that was removed will not be inserted into the document, but i'll test it again [04:49:01.0000] <mikeday> so you could have a long page, then a script at the bottom that deletes all preceding content, then a second totally different page [04:50:00.0000] <Philip`> data:text/html,<script>function f(){document.write('<script>' + f + ' f()<'+'/script>Ha ')};f()</script> [04:50:01.0000] <Philip`> In Firefox it's seemingly limited to 20 invocations [04:51:00.0000] <Philip`> In Opera it kind of loops forever [04:51:01.0000] <mikeday> lovely :) [04:52:00.0000] <Philip`> In IE6 it's limited to 4 [04:52:01.0000] <Philip`> (or 5, depending on whether you count the initial one) [04:52:02.0000] <Philip`> /me wonders if that counts as a DOS bug in Opera [04:53:00.0000] <annevk> it's not like we freeze [04:53:01.0000] <annevk> I'll file a bug anyway to be on the safe side [04:54:00.0000] <annevk> btw, it seems that Firefox on my machine does way more invocations... [04:54:01.0000] <Philip`> Ah, that's true [04:54:02.0000] <Philip`> though it still eats ~5MB of memory a second [04:54:03.0000] <zcorpan> firefox doesn't add the rest of the element. opera does (and it will end up at the parent node relative to if the script didn't run). ie7 shows aborts and shows an error page... [04:54:04.0000] <mikeday> eventually will trigger the OOM killer and potentially kill X-Windows [04:55:00.0000] <mikeday> anyway, it's a beautiful document, makes the billion laughs attack look tame by comparison [04:56:00.0000] <Philip`> I'm not sure if I'm looking at the wrong numbers but it doesn't seem like Opera is freeing the half a gigabyte it used up while I had that page open... [04:56:01.0000] <annevk> seems to be fixed in more recent versions of Opera [04:56:02.0000] <annevk> they show a single "Ha" [04:56:03.0000] <Philip`> Ah, Firefox 2 goes up to 100 [04:57:00.0000] <Philip`> Actually, it goes down from 100 [04:57:01.0000] <Philip`> (data:text/html,<script>var i=1;function f(){document.write('<script>' + f + ' f()<'+'/script> '+(i++))};f()</script>) [04:58:00.0000] <Philip`> (FF3 goes down from 21, IE6 goes down from 6) [04:59:00.0000] <Lachy> you don't need to write out ' + f + ' each time, just <script>f()</script> is sufficient [04:59:01.0000] <mikeday> what's the trigger for cutting off execution, would you need to track how many script blocks were created by the original script block? [04:59:02.0000] <mikeday> a bit like tracking recursion depth, but for script elements... [04:59:03.0000] <Philip`> Oh, that's true... This way is more quine-like, though :-) [04:59:04.0000] <zcorpan> http://simon.html5.org/test/html/parsing/dom-mutations/ [05:00:00.0000] <mikeday> if you just blindly added the document.write text to the input stream, [05:00:01.0000] <mikeday> I don't see how you'd keep track of who created it [05:00:02.0000] <Lachy> this version loops 125 times in FF data:text/html,<script>var i=1;function f(){document.write(i++ + '<br><script>f()<\/script>')};f();</script> [05:01:00.0000] <Lachy> using the live DOM viewer, IE stops after 6 [05:01:01.0000] <zcorpan> 21 times for me in firefox3 [05:02:00.0000] <Lachy> I'm testing FF2 [05:04:00.0000] <Philip`> (Opera doesn't like the \ in that address) [05:04:01.0000] <Lachy> well, try %-encoding it then [05:05:00.0000] <Philip`> /me just used '+' instead [05:10:00.0000] <mikeday> hmm, be nice if C had coroutines, or python-style generators [05:11:00.0000] <mikeday> then if you run out of input halfway through parsing, you could just suspend and wait for more [05:13:00.0000] <Philip`> http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html - not exactly elegant, unfortunately, but that's what you get for using C [05:14:00.0000] <mikeday> hah, already reading that page [05:14:01.0000] <mikeday> cuter than setjmp/longjmp, [05:14:02.0000] <mikeday> but you can't use local variables, and only works for one single function [05:15:00.0000] <Philip`> Bah, who needs locals? [05:15:01.0000] <mikeday> gcc labels as values would also work nicely [05:15:02.0000] <mikeday> and allow the use of switch statements as well I suppose [05:15:03.0000] <mikeday> at the cost of making the code gcc-specific [05:15:04.0000] <Philip`> /me doesn't like GCC-specific code [05:15:05.0000] <mikeday> right [05:15:06.0000] <mikeday> or just make the code block on read [05:16:00.0000] <mikeday> and let applications use multiple threads if they care so much [05:16:01.0000] <mikeday> or callback on read, so the application can handle it and abort [05:16:02.0000] <Philip`> (I'm not entirely sure why I don't like it, but I guess it's just because portable standard code seems nicer) [05:16:03.0000] <mikeday> that's what pretty much every other library does [05:17:00.0000] <mikeday> annoying for application developers, but "that's what you get for using C"! :) [05:18:00.0000] <Philip`> Could something similar to libpng work? [05:18:01.0000] <mikeday> libpng is callbacks [05:18:02.0000] <mikeday> you say read, it reads by calling your provided read function [05:19:00.0000] <mikeday> hmm, it uses setjmp/longjmp too [05:19:01.0000] <mikeday> but only for error handling [05:19:02.0000] <Philip`> Its setjmp/longjmp is a bit nasty when you want to use it in C++ :-( [05:19:03.0000] <mikeday> jpeglib uses callbacks, but I think has I/O suspension as well, [05:20:00.0000] <mikeday> so you can pause a read and go and do something else [05:20:01.0000] <Philip`> Do HTML parsers need to abort and return errors? [05:20:02.0000] <mikeday> I think error handling shouldn't require setjmp hackery [05:20:03.0000] <mikeday> libpng is a bit exceptional in that regard (hah!) [05:21:00.0000] <mikeday> I was just hoping to avoid I/O callbacks if possible [05:21:01.0000] <mikeday> as it's not polite for a library to take over the main loop in that way [05:22:00.0000] <mikeday> doesn't seem possible without some funky code though. [05:24:00.0000] <Philip`> Hmm, you'd want something more like "while (some external loop getting data from the network) { parser->heres_some_more_data(buf, size); while (! parser->needs_more_data() && ! ui_needs_to_be_more_responsive()) parser->do_some_parsing(); if (is_finished()) hooray(); }" ? [05:24:01.0000] <mikeday> right, something like that [05:24:02.0000] <mikeday> although I probably wouldn't update the UI in the same thread [05:25:00.0000] <mikeday> parser.open(), parser.write(), write, write, parser.close() [05:26:00.0000] <mikeday> requires the parser to be able to suspend itself rather carefully when it runs out of data though [05:26:01.0000] <mikeday> which complicates the parser code [05:26:02.0000] <mikeday> just as demonstrated on that coroutines page [05:27:00.0000] <Philip`> Could it be useful to copy libxml2's interface, so the HTML5 parser could just fit in as a new input source there and users use libxml2 like they normally do? [05:27:01.0000] <mikeday> I would rather not to be honest, as libxml2 doesn't need to be any bigger [05:27:02.0000] <mikeday> or any more complex [05:28:00.0000] <mikeday> two different SAX interfaces, a DOM interface, the reader interface, etc. [05:28:01.0000] <Philip`> /me has never actually used libxml2 [05:28:02.0000] <mikeday> and too many XML-specific assumptions, which make the current libxml2 HTML parser fit rather awkwardly [05:28:03.0000] <Philip`> though I have used Xerces-C, so I know what giant over-engineered XML libraries feel like [05:28:04.0000] <mikeday> it's great for what it does, but it's grown by accretion and now it can't throw anything away [05:28:05.0000] <mikeday> for example, I'd much rather that it didn't have its own HTTP implementation [05:29:00.0000] <mikeday> and just provided stubs for interfacing with curl, or whatever [05:29:01.0000] <Philip`> Okay, that sounds like convincing reasons to stay away from it :-) [05:29:02.0000] <mikeday> there is some good code in there for specific tasks though, that's worth learning from [05:30:00.0000] <mikeday> but a HTML specific library could be slightly simpler, as well as implementing more of HTML. [05:30:01.0000] <mikeday> oh well, I'll have to stop procrastinating and get some of the ugly code written [05:31:00.0000] <mikeday> once you accept that it's going to be ugly, and stop trying to make it elegant, you get it done quicker. [05:35:00.0000] <Philip`> (Hmm, Xerces is a third of a million lines, and the .dll has half a megabyte just for the exported symbol names... All I wanted was a simple plain XML parser) [05:37:00.0000] <mikeday> libxml2 is < 200k lines of source [05:37:01.0000] <mikeday> about 220k including headers [05:38:00.0000] <mikeday> includes a fair bit of stuff though, XPath, some XSD schema and RELAX NG, etc. [05:39:00.0000] <mikeday> and HTML and DocBook parsers :/ [05:41:00.0000] <Philip`> Maybe I should use TinyXml, since that's only six thousand lines... [05:42:00.0000] <mikeday> actually, libxml2 also can be configured to be smaller, eg. --without-xpath, --without-schemas [05:42:01.0000] <mikeday> handy when you need a small footprint [05:42:02.0000] <mikeday> (I quite like libxml2, generally speaking :) [05:47:00.0000] <Philip`> I think the project I'm working on actually has three XML parsers already, since it uses a couple of external libraries that come with expat and libxml2. Plus there's a XML-converted-to-some-fast-binary-format loader, since XML parsing was too slow. Actually there's two of those (since I wanted to load some game's different binary XML format too), and also two separate XML writers. But it all works, which is enough to keep me happy [05:48:00.0000] <mikeday> heh [05:48:01.0000] <mikeday> we end up linking to expat indirectly as well, because fontconfig uses it [05:49:00.0000] <mikeday> feels a bit strange using two different parsers, but memory is cheap. [05:49:01.0000] <mikeday> anyway, must go [05:49:02.0000] <mikeday> /me waves [05:49:03.0000] <Philip`> Bye :-) [07:25:00.0000] <annevk> Hixie, postMessage() is not the only member of Document with relaxed settings: open(), write(), writeln(), close(), location have that too [07:26:00.0000] <annevk> Hixie, as such, moving postMessage() doesn't make much sense to us [12:31:00.0000] <annevk> /me ponders about the text/xsl discussion [12:35:00.0000] <JonT> ponders? [12:36:00.0000] <ddfreyne> v., -dered, -der·ing, -ders. To weigh in the mind with thoroughness and care. [12:36:01.0000] <ddfreyne> but "/me weighs in the mind with thoroughness and care" sounds so much cooler than "/me ponders" [12:37:00.0000] <JonT> thanks ddfreyne [12:38:00.0000] <Philip`> "ponder, n. Obs. 1. A weight; spec. one used with a scale or balance. Hence in extended use: anything weighty, esp. a weighty attack or blow." [12:44:00.0000] <nickshanks> /me ponders Philip around the lug 'ole ;-) [12:58:00.0000] <annevk> lol [13:00:00.0000] <annevk> Hixie, see a bit further up btw about postMessage() [13:02:00.0000] <Hixie> as far as i can tell you are wrong [13:02:01.0000] <Hixie> you can't document.write() to another domain [13:02:02.0000] <Hixie> that would be all kinds of dangerous [13:04:00.0000] <annevk> They have a different policy from some of the other members, anyway [13:07:00.0000] <Hixie> not in, e.g., safari, at least [13:09:00.0000] <annevk> even document.location? [13:12:00.0000] <Hixie> yup [13:12:01.0000] <Hixie> (you can get to it via window.location) [13:16:00.0000] <annevk> so contentDocument.location throws but contentWindow.location doesn't? [13:16:01.0000] <Hixie> yah [13:16:02.0000] <Hixie> i believe so [13:16:03.0000] <Hixie> test it [13:16:04.0000] <Hixie> actually it's contentDocument that throws [13:16:05.0000] <Hixie> not contentDocument.location [13:18:00.0000] <Hixie> bbiab, work [13:18:01.0000] <annevk> I get an exception for both contentDocument.location and contentWindow.location ... [13:18:02.0000] <Hixie> ah maybe "location" isn't one of the safe ones; try history [13:18:03.0000] <Hixie> anyway [13:19:00.0000] <Hixie> really. on. my. way. to. work. really. [13:20:00.0000] <annevk> contentDocument doesn't throw in Opera [13:20:01.0000] <annevk> or Firefox [13:20:02.0000] <annevk> tested using [13:20:03.0000] <annevk> data:text/html,<iframe src=http://www.google.com></iframe>x<script> alert(document.getElementsByTagName('iframe')[0].contentDocument) </script> [14:55:00.0000] <Hixie> Jeffrey Zeldman follows the WHATWG twitter feed [14:56:00.0000] <hasather> http://jeremiahgrossman.blogspot.com/2007/05/html-5-in-works.html [15:03:00.0000] <Hixie> right! [15:03:01.0000] <Hixie> lunch is eaten, e-mail is looked at, though not read [15:03:02.0000] <Hixie> time to do some editing! [15:03:03.0000] <zcorpan_> have fun :) [16:05:00.0000] <Hixie> wow. [16:05:01.0000] <Hixie> talk about a lack of interoperability [16:05:02.0000] <Hixie> http://www.hixie.ch/tests/adhoc/html/canvas/037.html [16:08:00.0000] <Hixie> i have three browsers and SIX different renderings [16:08:01.0000] <Philip`> And the spec gives a seventh rendering, and potentially an eighth if you interpret it differently ;-) [16:09:00.0000] <Hixie> the original spec gives a 7th [16:09:01.0000] <Hixie> and i recently changed it to an 8th, yes [16:09:02.0000] <zcorpan_> /me writes some test cases on <body bgcolor> parsing [16:09:03.0000] <Hixie> sweet kittens what a mess [16:10:00.0000] <Hixie> ok let's see [16:10:01.0000] <Hixie> opera is definitely buggy [16:10:02.0000] <Hixie> safari 2 is definitely buggy [16:10:03.0000] <Philip`> In the original spec I couldn't tell whether it was meant to draw a cone between offsets 0 and 1, or between -infinity and +infinity [16:11:00.0000] <Hixie> well it definitely has to go through the two circles you specify in the createRadialGradient method [16:11:01.0000] <Hixie> and opera and safari 2 don't do that [16:12:00.0000] <Hixie> nor does camino as far as i can tell [16:12:01.0000] <Hixie> i don't understand where camino gets its rendering from [16:12:02.0000] <Philip`> Oh, I noticed that problem in Opera but not in the cases I tried in Safari [16:12:03.0000] <Hixie> this leaves firefox 2 linux, minefield mac, and webkit trunk as my potentially correct renderings [16:12:04.0000] <Philip`> (Konqueror 3.8 is utterly broken with radial gradients too) [16:13:00.0000] <Hixie> minefield mac ignores the first stop so that's wrong... [16:13:01.0000] <Hixie> firefox 2 linux creates two cones, one truncated [16:13:02.0000] <Hixie> that's gotta be wrong [16:14:00.0000] <Hixie> so that leaves webkit trunk [16:14:01.0000] <Hixie> which creates an infinite cone [16:14:02.0000] <Hixie> let's test webkit trunk with a cone that ends finitely [16:15:00.0000] <Hixie> it works [16:15:01.0000] <Hixie> ok [16:15:02.0000] <Hixie> that wins [16:17:00.0000] <Philip`> "minefield mac ignores the first stop" - I see all four colours in 037 with Minefield on Linux [16:17:01.0000] <Hixie> yeah i expect the linux one has a less buggy cairo [16:18:00.0000] <Philip`> Ah, okay - I think they're all using the same Cairo version, but presumably different backend code within Cairo [16:19:00.0000] <Hixie> holy crap [16:19:01.0000] <Hixie> minefield on linux gives us a 7th rendering [16:30:00.0000] <jruderman> on mac, i see a green-blue gradient, and some magenta, and some horribly aliased borders. i don't see any black or yellow. [16:30:01.0000] <Philip`> Given that Cairo doesn't even bother to do this consistently between platforms or between versions, it seems to be a case that doesn't come up very often in practice, so nobody will mind what the output is as long as it's consistent [16:30:02.0000] <jruderman> (firefox trunk) [16:31:00.0000] <Hixie> jruderman: the existence of the green-blue gradient is the only constant in the results [16:31:01.0000] <Hixie> well, except safari 2, which just draws black [16:32:00.0000] <jruderman> hah [16:32:01.0000] <Hixie> (the test description is wrong) [16:32:02.0000] <jruderman> i'm surprised, i thought canvas was simple and already consistent across browsers [16:32:03.0000] <jruderman> oh [16:32:04.0000] <Hixie> jruderman: it's surprisingly consistent in the areas i wrote good spec test for [16:33:00.0000] <jruderman> "Hixie has NFI how the test below should render." [16:33:01.0000] <Philip`> Oh, Safari 2 just doesn't do gradients in fillRect - you can do rect() fill() instead and it'll work more usefully [16:33:02.0000] <jruderman> Hixie: hehe [16:33:03.0000] <Philip`> (in case you want to test its actual gradient rendering) [16:33:04.0000] <Hixie> Philip`: yeah [16:33:05.0000] <jruderman> what's with the jagged diagonal borders? [16:34:00.0000] <Hixie> what's a good third dimension variable name other than t, r and z? [16:34:01.0000] <Philip`> jruderman: It's consistent in the obvious cases, until you try doing something non-trivial and find different bugs in every variable :-) [16:34:02.0000] <Philip`> Uh [16:34:03.0000] <Philip`> s/variable/browser/ [16:35:00.0000] <Philip`> (I don't know where that word came from) [16:35:01.0000] <Hixie> probably came from you reading what i just wrote :-P [16:35:02.0000] <jruderman> Hixie: w? [16:35:03.0000] <Hixie> w might work [16:35:04.0000] <Hixie> i was thinking s [16:35:05.0000] <jruderman> Hixie: h, for height? [16:35:06.0000] <Philip`> alpha? [16:35:07.0000] <Hixie> but w is good [16:35:08.0000] <Hixie> alpha might work too [16:35:09.0000] <Hixie> alpha is better actually yeah [16:36:00.0000] <jruderman> Hixie: a, for altitude, and to confuse Philip` ? [16:36:01.0000] <bewest> d for depth? [16:36:02.0000] <Hixie> it's not a physical dimension [16:36:03.0000] <Philip`> Lowercase omega, to confuse jruderman? [16:36:04.0000] <Hixie> (it's a position along an imaginative line) [16:36:05.0000] <Hixie> ooo [16:36:06.0000] <Hixie> omega [16:36:07.0000] <Hixie> omega it is [16:36:08.0000] <bewest> heh [16:37:00.0000] <Hixie> (or "wibble" as we used to call it at university) [16:38:00.0000] <Philip`> I'm alright until people start using xi and zeta, and then I get totally confused [16:47:00.0000] <zcorpan_> http://simon.html5.org/test/html/parsing/color-attributes/001.htm [16:50:00.0000] <zcorpan_> can anyone test that in safari? [16:51:00.0000] <Hixie> hold on [16:51:01.0000] <zcorpan_> just see if there are any with #00ff00 [16:51:02.0000] <Hixie> nope [16:51:03.0000] <zcorpan_> interesting [16:52:00.0000] <Hixie> <body>, <head>, <html> are blank; <isindex> is null [16:52:01.0000] <Hixie> on trunk [16:53:00.0000] <Hixie> safari 2 <noembed>, <noframes>, <nolayer>, <noscript> are also blank [16:53:01.0000] <Hixie> and <isindex> is not null [16:55:00.0000] <Hixie> ok, i have a new, "more mathematical" definition for radial gradients [16:55:01.0000] <Hixie> let's fix these tests to match [16:56:00.0000] <Philip`> "more mathematical" = "more Greek letters"? [16:56:01.0000] <zcorpan_> what happens with http://simon.html5.org/test/html/parsing/color-attributes/002.htm ? [16:56:02.0000] <Hixie> Philip`: yup! [16:56:03.0000] <Hixie> zcorpan_: trunk: lime, xxff [16:56:04.0000] <Hixie> s2 same [16:57:00.0000] <zcorpan_> ah, so it's not handled in the parser like in other browsers [16:57:01.0000] <zcorpan_> ok [16:59:00.0000] <zcorpan_> hm, wonder what is most sane to do here. perhaps just the rendering section should say how to interpret bgcolor values or something 2007-05-15 [17:00:00.0000] <Hixie> zcorpan_: whatcha testing? [17:00:01.0000] <zcorpan_> <body bgcolor=xxff> [17:00:02.0000] <Philip`> Do you know how many attributes this applies to? (At least <font color> seems to be handled the same, but I don't know about any other colour attributes) [17:00:03.0000] <zcorpan_> parsed as <body bgcolor=#00ff00> in ie7, gecko and opera [17:00:04.0000] <Hixie> zcorpan_: i want to have the spec say that the content attributes always match the markup [17:01:00.0000] <Hixie> zcorpan_: though the DOM attributes might differ [17:01:01.0000] <Hixie> zcorpan_: and the processing might differ a lot [17:01:02.0000] <Hixie> e.g. as in this case [17:01:03.0000] <zcorpan_> Hixie: ok [17:01:04.0000] <Hixie> hopefully that won't break too much [17:01:05.0000] <Hixie> but who knows :-/ [17:01:06.0000] <Hixie> we'll have to find out [17:01:07.0000] <Hixie> possibly the hard way [17:02:00.0000] <zcorpan_> this doesn't have to be handled in the parser, given that safari doesn't [17:02:01.0000] <Hixie> yeah [17:02:02.0000] <Hixie> that was my assumption [17:02:03.0000] <Hixie> people don't generally read back their broken content, in my experience [17:02:04.0000] <Hixie> for presentational stuff, at least [17:02:05.0000] <zcorpan_> indeed [17:09:00.0000] <Hixie> /me introduces www-html to modern-day spec writing [17:13:00.0000] <Dashiva> The culture shock will kill them [17:14:00.0000] <Hixie> "I demand to see [multi-million page studies] for *every* single element/attribute..." [17:20:00.0000] <Philip`> Hixie: The currently online algorithm doesn't seem to work at all if you do createRadialGradient(0, 0, 10, 0, 0, 20) because it will start by drawing an infinite circle with the colour at offset 1, then draw nothing in any further steps, when it needs to be drawing an actual gradient pattern instead [17:20:01.0000] <Hixie> a solid colour is exactly what i'd expect for createRadialGradient(0, 0, 10, 0, 0, 20) [17:21:00.0000] <Hixie> since the two circles are completely inside one another and the end one totally overlaps the start one [17:21:01.0000] <Philip`> Oh - that's not what I'd expect, and it's not what any browser appears to give [17:21:02.0000] <Hixie> uri? [17:21:03.0000] <Philip`> I'd expect it to just do a smooth gradient between the two circles I told it to draw a smooth gradient between [17:22:00.0000] <Hixie> i agree, except that one of those two circles is completely on top of the gradient [17:22:01.0000] <Philip`> The top line in http://canvex.lazyilluminati.com/misc/radial/examples.html [17:22:02.0000] <Hixie> createRadialGradient(0, 0, 20, 0, 0, 10) will give you what you describe [17:23:00.0000] <Hixie> (wtf is firefox3 doing) [17:24:00.0000] <Philip`> Which one? FF3a3 (on Windows) is really not doing very well, but that was a strangely broken of Cairo and they've updated since then [17:24:01.0000] <Hixie> top picture of http://canvex.lazyilluminati.com/misc/radial/o-firefox3a3.png is the one that made me say wtf [17:24:02.0000] <Philip`> (FF3a4 appears to match on Windows and Linux) [17:25:00.0000] <Philip`> It looks like they kind of gave up on the whole idea of drawing radial gradients, and thought a coloured blob would be close enough [17:25:01.0000] <Hixie> i don't understand how you can have r0 > r1 and r0 < r1 both have a gradient, while still having the end circle filled with the end colour [17:25:02.0000] <Philip`> You don't have the end circle filled with the end colour [17:26:00.0000] <Philip`> (except when the circles aren't entirely overlapping) [17:26:01.0000] <Hixie> what would you draw then? just the circumferences? [17:27:00.0000] <Philip`> It doesn't seem very useful for cRG(x,y, 10, x,y, 20) to give you a solid colour - if you wanted that, you wouldn't both with a gradient at all - and it requires more effort for people to work out which way around the arguments should go when all they want is a visible gradient [17:28:00.0000] <Hixie> i really don't like the idea of having a condition under which the end circle is filled or not. [17:29:00.0000] <Philip`> It works sensibly (like WebKit and FF2) if you just draw circumferences, or if you start drawing filled circles from the smaller towards the larger (if not overdrawing previously-drawn bits) [17:29:01.0000] <Philip`> ...except only when the smaller circle is contained within the larger circle [17:29:02.0000] <Hixie> can you describe the algorithm without using the words "except" or "but"? [17:32:00.0000] <Philip`> /me tries to work out what he was thinking of [17:35:00.0000] <Philip`> The bit at the bottom of http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-May/011186.html is what I think 'works' (matching the "proposed spec" column, which is mostly like WebKit) - just draw circumferences, with circles near +infinity drawn on top of circles near -infinity [17:36:00.0000] <Hixie> have i replied to that mail? [17:36:01.0000] <Philip`> I don't think so [17:37:00.0000] <Hixie> i wonder where it is [17:37:01.0000] <Hixie> it's not in my canvas pile [17:37:02.0000] <Philip`> Oh, odd [17:38:00.0000] <Hixie> oh [17:38:01.0000] <Hixie> gmail thought it was spam [17:38:02.0000] <Hixie> go figure [17:38:03.0000] <Philip`> Oops [17:38:04.0000] <Hixie> ok, rescued it [17:38:05.0000] <Philip`> If I thought you hadn't seen it, I would have pointed it out earlier :-) [17:39:00.0000] <Hixie> /me reads [17:39:01.0000] <Hixie> :-) [17:40:00.0000] <Hixie> this e-mail is awesome [17:40:01.0000] <Hixie> i must reply to it and fix the spec appropriately! [17:47:00.0000] <Hixie> well there's irony for you. i write a testcase: http://www.hixie.ch/tests/adhoc/html/canvas/040.html [17:47:01.0000] <Hixie> ...and the only browser that renders the gradient correctly renders the control image incorrectly [17:48:00.0000] <Hixie> ok fixed the test [17:51:00.0000] <Dashiva> "Or have someone officially redefined HTML as a presentational language while I was looking the other way?" [17:51:01.0000] <Dashiva> I'm tempted to say "Yes" and point to the internet [17:51:02.0000] <Hixie> or "hard to say, how long have you been away?" [17:58:00.0000] <Philip`> /me finds that Opera and Firefox don't apply globalAlpha to gradients [17:58:01.0000] <Philip`> /me adds to list of things to test properly [17:58:02.0000] <Philip`> (At least Safari does it properly) [18:01:00.0000] <Philip`> (Opera doesn't do globalAlpha on images either, which was annoying since it messed up my game's lighting :-( ) [18:18:00.0000] <Hixie> it's amusing how gradients aren't anti-aliased in browsers [18:18:01.0000] <Hixie> radial gradients [18:24:00.0000] <Philip`> They don't antialias linear gradients either [18:24:01.0000] <Hixie> ah [18:24:02.0000] <Hixie> sucky [18:25:00.0000] <othermaciej> smooth gradients need dithering, not antialiasing [18:25:01.0000] <othermaciej> (at least ones that show visible banding) [18:25:02.0000] <othermaciej> ones that are intentionally banded I'd guess are a bit of an unexpected case [18:26:00.0000] <Philip`> Unexpected cases are what make specifying <canvas> fun :-) [18:34:00.0000] <zcorpan_> /me recorded results at http://simon.html5.org/test/html/parsing/color-attributes/ [18:53:00.0000] <Hixie> othermaciej: http://hixie.ch/tests/adhoc/html/canvas/040.html shows the need for anti-aliasing along the top and bottom [18:53:01.0000] <Hixie> othermaciej: the gradient has an edge [18:54:00.0000] <Hixie> i wonder how i can write a good test for checking that browsers don't do premultiplied alpha interpolation [18:54:01.0000] <Philip`> Use getImageData to check the pixel value? [18:55:00.0000] <Hixie> that's not reliable [18:55:01.0000] <Hixie> ideally i just want a visual test [18:55:02.0000] <Philip`> Oh, true, particularly since I think Firefox returns premultiplied components from getImageData [18:56:00.0000] <Hixie> why did you suggest this?: [18:56:01.0000] <Hixie> > * If one of the start circle and end circle is enclosed within the [18:56:02.0000] <Hixie> > other circle, and their circumferences touch in at least one point, [18:56:03.0000] <Hixie> > then the gradient must be rendered as the color at offset 0. [18:59:00.0000] <Philip`> Could draw a gradient from rgba(255,255,255,1) to rgba(0,0,0,0), and if it's being interpolated in premultiplied colour space then it'll be white all the way along (with varying alpha), otherwise it'll be grey in the middle [19:00:00.0000] <Hixie> yeah, i'm actually doing that :-) [19:00:01.0000] <Hixie> http://hixie.ch/tests/adhoc/html/canvas/041.html [19:02:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/radial/examples.html - 4th, 5th and 6th rows - if you just drew the infinite number of circles to make a cone, the edge of the cone would intersect the viewer's eye, so it wouldn't do colouring over the part of the background that's on the outside of that edge [19:03:00.0000] <Philip`> Or the simpler case is when the two circles are exactly equal, and you're looking down the centre of an infinite cylinder whose edges have zero width, so it wouldn't draw anything at all [19:04:00.0000] <Hixie> yeah for r0=r1 i see the problem [19:04:01.0000] <Hixie> i don't get the problem for the touching != case though [19:04:02.0000] <Hixie> assuming we just draw the circumferences [19:05:00.0000] <Hixie> you still get a cone with zero and infinite radii [19:09:00.0000] <Philip`> When the two circles touch at one point, then all the circles made by interpolating radius and centre will also touch at that same point, and so the areas on the outside of the edge at that point will never be painted because no circle ever extends out in that direction [19:10:00.0000] <Hixie> so? [19:10:01.0000] <Hixie> that's the same as in the not overlapping case [19:10:02.0000] <Hixie> you get non-painted areas [19:10:03.0000] <Hixie> it's more useful than all the same colour, at least [19:13:00.0000] <Philip`> You'd get half the area painted with the colour at offset 1, and the other half not painted at all, which I suppose isn't worse than painting the whole area with the colour at offset 0; but nobody seems to implement it that way now, and I'd guess they have reasons for doing that (like it being easier, and nobody really caring what the output is) [19:13:01.0000] <Hixie> and you'd get a gradient [19:13:02.0000] <Hixie> tiny one [19:13:03.0000] <Hixie> but a gradient nonetheless [19:14:00.0000] <Philip`> Oops, yes, you'd get the normal gradient inside the circle, and then half the background filled with colour 1 [19:15:00.0000] <Hixie> right [19:16:00.0000] <othermaciej> Hixie: yeah, I looked at that, it does look like the edges of the gradient area at least should be antialiased [19:17:00.0000] <Philip`> It might be a nasty edge case to implement (but I don't know at all so I'm just guessing wildly) - perhaps it'd be easier to pretend the smaller circle had been nudged very slightly inwards, so that they weren't right on the edge any more, and then you'd just draw everything as normal (like what Firefox 2 does, minus the small buggy bits) [19:18:00.0000] <Hixie> i hate exceptions :-) [19:18:01.0000] <Hixie> to me it's just the step between them being completely concentric and them being non-overlapping [19:19:00.0000] <Hixie> or rather, to them being overlapping-or-non-contentric [19:19:01.0000] <Hixie> concentric [19:19:02.0000] <Hixie> and that happens to have a weird edge case [19:19:03.0000] <Philip`> I expect the implementors hate them more, particularly when they have to implement the exceptional case in a complex way just to be theoretically purer :-) [19:19:04.0000] <Hixie> i don't see how this is a complex case [19:19:05.0000] <Hixie> but then i don't know how radial gradients are normally painted [19:19:06.0000] <Hixie> so... [19:20:00.0000] <Philip`> Because nobody implements it by actually drawing an infinite number of circles [19:20:01.0000] <Hixie> sure [19:20:02.0000] <Philip`> but then I don't know how they are implemented either [19:20:03.0000] <Hixie> but how do they paint them? [19:20:04.0000] <othermaciej> with science [19:20:05.0000] <Hixie> btw is there some way to make something appear when alpha is premultiplied that won't appear when alpha isn't premultiplied, that you can think of? [19:20:06.0000] <othermaciej> computer science [19:21:00.0000] <othermaciej> what do you mean by alpha being premultiplied? [19:21:01.0000] <othermaciej> in what place? [19:21:02.0000] <Hixie> gradient interpolation [19:21:03.0000] <othermaciej> what's your expectation of the difference - less fine detail in the gradient? [19:21:04.0000] <Hixie> hixie.ch/www/tests/adhoc/html/canvas/041.html [19:22:00.0000] <Hixie> er http://www.hixie.ch/tests/adhoc/html/canvas/041.html [19:22:01.0000] <othermaciej> (I'm assuming that you don't mean the color stops are treated as being premultiplied by the alpha already, as that would look very different) [19:22:02.0000] <Philip`> (Is there a guarantee that the load event won't be called after setting .src and before setting .onload?) [19:23:00.0000] <Hixie> othermaciej: as i just learnt, if you interpolate from 255,255,255,1.0 to 0,0,0,0, you'll get a different rendering if you do it by premultiplying alpha than if you won't [19:24:00.0000] <Hixie> Philip`: i think i specced it such that setting 'src' doesn't fire the event synchronously, ever [19:24:01.0000] <Hixie> Philip`: and events can't otherwise fire when code is running [19:24:02.0000] <othermaciej> what's an example of a browser that does premultiply? [19:24:03.0000] <Hixie> there are non, to my knowledge [19:24:04.0000] <Hixie> none [19:25:00.0000] <Philip`> Cairo uses premultiplied alpha internally, but does the gradient interpolation correctly as equivalent to linear in non-premultiplied components [19:25:01.0000] <othermaciej> oh I see [19:25:02.0000] <othermaciej> if you premultiply and then treat the interoplated colors as premultiplied, it would be all white [19:26:00.0000] <Philip`> like its premultiplied components go (255,255,255,1.0), (64,64,64,0.5), (0,0,0,0.0), rather than going linearly [19:26:01.0000] <Philip`> (If I remember correctly, Opera uses non-premultiplied internally, but I could be totally wrong) [19:27:00.0000] <Hixie> so i'm looking for something which would show something when you're premultiplying [19:27:01.0000] <Hixie> but wouldn't if you do it right [19:27:02.0000] <othermaciej> CoreGraphics uses premultiplied pixel formats for images, but I guess not in this case [19:27:03.0000] <othermaciej> Hixie: if you made the text grey in your 041.html case that would hold, no? [19:28:00.0000] <Hixie> how do you mean? [19:28:01.0000] <othermaciej> Hixie: well, right now it shows something when *not* premultiplied, but doesn't when you *are* premultiplied [19:28:02.0000] <othermaciej> because the premultiplied gradient is white instead of grey [19:28:03.0000] <Philip`> data:text/html,<canvas id=c></canvas><script>c=document.getElementById('c');ctx=c.getContext('2d');ctx.fillStyle='rgba(12,34,56,0.01)';ctx.fillRect(0,0,1,1);alert(c.getContext('opera-2dgame').getPixel(0,0))</script> - aha, Opera stores non-premultiplied, else it would lose all the precision in the rgb components [19:29:00.0000] <othermaciej> so you could swap the text color to match the other way [19:29:01.0000] <Hixie> othermaciej: the text colour wouldn't be a solid colour then [19:30:00.0000] <Hixie> oh well, i'll just have the positive test, doesn't really matter since everyone passes anyway [19:31:00.0000] <othermaciej> it might only be practically invisible [19:32:00.0000] <Hixie> you'd be surprised how picky QA people can be [19:32:01.0000] <Hixie> like, they complain that "This line should be green" when the line has a green background is a failure because the line isn't green, its background is green. [19:32:02.0000] <Hixie> or they complain that the pixel rounding on the nose of Acid2 is wrong [19:33:00.0000] <Philip`> Perhaps you could draw a gradient with its endpoints millions of pixels apart, so the visible part in the center is a solid colour [19:33:01.0000] <Philip`> and then make the text match that colour [19:34:00.0000] <Hixie> that has the problem with reliability that getPixelData has [19:34:01.0000] <Hixie> no worries [19:34:02.0000] <Hixie> one test is fine [20:39:00.0000] <Philip`> "If multiple stops are placed at the same place on a gradient, they must be placed in the order added" - that sounds a bit awkward with so many 'place'; maybe "If multiple stops are added at the same offset on a gradient, they must be placed in the order added"? [20:43:00.0000] <Philip`> "draw the circumference of the circle with radius of radius r(\omega)" - repetition [20:44:00.0000] <Philip`> "If the two circles overlap, the effect is as if the second (end) circle is painted on top of the first circle. The end circle is always filled with the color of the last stop." - I think both those sentences are wrong with the new definition [22:52:00.0000] <Hixie> Philip`: can you send mail with those? i'll look at them when i next do editing work (prolly tomorrow) [23:14:00.0000] <Lachy> Hixie, thanks for the stats [23:14:01.0000] <Lachy> would it be fair to say that 0.05% is widely used, given that for 1 billion, that equals about 50 million pages? [23:15:00.0000] <Hixie> it's 0.05% used [23:15:01.0000] <Hixie> i can't tell you if that's "widely" or not [23:15:02.0000] <Hixie> depends on the context [23:16:00.0000] <Lachy> fair enough. I can just imagine the response when I send those stats to the list being "that's an insignificant amount, we can drop those elements!" [23:16:01.0000] <Hixie> well that's why i gave the other elements as context [23:16:02.0000] <Hixie> <blink>, <ruby>, <cite>, <dfn> [23:16:03.0000] <Lachy> yeah [23:18:00.0000] <Hixie> for deciding of it should be in the spec or not, one page is enough, if the page is, say, cnn.com [23:19:00.0000] <Hixie> or if the page is the home page of an influential magazine editor [23:19:01.0000] <Hixie> who might review your product [23:19:02.0000] <Hixie> for deciding if it's an important semantic... it's a harder call [23:19:03.0000] <Lachy> yeah, well there are plenty of major web development related sites that use those elements [23:20:00.0000] <Hixie> in practice, i've been adding elements from HTML4, and mostly dropping attributes [23:20:01.0000] <Hixie> might need to revisit some, we'll see [23:20:02.0000] <Hixie> <samp> is used very rarely, iirc [23:20:03.0000] <Lachy> well, even if people only use it to get the monospace font for code samples, that's better than <font family=""> [23:20:04.0000] <Hixie> might be able to drop that one without too much issue [23:20:05.0000] <Lachy> face="", even [23:20:06.0000] <Hixie> yeah [23:20:07.0000] <Hixie> well [23:20:08.0000] <Hixie> we could readd <Tt> [23:20:09.0000] <Hixie> if that was the concern [23:21:00.0000] <Hixie> but *shrug* [23:21:01.0000] <Hixie> i'm inclined to just keep the four of them as is [23:21:02.0000] <Lachy> given the objections to <b> and <i> so far, I don't think redefining <tt> would go down well [23:21:03.0000] <Hixie> i need to do the study for headers="" that i described in www-html [23:21:04.0000] <Hixie> that too [01:29:00.0000] <mikeday> the HTML5 spec instructs user agents to treat ISO-8859-1 as Windows-1252 [01:29:01.0000] <mikeday> should they also treat US-ASCII as Windows-1252? [01:30:00.0000] <mikeday> I mean, it makes sense to do so... [01:30:01.0000] <othermaciej> possibly - should probably test in Win IE, and see if any pages report themselves as US-ASCII [01:32:00.0000] <mikeday> just take a Windows-1252 page with a bunch of 8-bit characters and mislabel the encoding I suppose [01:32:01.0000] <Hixie> iirc IE treats US-ASCII as US-ASCII [01:32:02.0000] <Hixie> it strips the 8th bit [01:32:03.0000] <Hixie> might be a security whole, in fact [01:32:04.0000] <Hixie> hole even [01:32:05.0000] <mikeday> hi Hixie [01:33:00.0000] <Hixie> hi [01:33:01.0000] <mikeday> so it's just ISO-8859-1 that's ignored then [01:33:02.0000] <othermaciej> strips the 8th bit? [01:33:03.0000] <othermaciej> wow [01:33:04.0000] <othermaciej> that's definitely dangerous compared to skipping characters with the high bit set [01:33:05.0000] <Hixie> you'd have to test it to see [01:33:06.0000] <Hixie> i may be wrong [01:33:07.0000] <mikeday> or turning characters with high bit set to U+FFFD, as HTML5 would require I guess [01:33:08.0000] <Hixie> or they may have fixed it [01:35:00.0000] <mikeday> hmm, looks like it's stripping the 8th bit here [01:35:01.0000] <mikeday> (in IE 6) [01:37:00.0000] <mikeday> 0xC0 becomes 0x40 [01:37:01.0000] <mikeday> � -> @ [01:37:02.0000] <mikeday> will this behaviour go in the spec too? :) [01:45:00.0000] <Hixie> no [01:45:01.0000] <Hixie> it's a securty nightmare [01:45:02.0000] <Hixie> i wonder how easy it would be to trick IE into thinking the harset was US-ASCII [01:46:00.0000] <mikeday> eg. write <script> and such but with the high bit set? [01:47:00.0000] <Hixie> yah [01:47:01.0000] <mikeday> just to be absolutely clear, I assume that the high bit -> U+FFFD applies when in US-ASCII, right? [01:47:02.0000] <Lachy> I don't understand why Jukka doesn't think your sample from Google's cache isn't a valid sample [01:47:03.0000] <Hixie> mikeday: i dunno, does US-ASCII have a spec that says how to map 8-bit characters to unicode? [01:48:00.0000] <othermaciej> google doesn't give enough weighting to sites that are authored with correct semantics [01:48:01.0000] <mikeday> hmm, I don't think the spec for US-ASCII (which spec, anyway?) says anything about bytes > 127 [01:48:02.0000] <othermaciej> google should probably just refuse to show invalid sites when you do a search query [01:49:00.0000] <Lachy> othermaciej, isn't that a good thing, since it's representative of the whole web, not just the proportion of semantically correct pages [01:49:01.0000] <Hixie> Lachy: he's right. if you don't work from the assumption that i'm not trying to pull a fast one, you have no reason to trust my data. [01:49:02.0000] <mikeday> heh, that would certainly save google indexing space :) [01:49:03.0000] <Hixie> othermaciej: actually, it's probably the opposite :-) [01:49:04.0000] <Hixie> yeah seriously, we could save so much disk space if we only had to store the four valid pages [01:50:00.0000] <Hixie> Lachy: see also mail i just sent [01:51:00.0000] <othermaciej> personally I'd prefer an experiment that was reproducible, even if it was based on a smaller sample set [01:51:01.0000] <othermaciej> but I also think Hixie has no motive to falsify the data and the odds of error are fairly low [01:52:00.0000] <mikeday> (if I may satisfy my morbid curiousity, is this a publically archived argument that you're discussing?) [01:53:00.0000] <Lachy> see www-html [01:54:00.0000] <Hixie> othermaciej: yeah, i'd really really love to have people reproduce this [01:54:01.0000] <Hixie> othermaciej: don't really know how to do it though [01:55:00.0000] <Hixie> othermaciej: where "it" is "find a representative sample without using google's resources" [01:55:01.0000] <othermaciej> still, the claim to being scientific would be better [01:55:02.0000] <Hixie> well, i've never made a claim to being scientific [01:55:03.0000] <Hixie> in fact quite the opposite :-) [01:55:04.0000] <othermaciej> well, it would be possible to make a claim to being scientific [01:55:05.0000] <Lachy> unfortunately, few people have the recources available to reproduce a study of billions of documents, though we could do it on a smaller scale of thousands of pages [01:56:00.0000] <othermaciej> I wonder if any site has a readily publicly available representative corpus of web documents [01:56:01.0000] <Hixie> i'd love e.g. yahoo or microsoft to do something like this [01:56:02.0000] <Hixie> othermaciej: yeah the problem is making that sample is Really Hard (tm) [01:57:00.0000] <Hixie> othermaciej: because any crawling strategy is inherently biased towards front pages until you have several million pages [01:58:00.0000] <othermaciej> bias towards front pages is not the worst thing but I guess it would bury a lot of important data [01:59:00.0000] <Lachy> bias toward front pages is probably quite a good thing, since it lowers the chance of a relatively unimportant set of pages skewing the results [02:00:00.0000] <Hixie> bias towards front pages is really, really visible in results [02:00:01.0000] <Hixie> it makes a huge difference [02:00:02.0000] <Hixie> front pages have massively different characteristics [02:00:03.0000] <Hixie> far more than i expected [02:00:04.0000] <Lachy> oh, I think I misinterpreted what you meant by front pages. do you mean like the home pages of sites? [02:01:00.0000] <Hixie> yeah [02:01:01.0000] <Hixie> what did you mean? [02:02:00.0000] <Lachy> from your email, you said "biased by what Google has algorithmically established would be most "interesting" to its potential users". I just assumed you were also referring to pages with higher page rank [02:06:00.0000] <Hixie> aah [02:08:00.0000] <othermaciej> whoah [02:08:01.0000] <othermaciej> I can't believe someone things the fact that some accessibility software ignores headers="" in favor of heuristics is an argument *for* having headers="" in the spec [02:10:00.0000] <Hixie> yeah that didn't really make sense to me either [02:10:01.0000] <Hixie> but there were some good points made on that threatd so i saved thosee-mails for when i look at tables next [02:14:00.0000] <mikeday> hmm, did you just say you're looking at tables? will that include layout issues, or just element usage/semantics? [02:14:01.0000] <othermaciej> I'm glad I am not on www-html [02:15:00.0000] <othermaciej> I don't think I could remain reasonably polite [02:15:01.0000] <Hixie> mikeday: i will in due course look at both. right now i'm doing canvas. [02:18:00.0000] <mikeday> I must say I rather like the <code> tag [02:18:01.0000] <mikeday> even if sometimes it only really means "make this monospace" [02:19:00.0000] <Hixie> wow, jukka is, ah, rude [02:20:00.0000] <mikeday> is the whole argument over whether "sample" means "random sample" ? [02:20:01.0000] <Hixie> no idea [02:20:02.0000] <Hixie> i don't know what he's talking about [02:20:03.0000] <Hixie> since the data in question is indeed a statistical sample [02:21:00.0000] <mikeday> maybe easier to say "subset" of the web [02:21:01.0000] <mikeday> as that's unarguable [02:21:02.0000] <Hixie> depending on how you define the sampling frame, it's either a 100% sample of the sampling frame, or a biased sample of the sampling frame, biasing towards "interesting" pages [02:21:03.0000] <Hixie> yeah [02:22:00.0000] <Hixie> i don't think he's really interested in the actual data [02:22:01.0000] <Hixie> looks like he just wants to argue [02:22:02.0000] <Hixie> you know, i think what's happened is that a lot of people have been saying for years that html5 is not legit, that it's a stupid project, that html is dead [02:23:00.0000] <Hixie> and now that the w3c has taken html5 as the base for the next version of html, and said html is indeed alive and well, they feel somewhat cheated [02:23:01.0000] <mikeday> HTML: I'm not dead yet! [02:24:00.0000] <HTML> /me is alive [02:24:01.0000] <mikeday> if Google follows the information destruction policy as described in The Onion [02:24:02.0000] <Lachy> HTML has been intensive care for a few years, though it's starting to stabalise now [02:24:03.0000] <mikeday> then it will only be a matter of time before your sample is a 100% sample :) [02:25:00.0000] <mikeday> http://www.theonion.com/content/node/40076 [02:28:00.0000] <Lachy> lol :-) [02:30:00.0000] <mikeday> if there is "paving the cowpaths" for standardising common idioms [02:30:01.0000] <mikeday> how to say "getting rid of stuff no one uses"? [02:31:00.0000] <Lachy> if google purge can be extended to purge all non-conforming web pages, that would solve all out backwards compatibility issues [02:31:01.0000] <othermaciej> "Don't be evil, unless it's necessary for the greater good." [02:31:02.0000] <mikeday> Lachy, that's called "pulling the plug on the entire web" [02:31:03.0000] <mikeday> (except for the four valid pages mentioned earlier) [02:32:00.0000] <Lachy> yeah, well, there are plans to replace the entire web. There was an article about it, mentioned on slashdot [02:34:00.0000] <othermaciej> we weill rewrite the web in valid xhtml2 [02:35:00.0000] <mikeday> might as well fix HTTP and come up with a better URL mechanism while you're at it [02:36:00.0000] <zcorpan> it boiled down to replacing the earth last time this came up... :) [02:36:01.0000] <mikeday> why stop there? some of the laws of physics could be improved :) [02:36:02.0000] <zcorpan> oh indeed [02:36:03.0000] <mikeday> tweak electromagnetism to reduce the latency of my connection, thanks :) [02:37:00.0000] <zcorpan> lol [02:37:01.0000] <Lachy> the earth is already dead, we're all moving to that new planet 20 light years away [02:38:00.0000] <zcorpan> we need a planet that is flat [02:38:01.0000] <mikeday> hmm, by the time we get there, everyone will have reached agreement on the semantics of elements in HTML5 (maybe) [02:38:02.0000] <Lachy> you can't go down hill skiing if the whole planet is flat [02:38:03.0000] <Lachy> we need one on a slope [02:39:00.0000] <mikeday> a world on the inside of a giant bowl would be handy [02:39:01.0000] <mikeday> then you could have your skiing, [02:39:02.0000] <mikeday> and we could use microwave links from any point to any other point on the bowl [02:40:00.0000] <Lachy> no, not a bowl, we'll all be eaten the the flying spagetti monster [02:40:01.0000] <mikeday> :) [02:40:02.0000] <othermaciej> whoah, what do "char" and "charoff" attributes on <td> mean? [02:41:00.0000] <othermaciej> mikeday: we will use a mix of XRIs, IRIs and CURIEs, and HTTP-NG [02:41:01.0000] <mikeday> char is for alignment, right? [02:41:02.0000] <zcorpan> alignment of a column, yes [02:42:00.0000] <zcorpan> does <td char> mean that you align the cell at a char against itself? [02:42:01.0000] <Lachy> they're for aligning cells based on teh position of a character, so for example you could align all the decimal points [02:42:02.0000] <mikeday> why were IRIs necessary at all, why not URI v2 or URI++ or something? [02:43:00.0000] <zcorpan> URL5 [02:43:01.0000] <mikeday> right! [02:43:02.0000] <mikeday> someone totally needs to write that spec [02:44:00.0000] <mikeday> and by someone I mean Hixie [02:44:01.0000] <Lachy> what's wrong with IRIs, other than the name? [02:44:02.0000] <mikeday> :) [02:44:03.0000] <mikeday> Lachy, the name is bad enough, and the fact that they're 10 years too late [02:44:04.0000] <mikeday> aside from that, no objections :) [02:45:00.0000] <Hixie> the main problem with IRIs is that they're not backwards compatible with pages that use non-ascii characters and that are not encoded as UTF-8 [02:45:01.0000] <Hixie> but apart from not being compatible with most of the wb, they're fine [02:45:02.0000] <Lachy> while we're at it, Hixie should write CSS5, XML5 (take it over from anne), JavaScript5, FooML5, etc. [02:45:03.0000] <Hixie> let's do HTML5 first [02:46:00.0000] <Hixie> maybe i can then use my experience with web standards to start UN5 [02:46:01.0000] <mikeday> heh [02:46:02.0000] <mikeday> that'd be a riot [02:46:03.0000] <mikeday> "no one obeys these laws, so let's drop 'em" [02:47:00.0000] <mikeday> (regarding, say, file sharing) [02:47:01.0000] <othermaciej> wow, a lot of pages use <ruby> [02:48:00.0000] <Philip`> More than <perl>? [02:48:01.0000] <zcorpan> <sam> <ruby> [02:48:02.0000] <othermaciej> no, the tag [02:48:03.0000] <othermaciej> /me rolls his eyes in exhasperation [02:48:04.0000] <Hixie> hah [02:48:05.0000] <Hixie> and yeah [02:49:00.0000] <mikeday> is Ruby defined in an HTML specification, or only in XHTML? [02:49:01.0000] <zcorpan> XHTML [02:54:00.0000] <Hixie> html5 will define it in due course [02:54:01.0000] <Hixie> in a simplified version [02:54:02.0000] <mikeday> by the way, line 33057 of the HTML5 spec has an unescaped <, which appears to be a parse error [02:54:03.0000] <Hixie> with error handling [02:54:04.0000] <Hixie> mikeday: it'll get fixed in due course. don't worry about typos and stuff :-) [02:55:00.0000] <Hixie> bed time [02:55:01.0000] <Hixie> nn [02:56:00.0000] <othermaciej> I think XHTML incorporates it by reference from a separate spec [02:57:00.0000] <othermaciej> I have to learn more about why some people think modules and profiles and such are so cool [02:57:01.0000] <othermaciej> and namespaces [02:57:02.0000] <othermaciej> I have a hard time grasping how having many dialects and many languages could improve communication [02:58:00.0000] <zcorpan> /me doesn't get it either [02:59:00.0000] <othermaciej> I think it has to do with the desire to have everything be defined [03:00:00.0000] <othermaciej> since not everything can practically be predefined, you need a way to make your own dictionaries [03:00:01.0000] <zcorpan> doesn't class="" allow for that? [03:03:00.0000] <othermaciej> no, because it just lets you *use* things, without linking to a definition of them [03:03:01.0000] <othermaciej> thus profile="", or role="" with RDFa [03:05:00.0000] <zcorpan> ah, right. because the UA magically knows about the semantics if you link to a definition [03:05:01.0000] <zcorpan> /me has heard the same thing about shemas [03:06:00.0000] <zcorpan> "browsers can't know what a custom attribute means unless it's defined in the DTD" [03:07:00.0000] <Lachy> would it be possible to define a simplified version of role="" (or equivalent) without all the RDFa and namespace stuff, which could be used just for predefined values, leaving class for author defined values [03:07:01.0000] <Lachy> I am assuming that we can actually get clear use cases from its advocates [03:09:00.0000] <othermaciej> a non-extensible role="" doesn't seem very useful [03:10:00.0000] <Lachy> it's just as useful in reality as one that's extensible using RDFa [03:10:01.0000] <Lachy> we could just leave it up to a microformat-like community to define the extensions for it [03:11:00.0000] <mikeday> darn, Hixie's already gone [03:11:01.0000] <mikeday> Hixie, if you happen to read this, consider making support for UTF-32 optional in HTML5! Thank you. [03:11:02.0000] <zcorpan> mikeday: why? [03:12:00.0000] <mikeday> because it's annoying, and I don't see why user agents should be compelled to implement support for it. [03:12:01.0000] <mikeday> does anyone regularly publish web content in UTF-32? [03:13:00.0000] <zcorpan> is utf-32 currently required? [03:14:00.0000] <Lachy> I don't believe it's required [03:14:01.0000] <Lachy> it's not required for XML either, so it wouldn't make sense to require it for HTML5 [03:14:02.0000] <mikeday> maybe not required [03:14:03.0000] <mikeday> but encoding detection says that FF FE 00 00 [03:14:04.0000] <mikeday> must be treated as being UTF-32 encoding [03:14:05.0000] <mikeday> rather than UTF-16LE followed by a null [03:14:06.0000] <othermaciej> implementing UTF-32 is not hard [03:15:00.0000] <Lachy> it needs to be included in the detection algorithm, but if a UA doesn't support it, it'll obviously fail [03:15:01.0000] <mikeday> actually, what is the procedure for unsupported encodings, fallback to Windows-1252 or similar? [03:16:00.0000] <mikeday> ah, "Otherwise, use an implementation-defined or user-specified default character encoding." [03:17:00.0000] <zcorpan> that's if it can't find an encoding declaration [03:17:01.0000] <mikeday> so if a BOM is found, the meta charset attribute won't be checked [03:17:02.0000] <Lachy> you can't fallback to a different encoding and still expect to get sane results, especially for unsupported UTF-32 [03:17:03.0000] <zcorpan> mikeday: yes [03:17:04.0000] <mikeday> so be careful saving pages in Notepad UTF-8 mode, basically [03:17:05.0000] <Lachy> I suppose, if you get <meta charset="bogus">, you'd have to fallback [03:17:06.0000] <mikeday> as it will screw up Windows-1252 pages [03:18:00.0000] <Lachy> mikeday, how would that screw win1252 pages? They would just be treated as UTF-8, regardless of what the meta says [03:18:01.0000] <Lachy> they'd be non-conforming, though, but they'd work [03:19:00.0000] <Lachy> unless the encoding is declared in the HTTP headers as Win-1252 [03:19:01.0000] <mikeday> hmm, wouldn't it garble some text? [03:20:00.0000] <Lachy> if you saved it as UTF-8 using notepad, which will add the BOM, the whole file will be encoded as UTF-8, so that's not a problem [03:20:01.0000] <mikeday> right :) [03:20:02.0000] <mikeday> hmm, I think I've found a UTF-32 BOM related bug in html5lib [03:21:00.0000] <mikeday> it checks for the UTF-16 BOM before checking for the UTF-32 BOM [03:21:01.0000] <mikeday> which means FF FE will always match UTF-16, and UTF-32 will never be returned [03:21:02.0000] <mikeday> which is why I don't like UTF-32 autodetection. [03:22:00.0000] <zcorpan> mikeday: would you like the sniffing algorithm to not look for UTF-32, and forbid UAs to support UTF-32? [03:23:00.0000] <mikeday> zcorpan, it certainly wouldn't bother me if that was the policy [03:23:01.0000] <mikeday> does anyone use UTF-32, ever? [03:23:02.0000] <zcorpan> dunno [03:23:03.0000] <zcorpan> /me wouldn't mind either [03:23:04.0000] <mikeday> I've never seen it except in test suites [03:24:00.0000] <mikeday> expat doesn't support it [03:24:01.0000] <mikeday> so it's not widely used in the XML world [03:24:02.0000] <mikeday> it's horrendously inefficient, so it doesn't make sense to use it on the web [03:24:03.0000] <zcorpan> indeed [03:24:04.0000] <mikeday> it only really exists for logical completeness, [03:24:05.0000] <mikeday> as an example of how UNICODE could potentially be encoded [03:24:06.0000] <mikeday> and there's four different potential endianesses for it, which is just stupid [03:25:00.0000] <mikeday> (although HTML5 only mentions two) [03:25:01.0000] <zcorpan> mail the list [03:25:02.0000] <mikeday> alrighty [03:26:00.0000] <mikeday> which list? :) [03:26:01.0000] <zcorpan> whatwg⊙wo [03:31:00.0000] <mikeday> sent [03:31:01.0000] <mikeday> and the crusade to abolish UTF-32 marches on. [03:47:00.0000] <Dashiva> Poor utf-32, what did it ever do to you? [03:50:00.0000] <zcorpan> cause bugs in software? :) [03:50:01.0000] <zcorpan> waste people's time? [04:10:00.0000] <Dashiva> But complaining about it causes +1 posts on whatwg :) [04:40:00.0000] <mikeday> yay, +1 posts [04:40:01.0000] <mikeday> probably time someone specified UTF-64, for people who like even more null bytes in their text [04:41:00.0000] <Lachy> that'd be awesome! cause 64 bit processing is much faster than 32 ;-) [04:42:00.0000] <mikeday> twice the bits :) [04:43:00.0000] <mikeday> <cue Nintendo fan enthusiasm> [04:44:00.0000] <zcorpan> /me likes nintendo 8-bit [04:44:01.0000] <Lachy> UTF-128 would be more secure [04:45:00.0000] <mikeday> if UNICODE was a 128 bit character set, [04:45:01.0000] <mikeday> you could represent each character as a bitmap glyph image [04:45:02.0000] <mikeday> no need for fonts :) [04:46:00.0000] <zcorpan> SVG is the replacement of unicode! [04:46:01.0000] <zcorpan> brillant [04:46:02.0000] <Lachy> SVG is also the replacemetn for TTF [04:46:03.0000] <mikeday> of course, then you need a character encoding to encode your SVG in... ASCII? :) [04:47:00.0000] <Lachy> ASCII 5! [04:47:01.0000] <mikeday> more work for Hixie [04:47:02.0000] <mikeday> better begin at the beginning, and define binary5 first [04:48:00.0000] <mikeday> check with Google and see if people use 1 more or 0 [04:48:01.0000] <Lachy> yeah, we should ditch the 8th bit while we're at it. We don't need octets to encode 7 bit encodings [04:48:02.0000] <zcorpan> shouldn't ASCII5 be 5-bit? [04:49:00.0000] <Lachy> we could ditch 28 of the 31 control characters [04:49:01.0000] <zcorpan> and things like ~ [04:49:02.0000] <zcorpan> that aren't used in english anyway [04:50:00.0000] <mikeday> dropping ~ might make it difficult to find your home directory [04:50:01.0000] <mikeday> drop uppercase letters would be better [04:51:00.0000] <zcorpan> yeah [04:51:01.0000] <mikeday> you could always use some kind of stateful caps character if necessary [04:51:02.0000] <Lachy> so we're left with LF, TAB, Space, A-Za-z0-9 and a few symbols [04:51:03.0000] <Dashiva> No bell? [04:51:04.0000] <mikeday> have we just reinvented baudot codes? :) [04:51:05.0000] <mikeday> http://en.wikipedia.org/wiki/Baudot [04:51:06.0000] <Lachy> we could redefine NUL to beep whenever its used [05:00:00.0000] <mikeday> yay, I have written a function that checks for a BOM. [05:00:01.0000] <mikeday> Truly, it's all downhill from here. [05:31:00.0000] <mikeday> hmm, C still has no max function [05:32:00.0000] <mikeday> I guess so that language tutorials can still define it as a macro [05:48:00.0000] <zcorpan> http://tom.opiumfield.com/blog/2007/05/15#When:08:46:09 [05:50:00.0000] <Lachy> I like how he disputes my claim about it being useless in practice, by pointing to a spec that isn't really used in practice [05:50:01.0000] <zcorpan> :) [05:52:00.0000] <Lachy> I think Ruby's postulate applies to the problem with the profile attribute: "The accuracy of metadata is inversely proportional to the square of the distance between the data and the metadata." [05:52:01.0000] <Lachy> Sticking the profile in the <head> is too far away from the actual data in the body [06:02:00.0000] <zcorpan> Levels of HTML knowledge [06:02:01.0000] <zcorpan> 1. <i> is presentational! <em> is more semantic. let's replace <i>s with <em>s. [06:02:02.0000] <zcorpan> 2. <em> represents emphasis! not italics. don't use <em> when you mean italics. [06:02:03.0000] <zcorpan> 3. <i> and <em> are sysnonyms. [06:03:00.0000] <zcorpan> s/knowledge/insight/ [06:04:00.0000] <Lachy> I don't quite agree with #3 [06:04:01.0000] <Lachy> <em> usually means emphasis, <i> has context sensitive semantics [06:05:00.0000] <zcorpan> in practice, <em> has context sensitive semantics, too [06:05:01.0000] <Lachy> possibly, but not quite as much as i [06:06:00.0000] <zcorpan> from a markup consumer's pov, there's no benefit in treating them differently [06:08:00.0000] <Lachy> the benefit is more from an authors point of view, cause it allows you to style them differently without having to use classes [06:08:01.0000] <zcorpan> sure [06:20:00.0000] <Lachy> ha, this is awesome. http://hugeurl.com/ [06:20:01.0000] <zcorpan> LOL [06:23:00.0000] <Lachy> this is so much easier to remember http://www.hugeurl.com/?YjJlNTg2ZmUzYzc5NWIwZjZhMzRiZTk2NzBkNmJiMTkmMTMmVm0wd2QyUXlVWGxWV0d4WFlUSm9WMVl3Wkc5V1ZsbDNXa2M1YWxKc1dqQlVWbHBQVjBaYWMySkVUbGhoTVVwVVZtcEdZV015U2tWVWJHaG9UV3N3ZUZacVFtRlRNazE1VTJ0V1ZXSkhhRzlVVm1oRFZWWmFkR1ZHV214U2JHdzFWa2QwYzJGc1NuUmhSemxWVmpOT00xcFZXbUZrUjA1R1pFWlNUbFpVVmtwV2JURXdZVEZrU0ZOclpHcFRSVXBZVkZWYWQxTkdVbFZTYlVacVZtdGFNRlZ0ZUZOVWJVWTJVbFJHVjFaRmIzZFdha1poVjBaT2NtSkdTbWxT [06:23:01.0000] <Lachy> TW1oWlYxZDRiMkl3TUhoWGJHUllZbFZhY2xWc1VrZFhiR3QzV2tSU1ZrMXJjRWxhU0hCSFZqSkZlVlZZWkZwV1JWcHlWVEJhVDJOc2NFaGpSbEpUVmxoQ1dsWnJXbGRoTVZWNVZXNU9hbEp0VWxsWmJGWmhZMVpzY2xkdFJteFdiVko1VmpJMWExWXdNVVZTYTFwV1lrWktSRlpxUVhoa1ZsWjFWMnhhYUdFeGNGbFhhMVpoVkRKT2RGTnJaRlJpVjNoWVZXcE9iMWRHV25STlNHUnNVakJzTkZVeWRHdGhWazVHVjJ4U1dtSkhhRlJXTVZwWFkxWktjbVJHVWxkaVJtOTNWMnhXYjJFeFdYZE5WVlpUWVRGd1dGbHJaRzlqYkZweFUydGFiRlpzV2xwWGExcHJZVWRGZUdOR2JGaGhNVnBvVmtSS1RtVkd [06:23:02.0000] <Lachy> jRWxVYldoVFRXNW9WVlpHWTNoaU1XUnpWMWhvV0dKWVVrOVZiVEUwVjBaYVdHUkhkRmRpVlhCSldWVm9UMVp0Um5KVGJXaGFUVlp3YUZwRlpFOU9iRXB5VGxaa2FWZEdSalpXYWtvd1ZURlZlRmR1U2s1V1ZscFVXV3RrVTFsV1VsWlhiVVpzWWtac00xWXlNVWRWTWtwR1RsaHdWMVl6YUhaV2FrcExVMVpHYzJGR2FHbFNia0p2Vm10U1MxUXlUWGxVYTFwaFVqSm9WRlJYTlc5V1ZtUlhWV3M1VWsxc1NucFdNalZUVkd4a1NGVnNXbFZXYkhCWVZHeGFWMlJIVWtoa1JtUnBWbGhDTmxaVVNURlVNVnAwVW01S1QxWnNTbGhVVlZwM1ZrWmFjVkp0ZEd0U2EzQXdXbFZhYTJGV1RrWlRhM1JYVFZaS1 [06:23:03.0000] <Lachy> VGcEVSbHBsUm1SMVUyczFWMVpzY0ZWWFYzUnJWVEZzVjFWc1dsaGlWVnB6V1d0YWQyVkdWblJOVldSV1RXdHdWMVp0Y0dGWGJGcFhZMGRvV2xaWFVrZGFWV1JQVWpKR1IyRkhiRk5pYTBwMlZteG9kMUl5UlhoYVJXUldZbXR3YUZWdE1XOWpSbHB4VkcwNVYxWnNjRWhYVkU1dllWVXhXRlZzYUZkTlYyaDJWMVphUzFKc1RuUlBWbFpYVFRGS05sWkhkR0ZXYlZaWVZXdG9hMUp0VWs5V2FrWkxVMnhrVjFadFJsWk5WbXcxVld4b2MxWnNXa1pUYkdoWFlXczFkbGxWV21GalZrcHpXa1pvVjJKclNrbFdWbVEwV1ZaWmVGTnJXbE5XUlZVNQ== [06:23:04.0000] <Lachy> dang, it's too long for IRC [06:25:00.0000] <zcorpan> try to feed it through tinyurl [06:25:01.0000] <Lachy> lol [06:26:00.0000] <zcorpan> http://tinyurl.com/39wc8s [06:26:01.0000] <zcorpan> success! [06:26:02.0000] <Lachy> hey, if we point hugeurl at tinyuri, and then point tinyurl to that generated url, we'd get a loop! [06:27:00.0000] <Lachy> oh, that wouldn't work [06:27:01.0000] <Lachy> we'd need to know both URLs before we generate to get a loop [06:28:00.0000] <Lachy> damn! laws of physics get in the way every time :-) [06:42:00.0000] <Dashiva> Lachy: I'm sure you can find a collision somehow [06:49:00.0000] <annevk> fillStyle = "currentColor" is interesting [07:34:00.0000] <krijnh> /me is excited [07:34:01.0000] <Lachy> krijnh, excited about what? [07:34:02.0000] <krijnh> Lachy: about meeting annevk next week ;p [07:35:00.0000] <Lachy> ok [07:36:00.0000] <annevk> krijnh, going to Oslo?! [07:36:01.0000] <krijnh> annevk: nah, staying in NL [07:36:02.0000] <krijnh> I'm probably misinformed :) [07:37:00.0000] <annevk> I suppose [07:40:00.0000] <krijnh> Wrt the plans ppk has [07:40:01.0000] <annevk> ah, ok [07:40:02.0000] <annevk> yeah, I hope to attend at some point [07:40:03.0000] <annevk> but for now I'm stuck in other countries [07:40:04.0000] <annevk> currently France [07:41:00.0000] <krijnh> Not too bad I think :) [07:42:00.0000] <annevk> some clouds [07:42:01.0000] <annevk> good food though [07:42:02.0000] <annevk> /me had some italian [07:42:03.0000] <krijnh> Pain du stok [09:02:00.0000] <csarven> http://arapehlivanian.com/2007/05/15/design-by-committee [09:38:00.0000] <krijnh> What's up with all these 'Google' referrers on http://krijnhoetmer.nl/irc-logs/ ? :s [09:55:00.0000] <Philip`> zcorpan: I just noticed http://dean.edwards.name/weblog/2007/03/google-it/ had a note about mime-types in Google Code, which sounds like it could be used for serving author-view-of-html5.css directly [09:58:00.0000] <zcorpan> Philip`: cool [09:58:01.0000] <Lachy> heh, I found out where the "Google (Tina Holmboe)" referrers came from. Tina seems a little annoyed http://lists.w3.org/Archives/Public/www-html/2007May/0491.html (see the footnote) [10:00:00.0000] <Dashiva> Calling other people opponents isn't very constructive in a consensus-based activity [10:03:00.0000] <Lachy> I'm getting tired of discussing her anyway, she seems to be trolling a little [10:14:00.0000] <krijnh> Lachy: I mean the Google referrers without search terms [10:17:00.0000] <Philip`> Maybe the front page of Google has a hidden link to your site? [10:17:01.0000] <Lachy> krijnh, I realised that [10:18:00.0000] <krijnh> Philip`: Yeah, perhaps.. [12:19:00.0000] <gsnedders> /me installs Opera Mini on his phone [12:26:00.0000] <gsnedders> ergh. network won't allow anything apart from their own shitty browser :\ [12:29:00.0000] <gsnedders> or I've been an idiot. [12:29:01.0000] <gsnedders> (more likely answer) [12:29:02.0000] <zcorpan> http://me.mywebsight.ws/2007/05/15/xhtml-2-and-html-5-who-will-win/ [12:30:00.0000] <gsnedders> zcorpan: Ignorance is bliss. [12:31:00.0000] <zcorpan> yeah well [13:09:00.0000] <Dashiva> "the browser vendors (lazy idiots, get some real work done, espeacily you morons from redmond)" [13:13:00.0000] <othermaciej> telling people what to do is real work, doing it is lazy [13:23:00.0000] <Dashiva> And in one of the articles linked, about xhtml2, "The iframe element, which has always caused problems for users of assistive technologies, will not be missed." [13:24:00.0000] <Dashiva> /me sighs [13:24:01.0000] <bewest> othermaciej: this is just more evidence that people blame browser vendors :-) [13:24:02.0000] <bewest> othermaciej: (there was some dispute of that claim, wasn't there) [13:25:00.0000] <othermaciej> of what claim? [13:25:01.0000] <othermaciej> I have to go [13:25:02.0000] <othermaciej> ttyl [13:25:03.0000] <bewest> othermaciej: that vendors recieve blame [13:25:04.0000] <othermaciej> well this guy isn't blaming browser vendors for breaking sites [13:26:00.0000] <othermaciej> he is blaming them for not breaking *enough* sites [13:27:00.0000] <Dashiva> It takes all kinds to make a senseproof argument [13:27:01.0000] <bewest> I think the root is in the idea of laziness. the w3 stopped work on html and produced work that was unused. however, the vendors recieve the blame for this [14:22:00.0000] <gsnedders> vendors are evil! we, the HTML WG, must produce our own perfect implementation regardless of technical limitations! 2007-05-16 [17:10:00.0000] <bewest> what character do you stop at to determine the end of a broken entity? [17:10:01.0000] <bewest> or what kinds of characters? [17:11:00.0000] <zcorpan> what's a broken entity? [17:13:00.0000] <Lachlan> bewest, the algorithm consumes as many characters as possible until it either matches one of the entity references, or can't do so, in which case it just outputs the consumed characters [17:13:01.0000] <Dashiva> Mhm... [19:10:00.0000] <Philip`> /me wonders if anything implements the "flavor" colour, or has plans to do so [19:14:00.0000] <mpt> Philip`, MacIE5 is the only browser that ever did afaik [19:15:00.0000] <mpt> And it's a value that only ever made sense for Rev 1 iMacs [19:16:00.0000] <mpt> and that it ever found its way into the CSS spec is a mystery of our times [19:16:01.0000] <mpt> /me winks at tantek [19:17:00.0000] <Philip`> Ah, that makes sense [19:17:01.0000] <Philip`> (Well, not much sense, but at least slightly more than none :-) ) [19:23:00.0000] <mpt> /me wonders if it's been removed from CSS2.1 on the grounds of not having multiple interoperable impelementations, and if not, why not [19:27:00.0000] <Philip`> flavor doesn't seem to be in any of CSS 1, 2 or 2.1, though it is in 3 [19:32:00.0000] <mpt> CSS colors are a disaster zone [19:32:01.0000] <mpt> Most of the UI colors make sense only in Windows 95, 98, and 2000 [19:35:00.0000] <bewest> ? [19:35:01.0000] <bewest> red [19:35:02.0000] <bewest> blue [19:35:03.0000] <bewest> silver [19:36:00.0000] <Philip`> inactivecaptiontext [19:37:00.0000] <Hixie> mpt: yeah, 'appearance' is supposed to fix that. the system colours are deprecated. [19:38:00.0000] <Philip`> It seems odd how graytext is defined to handle the case of monochrome displays, though nothing else is and you'd presumably end up with quite a broken interface on such a display [19:40:00.0000] <Hixie> i thought graytext was for disabled controls, not monochrome displays [19:41:00.0000] <Philip`> It says "Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color." [19:41:01.0000] <Philip`> (I suppose you could get multichrome displays that don't support grey, but that seems unlikely) [20:48:00.0000] <mpt> Philip`, the Apple II or the Mac Classic :-) [20:48:01.0000] <mpt> It would be rather difficult to get a graphical Web browser working on them, though [21:23:00.0000] <mpt> agggh [21:24:00.0000] <mpt> Hixie, I wish to make a complaint [21:24:01.0000] <mpt> I've had two users now saying "Opera passes Acid2, therefore the CSS problem I have with your site can't be an Opera bug" [21:28:00.0000] <mpt> or at least implying it [21:50:00.0000] <jruderman> blockquote { flavor: cherry; } [23:20:00.0000] <Hixie> mpt: sorry, i don't take responsibility for the world's morons [23:25:00.0000] <mpt> "Acid2 is a test page, written to help browser vendors ensure proper support for web standards in their products" could be "Acid2 is a test page, written to highlight *some* high-profile bugs and sought-after features in Web browsers" [23:25:01.0000] <mpt> or something [23:25:02.0000] <mpt> anyway, hometime for me [23:25:03.0000] <Hixie> i didn't write that [23:25:04.0000] <Hixie> so... [23:26:00.0000] <mpt> ah, you wrote the thing next to it [23:26:01.0000] <mpt> ok, I'll e-mail them [00:04:00.0000] <met_> http://solutoire.com/plotr/ (charts with canvas) see also discussion under http://www.linux.com/article.pl?sid=07/05/04/1457210 [01:41:00.0000] <mikeday> is it possible to implement support for HTML forms using something like XBL? [01:44:00.0000] <othermaciej> depends on whether you have the other needed primitive capabilities [01:51:00.0000] <mikeday> eg. JavaScript support? [01:52:00.0000] <mikeday> as I understand it, XBL can add bits to the DOM transparently, [01:52:01.0000] <mikeday> but that won't magically make the added bits interactive [01:53:00.0000] <mikeday> although it could presumably reproduce the appearance of HTML forms, by setting style [01:55:00.0000] <mikeday> and handle things like <select size="4">, which can't really be done with pure CSS [01:56:00.0000] <othermaciej> you would need to have an XBL binding not just on the controls but also on <form> and you would need enough networking APIs [01:56:01.0000] <othermaciej> <input type="file"> can't be done with XBL [02:05:00.0000] <mikeday> true [02:05:01.0000] <mikeday> haven't really thought that far ahead, I'm just curious if it's possible to make interactive buttons and things [02:06:00.0000] <othermaciej> yes, XBL can bind event listeners [02:06:01.0000] <mikeday> ah of course [02:06:02.0000] <mikeday> so it could turn <button>Hello</button> [02:07:00.0000] <mikeday> into a more complicated tree, eg. to add borders or other decorations [02:07:01.0000] <mikeday> and add event listeners to make it clickable, and change the style when clicked [02:07:02.0000] <mikeday> (and possibly fire off other events or whatever) [02:10:00.0000] <mikeday> presumably it would also need to update the DOM properties that HTML form elements are supposed to have [02:10:01.0000] <mikeday> so that other scripts on the page could query the state of the form controls and get the expected results [02:10:02.0000] <mikeday> eg. is this checkbox selected or not [02:11:00.0000] <mikeday> the final submit would be a bit tricky, as you said [02:11:01.0000] <mikeday> and file input wouldn't be possible without some kind of extension [02:12:00.0000] <mikeday> still, it sounds halfway plausible :) [02:24:00.0000] <nickshanks> hello mike [02:24:01.0000] <nickshanks> how is your evening? [02:27:00.0000] <mikeday> hi nickshanks [02:27:01.0000] <mikeday> good thanks, and you? :) [02:28:00.0000] <nickshanks> i am waiting for a 500 GB perpendicular serial ata hard drive to arrive [02:28:01.0000] <nickshanks> since i have 37.2 MB left on my boot drive [02:28:02.0000] <mikeday> hmm, what exactly is perpendicular about it? [02:28:03.0000] <nickshanks> the magnetic 'bits' that the read-write head toggles [02:29:00.0000] <nickshanks> http://www.google.com/search?q=perpendicular+recording [02:29:01.0000] <mikeday> I can't say I've ever much worried about the orientation of my magnetic bits :) [02:29:02.0000] <nickshanks> mikeday: what cool neat-o-matic features are you working on today? [02:30:00.0000] <mikeday> none, just the Prince 6.0 release [02:30:01.0000] <mikeday> it includes basic styling for HTML forms, which is a feature [02:30:02.0000] <mikeday> non-interactive though [02:31:00.0000] <mikeday> and not all aspects of form styling are reproduced yet, as that's hard to do with CSS only [02:31:01.0000] <nickshanks> does PDF support styled forms in that way [02:32:00.0000] <mikeday> well, we're not generating PDF forms at all yet, only things that look like form controls [02:32:01.0000] <mikeday> but I think it does, as you can just draw arbitrary stuff on the page and then make it interactive [02:32:02.0000] <nickshanks> sounds like a feature for 6.1 or 6.2 :) [02:35:00.0000] <mikeday> yeah, or 7.0 :P [02:36:00.0000] <mikeday> actually I think it would be great to be able to use Prince to make PDF forms [02:36:01.0000] <mikeday> it's something we've planning to do for ages, but there's been a lot of other stuff to do as well. [02:36:02.0000] <nickshanks> yes, it would take if from a book publishing tool to a corporate marketing tool [02:37:00.0000] <nickshanks> open up new markets, etc [02:37:01.0000] <mikeday> right [02:37:02.0000] <mikeday> I think that SVG is also a good platform for forms, [02:37:03.0000] <nickshanks> what do most of your customers use the app for? [02:37:04.0000] <mikeday> which are often designed in a page-centric manner, following a grid etc. [02:38:00.0000] <mikeday> some use it for producing printed receipts, some for dynamically generated reports, some for technical documentation, [02:38:01.0000] <mikeday> some for books or academic papers [02:38:02.0000] <mikeday> there's a fair bit of variety. [02:38:03.0000] <nickshanks> hmm, not seen it used for technical papers [02:39:00.0000] <nickshanks> all the ones i read are written in latex [02:39:01.0000] <mikeday> right, we hope to change that :) [02:39:02.0000] <nickshanks> hmm. i'm not sure changing that would help anything other than your bank account [02:40:00.0000] <mikeday> hah [02:40:01.0000] <nickshanks> LaTeX seems like a good solution to me [02:40:02.0000] <mikeday> believe it or not, there are other user agents capable of rendering HTML + CSS [02:40:03.0000] <mikeday> we call them "browsers" [02:40:04.0000] <nickshanks> ooooo! [02:40:05.0000] <mikeday> if web standards aren't a good solution for technical papers, fix web standards [02:41:00.0000] <nickshanks> that's why we're in this channel [02:41:01.0000] <mikeday> indeed. [02:41:02.0000] <nickshanks> is there an extant SVG to PDF conversion tool? [02:41:03.0000] <nickshanks> that retains vectors, rather than rasterising [02:42:00.0000] <KevinMarks> safari + print? [02:42:01.0000] <nickshanks> (no, Adobe Illustrator doesn't count) [02:42:02.0000] <mikeday> Batik [02:42:03.0000] <mikeday> I think you have to rasterise sometimes though, eg. for filters, which we don't support yet [02:45:00.0000] <mikeday> I think that (X)HTML + SVG + MathML is a decent enough combination for technical papers, anyway. [02:46:00.0000] <nickshanks> mikeday: can you consider adding Prince to http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28SVG%29 [02:46:01.0000] <mikeday> sorry, that would be conflict of interest under Wikipedia policy [02:46:02.0000] <mikeday> how about you do it? :) [02:47:00.0000] <nickshanks> i don't know any of the facts [02:47:01.0000] <nickshanks> i already added prince to http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28CSS%29 [02:47:02.0000] <mikeday> http://www.princexml.com/doc/svg/ [02:47:03.0000] <mikeday> gives SVG support for Prince 5.1 [02:48:00.0000] <mikeday> we've added a bit more in 6.0 [02:49:00.0000] <nickshanks> wikipedia policy doesn't prohibit adding content that might represent a conflict of interest, just that you provide a reference. leeway is much greater for filling in omitted data in a "hey, you forgot me!" manner [02:50:00.0000] <othermaciej> nickshanks: Safari can print to PDF, though I', not sure how well it works for PDF [02:52:00.0000] <nickshanks> othermaciej: i am thinking of SVG in <img src="foo.svg" style="width:100%"> elements, where the svg is converted to PDF and then passed to NSImage, and stays sharp as you resize the window [02:52:01.0000] <mikeday> yeah, it's mainly that updating Wikipedia would take time that I don't have right now [02:52:02.0000] <mikeday> (he says, while chatting on irc) [02:53:00.0000] <othermaciej> nickshanks: I don't understand what you are thinking of, then, since neither WebKit nor any other browser engine handle PDF that way [02:53:01.0000] <othermaciej> er, SVG [02:53:02.0000] <nickshanks> mikeday: it may also bring in customers. wikipedia is an effective advertising tool [02:54:00.0000] <mikeday> actually, there are several ? on the CSS comparison page that I can fix [02:54:01.0000] <nickshanks> mikeday: just 5 mins a day tending to the article would help make it more complete, and you're the best-placed person to do that [02:55:00.0000] <othermaciej> on http://en.wikipedia.org/wiki/Comparison_of_layout_engines and related, someone should really rename WebCore to WebKit [02:55:01.0000] <othermaciej> that's the name of the engine that people actually use [02:55:02.0000] <mikeday> I can't help wondering if all this stuff really belongs on Wikipedia though [02:56:00.0000] <nickshanks> mikeday: probably not, but it's wiki nature keeps it more up to date than other sites that try and do the same [03:02:00.0000] <mikeday> by the way nickshanks, we should be able to fix the BOM issue that was affecting Prince on HTML documents [03:02:01.0000] <mikeday> as we are planning to write a new HTML parser, following the HTML5 spec [03:04:00.0000] <nickshanks> did i complain about that? can't remember the issue [03:04:01.0000] <mikeday> libxml2 HTML parser chokes on a UTF-8 BOM unfortunately [03:04:02.0000] <othermaciej> information about layout engines seems as valid to me as info about various animal species or physical lawys [03:04:03.0000] <othermaciej> *laws [03:05:00.0000] <mikeday> othermaciej, yes [03:05:01.0000] <mikeday> but as always, the web gives highest priority to information about itself [03:05:02.0000] <mikeday> that, and exhaustive listings of all the Pokemon, Simpsons episodes... [03:06:00.0000] <nickshanks> mike: it represents what people want to read about [03:06:01.0000] <mikeday> people being "geeks on the web" :) [03:06:02.0000] <othermaciej> anyway, I'm just kinda suggesting someone could fix this since per wikipedia my expert knowledge of the webkit project disqualifies me from writing about it [03:06:03.0000] <mikeday> it represents what people want to *write* about [03:06:04.0000] <nickshanks> not necessarily what a learned individual should read [03:07:00.0000] <nickshanks> yeah, sorry, being a wiki i tend to think of reading and writing as the same thing [03:07:01.0000] <mikeday> no one with expert knowledge should be contributing to an encyclopaedia, right :) [03:08:00.0000] <nickshanks> sure they can, as long as they avoid their area of expertise ;) [03:09:00.0000] <mikeday> we only want opinions untainted by any detailed knowledge of the subject in question :) [03:10:00.0000] <nickshanks> we should get jukka, tina and lachy to write the wikipedia article on HTML5 then ;) [03:11:00.0000] <othermaciej> lachy would be tainted by quite a bit of knowledge about HTML5 [03:11:01.0000] <mikeday> /me reads the article on HTML5 [03:11:02.0000] <mikeday> short, and to the point [03:11:03.0000] <mikeday> I like the fact that it's in the "Future products" category [03:11:04.0000] <mikeday> looks like hsivonen put that in :) [03:17:00.0000] <mikeday> hmm, it would be nice sometimes if Linux had binary compatibility across versions [03:18:00.0000] <mikeday> (...and a pony). [03:19:00.0000] <nickshanks> /me read that as "it would be nice if Linux sometimes had binary compatibility across versions" [03:19:01.0000] <nickshanks> like, on thursdays and saturdays... [03:24:00.0000] <mikeday> heh [03:24:01.0000] <mikeday> that's pretty much what it feels like now [03:24:02.0000] <mikeday> things may or may not run, depending on glibc and the phase of the moon [03:24:03.0000] <mikeday> one may well ask why we bother with dynamic linking at all [03:25:00.0000] <mikeday> we hardly need to worry about saving disk space [03:25:01.0000] <nickshanks> see now, if you moved to the sun, the moon would always be in the same phase [03:25:02.0000] <nickshanks> and you'd get reliability [03:25:03.0000] <mikeday> and the simplification of dropping dynamic loading and relocation would more than make up for it [03:26:00.0000] <nickshanks> the best would be to ship the lib you built against, and then give the user the choice to use his own if it's a newer version [03:27:00.0000] <nickshanks> that way the user can always fall back on the version you built against if anything goes wrong with the new lib [03:27:01.0000] <mikeday> yeah, but if you moved to Sun, you'd have to run Solaris, not Linux [03:27:02.0000] <nickshanks> that's fine with me [03:28:00.0000] <nickshanks> my astronomy dept. has lots of Suns [03:28:01.0000] <mikeday> astronomers are known for their fascination with suns [03:29:00.0000] <mikeday> ...and a weak joke collapses under the strain. [03:29:01.0000] <nickshanks> i wasn't joking [03:29:02.0000] <mikeday> 'scuse me [03:29:03.0000] <nickshanks> i did astrophysics at uni and we all worked on Solaris machines [03:30:00.0000] <nickshanks> writing f77 and stuff [03:31:00.0000] <BenWard> Not sure how new or old this is — not been in the channel very long this morning — but I trust someone has seen that the WHATWG blog has been hacked and spammed? [03:31:01.0000] <othermaciej> lovely [03:33:00.0000] <Dashiva> Let the blame passing begin! [03:35:00.0000] <nickshanks> clearly it's TimBL's fault for inventing HTML and so causing the WHATWG blog to exist [03:56:00.0000] <BenWard> No no no, it's Microsoft's fault for not producing a robust enough proprietary internet publishing solution, requiring us to develop these open standards in the first place. [03:57:00.0000] <Lachy> yay! Our first spam articles :-) http://blog.whatwg.org/ [03:58:00.0000] <BenWard> …  or, it's because you're running Wordpress 2.0.5 and not 2.0.10. [03:59:00.0000] <Lachy> yeah, I need to update WP one day [03:59:01.0000] <nickshanks> WP 2.2 is the latest [03:59:02.0000] <othermaciej> this is a strangely ironic URL: http://whatwg.majda.cz/wallpapers/5-gt-2-black-simple.svg [04:00:00.0000] <BenWard> 2.2 is the latest, but the 2.0 branch is still being patched for security (hence 2.0.10) and shouldn't break any plug-ins that might be running. [04:01:00.0000] <nickshanks> anyway, have to install hard disk and some OSes, bbl [04:07:00.0000] <Lachy> I just reduced the rights of new users to contributor instead of author. That will allow them to register and write posts, but can't publish themselves. Once they prove to not be a spammer, I can upgrade them [04:39:00.0000] <ROBOd> good day. spammers found the whatwg blog? [04:39:01.0000] <ROBOd> i've got two spam articles from the blog, via atom feed [04:43:00.0000] <Lachy> ROBOd, yeah, I've already deleted them [04:43:01.0000] <ROBOd> i saw that [05:11:00.0000] <zcorpan> i think i'm starting to understand role a bit better now [05:12:00.0000] <zcorpan> it's "needed" because <input type=checkbox> isn't stylable in current browsers. so when you need a fancy checkbox, you use <img onclick>. but then screen readers don't know it's a checkbox. [05:13:00.0000] <zcorpan> i think it's the wrong way to go about it. the right way is to make <input type=checkbox> stylable. [05:13:01.0000] <zcorpan> or am i missing something? [05:17:00.0000] <peepo> hi folks it's a rare event.. [05:18:00.0000] <peepo> oops [05:19:00.0000] <zcorpan> [type=checkbox] { content:url(unchecked.png); } [type=checkbox]:checked { content:url(checked.png); } [05:44:00.0000] <mikeday> zcorpan, role is for stylable form controls? I thought it was more than that. [05:45:00.0000] <Dashiva> role is magical [05:45:01.0000] <Dashiva> Somehow everyone will know and agree on which roles mean what, and never use them incorrectly or make up their own roles [05:47:00.0000] <mikeday> what code will access the role attribute? [05:47:01.0000] <mikeday> I mean, CSS could, with [role=foo], but I'm assuming that's undesirable. [05:48:00.0000] <mikeday> screen readers? [05:49:00.0000] <mikeday> search engines? [05:51:00.0000] <mikeday> automatic text summarisers? [05:51:01.0000] <mikeday> throw me a bone here, people :/ [05:51:02.0000] <Dashiva> The people talking most about it are the accessability people, so screen readers [05:52:00.0000] <mikeday> hmm. [05:52:01.0000] <mikeday> <i role="shipname">Titanic</i> for example? [05:53:00.0000] <Dashiva> Sure [05:53:01.0000] <mikeday> how is role supposed to connect to RDF, anyway? [05:53:02.0000] <mikeday> I mean how does it differ from class? [05:53:03.0000] <Dashiva> See my initial statement [05:55:00.0000] <mikeday> hmm, from what I see on the mailing list, people want to say role="foo:shipname" [05:55:01.0000] <mikeday> where foo is a currently bound namespace prefix [05:55:02.0000] <mikeday> -1 for qnames in content... [05:56:00.0000] <zcorpan_> i don't see the point in linking to RDF [05:56:01.0000] <mikeday> how exactly will user agents "learn" about new roles [05:56:02.0000] <zcorpan_> is it really intended that UAs will read the RDF and then magically know what to do with the role? [05:56:03.0000] <mikeday> exactly! [05:56:04.0000] <mikeday> that was the kind of insane magic thinking that came out when XML Namespaces where designed [05:57:00.0000] <mikeday> "a namespace is a URL, user agent dereferences URL, downloads schema for namespace (why?), magically knows what to do" [05:57:01.0000] <zcorpan_> was it? [05:58:00.0000] <mikeday> RDDL was a language designed for that very purpose [05:58:01.0000] <mikeday> to add namespace metadata to an XHTML page that sits on the namespace URL [05:58:02.0000] <zcorpan_> /me sighs [05:58:03.0000] <mikeday> so that hypothetical user agents could go and download it and learn new tricks [05:59:00.0000] <mikeday> I don't know how many smart people burnt processor cycles on that idea [05:59:01.0000] <mikeday> the fact that most user agents don't even bother downloading DTDs should have been a hint [05:59:02.0000] <mikeday> (Prince does, actually :) [05:59:03.0000] <zcorpan_> does it learn new tricks from DTDs? :) [05:59:04.0000] <mikeday> sadly, no :) [06:00:00.0000] <mikeday> but wouldn't it be awesome if you could just define new elements in the DTD, [06:00:01.0000] <mikeday> and they got all kinds of custom rendering behaviour automatically, [06:00:02.0000] <mikeday> and we didn't have to do any work! That'd rock. [06:00:03.0000] <mikeday> ...and a pony. [06:02:00.0000] <mikeday> I mean, the only thing you can do in RDF that doesn't involve writing code, [06:02:01.0000] <mikeday> is tell the user agent that a foreign element is equivalent to some other known element [06:02:02.0000] <mikeday> like, if you see a <foo>, treat it just like you currently treat <blockquote> [06:03:00.0000] <mikeday> now that might be handy, from time to time, but it's hardly a world changing feature. [06:03:01.0000] <zcorpan_> i meant with my first remark that it appears that that was what spawned the role idea in the first place. then they thought "hey, this can be useful for other stuff too!" or something [06:03:02.0000] <zcorpan_> and made it even more complicated [06:03:03.0000] <mikeday> so it was originally proposed for styling form controls? [06:03:04.0000] <mikeday> seems like improved CSS selectors would solve that one [06:04:00.0000] <zcorpan_> dunno, just speculating. i don't understand the problem it's trying to solve really [06:04:01.0000] <zcorpan_> indeed [06:04:02.0000] <zcorpan_> or selectors are already powerful enough [06:04:03.0000] <mikeday> role was from XHTML 2 originally though, right? [06:04:04.0000] <zcorpan_> probably. does it make a difference? [06:05:00.0000] <mikeday> just trying to find out where it all began [06:05:01.0000] <mikeday> looks like it was an XHTML module: [06:05:02.0000] <mikeday> http://www.w3.org/TR/2006/WD-xhtml-role-20060725/ [06:05:03.0000] <zcorpan_> that came afterwards [06:05:04.0000] <zcorpan_> as an attempt to "ease migration to xhtml2" (or so the draft says) [06:05:05.0000] <mikeday> It is used by applications and assistive technologies to determine the purpose of UI widgets. [06:05:06.0000] <mikeday> ah, okay [06:05:07.0000] <mikeday> (UI widgets sentence should be in quotes) [06:06:00.0000] <zcorpan_> yeah [06:06:01.0000] <zcorpan_> thing is there already is HTML markup for UI widgets! [06:06:02.0000] <zcorpan_> <button>, <a href>, <input type=checkbox> [06:06:03.0000] <mikeday> the example has it on a list: <ul role="navigation wai:sitemap"> [06:06:04.0000] <zcorpan_> <nav> [06:06:05.0000] <mikeday> heh :) [06:07:00.0000] <zcorpan_> <nav><h2>Sitemap</h2><ul>... [06:07:01.0000] <mikeday> to be honest, some of these role values remind me of rel="" [06:08:00.0000] <mikeday> I can sort of see what they're trying to do with it, and it's not *too* insane [06:08:01.0000] <mikeday> but the idea of qnames in attributes, and linking it to RDF via namespace URLs is just stupid [06:08:02.0000] <zcorpan_> role seems to be like an accessibility patch for poor CSS support in browsers and badly written markup [06:08:03.0000] <mikeday> the whole point is to have a small selection of values that user agents understand [06:08:04.0000] <zcorpan_> which might be a good thing [06:08:05.0000] <mikeday> some of it could also be handy for mobile rendering, [06:09:00.0000] <mikeday> like when you want to chop the page up into bits to fit on a small screen [06:09:01.0000] <mikeday> you want to know where to chop, and role could help with that [06:09:02.0000] <zcorpan_> i mean, if there is old content with <img onclick>, it's easier to add role=checkbox than to change it to <input type=checkbox> and restyle it [06:09:03.0000] <mikeday> but again, define a small number of roles, make sure user agents understand them, ditch the namespace stuff [06:09:04.0000] <zcorpan_> yeah [06:09:05.0000] <mikeday> people might go nuts inventing new role values, but that's fine [06:10:00.0000] <mikeday> since it's not useful for styling, only accessibility nuts will go nuts, which is okay [06:11:00.0000] <mikeday> hmm, just like the rel attribute, actually [06:11:01.0000] <mikeday> rel="shortcut icon" [06:11:02.0000] <mikeday> and the hook for OpenID [06:12:00.0000] <mikeday> rel="openid.server", works fine with no namespace support [06:12:01.0000] <mikeday> it's just that every W3C specification has to pay homage to RDF at some point... [06:13:00.0000] <zcorpan_> indeed, i don't see why namespaces are better than naming conventions [06:14:00.0000] <zcorpan_> naming conventions seem to be more successful in terms of usage and implementation [06:14:01.0000] <zcorpan_> microformats are naming conventions [06:15:00.0000] <zcorpan_> some implementations of RSS rely on the convention of how the namespace prefixes are written! [06:15:01.0000] <zcorpan_> (i think) [06:17:00.0000] <mikeday> yes [06:17:01.0000] <mikeday> pseudo-XML formats, not really XML [06:17:02.0000] <mikeday> but namespaces should never have been defined using URLs to begin with [06:17:03.0000] <mikeday> http://www.xml.com/pub/a/2005/04/13/namespace-uris.html [06:22:00.0000] <mikeday> must go [06:23:00.0000] <mikeday> /me waves [06:23:01.0000] <zcorpan> cya [06:23:02.0000] <zcorpan> have a predefined set of prefixes, and if you don't want to use a prefix, then you have to declare the namespace [06:23:03.0000] <zcorpan> <html:html/> == <html xmlns="html"/> [06:23:04.0000] <zcorpan> that could have worked [06:24:00.0000] <zcorpan> unknown prefixes are just that, handled the same way as unknown namespaces are today [08:02:00.0000] <met_> http://www.readwriteweb.com/archives/poll_update_mozilla_google_favored.php [08:18:00.0000] <zcorpan_> "Mozilla (open source, microformats, browser-based)" translates pretty much to "HTML5" :) [08:21:00.0000] <met_> mozilla is still better buzzworld than html5 8-) [08:21:01.0000] <met_> *buzzword [08:23:00.0000] <Philip`> met_: I noticed you sent quite a few people to my site :-) [08:26:00.0000] <met_> Philip` i wrote about canvas in my blog 8-) and you doom-like game is perfect example [08:27:00.0000] <met_> today I have found http://solutoire.com/plotr/ - js library for generating charts in canvas [10:18:00.0000] <zcorpan_> somehow i think svg is more suitable for static charts [10:19:00.0000] <zcorpan_> although plotr is probably easy to use for dynamic charts too [10:32:00.0000] <Philip`> Plotr seems to be heavily based on PlotKit, which does have SVG as an option [10:33:00.0000] <Philip`> but it's perhaps a problem that IE doesn't do SVG, whereas you can sort of make it do <canvas> [10:33:01.0000] <Philip`> although it's also a difficulty that <canvas> can't do text, whereas SVG can [10:44:00.0000] <zcorpan_> you can make IE do SVG the same way you can make it do canvas [10:44:01.0000] <zcorpan_> (with VML) [10:50:00.0000] <Philip`> Has anybody actually done that? [10:54:00.0000] <zcorpan_> yeah [10:54:01.0000] <zcorpan_> http://starkravingfinkle.org/blog/2006/03/svg-in-ie/ [11:02:00.0000] <Philip`> Ah, looks neat [11:02:01.0000] <Philip`> (Seems it won't work for SVG generated at run-time, though) [11:11:00.0000] <ianloic> in theory you could though, right? [11:11:01.0000] <ianloic> does IE support the dom mutation events? [13:44:00.0000] <met_> http://www.davidflanagan.com/blog/2007_05.html#000128 [13:59:00.0000] <zcorpan_> /me expects at least 15 new subscribers who will request dashed lines [14:03:00.0000] <jruderman> met_: i'm not surprised. i think i told hixie to expect things like that when he started rejecting things with "not enough requests" as the reason. [14:04:00.0000] <jruderman> zcorpan_: given that it's flanagan's blog... only 15? :P [14:04:01.0000] <gsnedders> dashed lines plz. kthxbai. [14:05:00.0000] <Philip`> I think that was "not enough demand" rather than "not enough requests" - people who are actually writing canvas content and finding that they'd benefit from native support for dashed lines are a more significant indicator of demand than people who just pop in to say it'd be nice :-) [14:09:00.0000] <Hixie> yeah [14:09:01.0000] <Hixie> case in point, the MNG fiasco [14:09:02.0000] <Hixie> where there were more people voting for MNG support in Firefox than there were MNGs created and put on the Web [14:09:03.0000] <Hixie> it's not a matter of votes [14:10:00.0000] <Hixie> it's a matter of organic demand [14:10:01.0000] <Hixie> if everyone comes in and says "hey this guy asked me if i could ask for dashed lines", those all count as one request [14:11:00.0000] <Lachy> are there people using canvas who are creating their own dashed lines? [14:11:01.0000] <Hixie> nice work handling the blog spam btw [14:11:02.0000] <Hixie> Lachy: i've seen one, so far [14:11:03.0000] <Lachy> was it difficult to do? [14:11:04.0000] <Hixie> Lachy: they handled it quite easily (with a pattern) [14:11:05.0000] <Hixie> but they were just doing straight lines [14:11:06.0000] <Lachy> ok [14:13:00.0000] <Philip`> There's http://canvaspaint.org/ with the selection tool [14:13:01.0000] <Philip`> which is presumably that one [14:15:00.0000] <Hixie> yeah [14:15:01.0000] <Hixie> and you did a demo page with dashed lines, which was pretty neat [14:15:02.0000] <Hixie> even a dashed circle! [14:16:00.0000] <Lachy> canvaspaint is awesome [14:17:00.0000] <Philip`> My one seems to break a bit on corners, though [14:18:00.0000] <Philip`> and implementing decent Bezier curves in JS would be less trivial than one might prefer, compared to just setting a dash option [14:19:00.0000] <Hixie> would anyone doing a graph really use bezier curves? [14:20:00.0000] <Hixie> dashed lines are so Web 1.0. I didn't say it in the thread, but come on, who uses dashed lines these days. They're so old-school. [14:20:01.0000] <Hixie> it's all about bold lines and contrasting colours now. [14:22:00.0000] <zcorpan_> semi-transparent bold lines with contrasting colors :) [14:23:00.0000] <Hixie> exactly! [14:23:01.0000] <Philip`> http://www.mactech.com/articles/mactech/Vol.21/21.08/Mineralogy101/fig10.jpg - but you can do such useful things with dashes [14:23:02.0000] <Philip`> /me can't think of any sensible cases for drawing dashed non-straight lines [14:24:00.0000] <Hixie> that was sort of why i wasn't convinced [14:24:01.0000] <Hixie> but anyway [14:24:02.0000] <Hixie> gotta go [14:24:03.0000] <Hixie> bbiab [14:25:00.0000] <Dashiva> A dashed bezier curve! [14:25:01.0000] <met_> what about charts? there are often non-solid lines [14:32:00.0000] <Philip`> met_: Those normally just use straight lines, and you can simulate dashes easily by drawing lots of shorter lines [14:33:00.0000] <zcorpan_> googling for "dynamic chart" doesn't give any curved dashed lines on the first 3 pages of results afaict [14:34:00.0000] <zcorpan_> some with straight dashed lines, though [14:34:01.0000] <met_> Philip` a lot of work 8-) [14:35:00.0000] <met_> /me foun dotted when googling xy chart [14:39:00.0000] <mpt> there's those conspiracy charts [14:39:01.0000] <mpt> which I now won't be able to find [14:39:02.0000] <mpt> but they have curved dashed lines between all the people [14:42:00.0000] <mpt> http://www.pierogi2000.com/flatfile/lombardi.html [14:42:01.0000] <mpt> ok, they have curved dashed lines between some of the people [14:43:00.0000] <zcorpan_> would you generate such a chart with canvas? well, perhaps, linking XFN people together real-time or something :) [15:44:00.0000] <tantek> zcorpan, indeed - see what http://xhtmlfriends.net/ does 2007-05-17 [17:31:00.0000] <zcorpan_> Hixie: re http://forums.whatwg.org/viewtopic.php?t=51 , i don't see "custom bbcodes" in the admin ui... [17:31:01.0000] <zcorpan_> perhaps my permissions are restricted? [17:32:00.0000] <Hixie> you're the highest level i can set [17:32:01.0000] <Hixie> where would the custom bbcodes be? [17:33:00.0000] <zcorpan_> dunno [17:33:01.0000] <Hixie> i don't see anything called custom bbcodes [17:33:02.0000] <Hixie> maybe it's in a new version [17:34:00.0000] <Hixie> we've got 2.0.22 [17:34:01.0000] <zcorpan_> could be [17:34:02.0000] <Hixie> that's the latest stable release, though, so who knows [17:34:03.0000] <Hixie> /me doesn't really know about phpBB [17:35:00.0000] <Hixie> i just clicked the "install phpBB" button on the dreamhost panel :-) [17:35:01.0000] <zcorpan_> "DOWNLOAD LATEST RELEASE Version 2.0.22" says phpbb.com [18:03:00.0000] <zcorpan_> http://forums.whatwg.org/viewtopic.php?t=51#280 [18:04:00.0000] <zcorpan_> /me wonders if that will result in stray <code> tags if the input isn't balanced [18:04:01.0000] <Hixie> if i do that, we'll have to redo it every time we update [18:05:00.0000] <zcorpan_> yeah, i don't think it's robust either [18:05:01.0000] <zcorpan_> probably better to upgrade to phpbb3 later on and see if it has a custom bbcodes section [18:08:00.0000] <Hixie> k [18:23:00.0000] <Lachy> Hixie, http://returnable.org/ is another attempt at creating custom tooltips, this time using a custom element and strangely abusing URIs for a non-URI purpose [18:24:00.0000] <Lachy> we really need to find a sensible way to address the problem in HTML, CSS, etc. [18:26:00.0000] <Hixie> o_O [18:26:01.0000] <Hixie> HTML5 says newlines in tooltips are real newlines [18:29:00.0000] <Lachy> ok. I didn't realise that. it's a shame only IE supports it though [18:30:00.0000] <zcorpan_> safari too iirc [18:30:01.0000] <othermaciej> I'd take a patch for that [18:30:02.0000] <othermaciej> if we don't do it already [18:31:00.0000] <Hixie> i don't get this tina person [18:31:01.0000] <Hixie> i'm actively trying to get her input and make the spec work for her [18:32:00.0000] <Hixie> but every e-mail she asserts that i'm going to ignore her and that i shouldn't worry as she won't join the wg and so on [18:32:01.0000] <othermaciej> can't you see that HTML5 is /not/ an appropriate specification because it /allows/ things that are /wrong/ and should be /forbidden/? [18:33:00.0000] <Hixie> yeah, it doesn't help that what she's advocating for doesn't even handle the e-mails she's writing [18:33:01.0000] <Lachy> but she's writing plain text emails [18:35:00.0000] <othermaciej> it's ok to use presentational markup in plaintext, because it conveys information [18:35:01.0000] <othermaciej> at least that's the explanation someone gave me [18:35:02.0000] <othermaciej> plaintext, like email, is for iformation [18:35:03.0000] <othermaciej> but HTML is for semantics, not information [18:35:04.0000] <Lachy> oh, do you mean the way she's /emphasising/ /everything/ /she/ /says/? [18:37:00.0000] <Hixie> it's not all emphasis [18:37:01.0000] <Hixie> as in, <em> would not be appropriate for all her /markup/ [18:37:02.0000] <Hixie> but whatever [18:37:03.0000] <Hixie> /me throws her e-mail onto the "phrasing" pile for now [18:37:04.0000] <bewest> Hixie: that's because she saw some teasing in the logs here and didn't like it [18:37:05.0000] <Hixie> uh huh [18:37:06.0000] <Lachy> I couldn't be bothered replying her any more. She's in the XHTML2 group, so she's got her own spec to mess up [18:38:00.0000] <bewest> Hixie: you could talk to her in #web [18:38:01.0000] <Hixie> i think i'll watch my latest fix of atlantis instead [18:38:02.0000] <othermaciej> she uses both *stars* and /slashes/, which one normally takes to be bold and italic in plaintext [18:38:03.0000] <zcorpan_> she'll probably read today's log too, so, hi, tina! :) [18:39:00.0000] <Lachy> Hi Tina Holomboe (she won't see it unless we mention her full name) [18:39:01.0000] <Lachy> now it will turn up in searches ;-) [18:39:02.0000] <zcorpan_> oh right [18:39:03.0000] <Philip`> Lachy: That would work better if you used the correct spelling [18:40:00.0000] <zcorpan_> Tina Holmboe [18:40:01.0000] <Lachy> oops [18:43:00.0000] <bewest> I will probably now be banned from #web [18:43:01.0000] <bewest> oh well [18:43:02.0000] <zcorpan_> why? [18:43:03.0000] <Philip`> For an entertaining reason? [18:43:04.0000] <Lachy> /me joins #web to see what's going on [18:44:00.0000] <Lachy> ... nothing yet. [18:45:00.0000] <zcorpan_> /me is tempted to say "can anyone help me with a javascript problem?" [18:48:00.0000] <Dashiva> You just did [18:49:00.0000] <zcorpan_> in #web, that is [18:57:00.0000] <Dashiva> It's probably a spiderman channel anyhow [19:00:00.0000] <Lachy> zcorpan_, about that quote you just pasted in #web, where did that come from? [19:01:00.0000] <zcorpan_> topic [19:03:00.0000] <Lachy> woah! looks like David Dorward set that topic last. I can't believe he would have said that, I thought he had more sense than that [19:03:01.0000] <Philip`> /me wonders what it says, but is too lazy to go and look [19:04:00.0000] <zcorpan_> "Rules: http://hashweb.sekrit.co.uk/ | Validate FIRST: http://validator.w3.org/ | Ask first, PM later | Don't use XHTML unless you understand it: http://www.webdevout.net/articles/beware-of-xhtml | #web is for authoring web pages, not a replacement for google or an index of irc channels | WA1 accepted as HTML 5 - R.I.P. HTML" [19:05:00.0000] <Philip`> Aha [19:06:00.0000] <Philip`> If people disagree with the direction of HTML, they could always form their own group and develop a Web Document Semantics 1.0 specification [19:06:01.0000] <Lachy> Philip`, they have. It's called XHTML 2.0 [19:06:02.0000] <zcorpan_> or join the xhtml2 wg [19:09:00.0000] <Dashiva> I'm confused [19:09:01.0000] <Dashiva> Beware of XHTML, but RIP HTML? [19:11:00.0000] <zcorpan_> probably different people who wrote that [19:12:00.0000] <Lachy> Dashiva, that's because authors should use WML or cHTML instead [19:25:00.0000] <Hixie> wow, that link is somewhat rough on the xhtml guys http://www.webdevout.net/articles/beware-of-xhtml [19:32:00.0000] <zcorpan_> http://www.thewebcreator.net/2007/04/16/why-you-should-be-using-html-401-instead-of-xhtml/#comment-23 (same article) [19:52:00.0000] <Hixie> the last comment on that blog entry highlights one of the weirdest things i've repeatedly seen on the web [19:52:01.0000] <Hixie> "HTML 5.0 vs XHTML 2.0 (commercials companies vs W3C)" [19:54:00.0000] <Hixie> the idea that the W3C, which you have to pay thousands of dollars to to become a member, and which is entirely member-driven, is somehow less "commercial" than the WHATWG, which can be joined by anyone [19:57:00.0000] <ianloic> hehe [20:23:00.0000] <zcorpan_> Hixie: the spec says that <a>.href must reflect the href content attribute. but browsers return the resolved uri on getting [20:24:00.0000] <zcorpan_> oh, nevermind [20:24:01.0000] <Hixie> heh [20:31:00.0000] <zcorpan_> ok, for boolean attributes, it says that setting must remove or set the content attribute, but afaict none of safari, firefox or opera do that. (ie7 does because the content attribute === the dom attribute) [20:34:00.0000] <zcorpan_> although i only tested with <input checked> [20:35:00.0000] <Hixie> checked is a special case [20:35:01.0000] <Hixie> it doesn't reflect the content attribute [20:35:02.0000] <Hixie> defaultChecked is the DOM attribute that reflects the checked content attribute [20:35:03.0000] <zcorpan_> oh [20:39:00.0000] <zcorpan_> for .disabled, opera returns "disabled", mozilla and safari return "", and ie7 returns "true" [20:40:00.0000] <Hixie> in what context? [20:40:01.0000] <zcorpan_> when setting to .disabled to true and then reading getAttribute("disabled") [20:40:02.0000] <Hixie> and what do they do when you set it to fals? [20:40:03.0000] <Hixie> false? [20:41:00.0000] <Hixie> (afk brb) [20:41:01.0000] <zcorpan_> all return null [20:43:00.0000] <zcorpan_> which means that they remove the content attribute [20:44:00.0000] <zcorpan_> and that DOM3 Core is incompatible with the real world [20:50:00.0000] <zcorpan_> or wait, ie7 returns "false", but the content attribute is absent in ie's web developer toolbar (and live dom viewer) [20:52:00.0000] <zcorpan_> uploaded to LDV [20:52:01.0000] <Hixie> so in conclusion, the spec is close enough to reality, right? :-) [20:53:00.0000] <zcorpan_> yeah. except perhaps that it should set the value to the empty string instead (to match two implementations instead of one) :) [20:53:01.0000] <Hixie> *shrug* [20:54:00.0000] <Hixie> we'll see what the implementors say when they start implementing this stuf [20:54:01.0000] <Hixie> so in other news [20:54:02.0000] <Hixie> how are we supposed to distinguish <h1>s that represent site-wide headers, from <h1>s that are the header of the page only? [20:54:03.0000] <Hixie> or do we need to? [20:57:00.0000] <zcorpan_> if there's exactly one <article> (ignoring nested <article>s), then the heading of that <article> is the page's heading, and the <body>'s heading is the site-wide heading. otherwise, the <body>'s heading is the page's heading [21:02:00.0000] <Hixie> oo, good call [21:03:00.0000] <zcorpan_> :) [21:05:00.0000] <zcorpan_> and yes, i think it needs to be distinguished, given how much this issue has been discussed at different forums [21:05:01.0000] <zcorpan_> if only for the sake of content producers [21:20:00.0000] <zcorpan_> should i mail that to the list? [21:35:00.0000] <Hixie> nah, i got it [21:35:01.0000] <zcorpan_> ok [21:36:00.0000] <zcorpan_> /me will go to bed now [21:37:00.0000] <zcorpan_> nn [21:38:00.0000] <Hixie> nn [22:04:00.0000] <Hixie> /me nukes the predefined class names [22:50:00.0000] <Philip`> /me wonders why commit-watchers hasn't seen r823 [23:22:00.0000] <Philip`> r284 is there, but 283 hasn't come through email or into the archives :-( [23:25:00.0000] <Hixie> weird [23:26:00.0000] <Hixie> maybe the script crashed when i submitted it [23:56:00.0000] <Hixie> othermaciej: assuming you could iterate over classList [23:56:01.0000] <Hixie> othermaciej: would you want to see dupes, or would you want them collapsed? [23:58:00.0000] <othermaciej> Hixie: hmm, haven't thought about it [00:14:00.0000] <Hixie> sorted it is [00:27:00.0000] <hendry> i'm going to try it... [00:27:01.0000] <hendry> woops, wrong channel [00:45:00.0000] <jruderman> lol at Hixie's twitter status "Dashed lines are so Web 1.0. <canvas> is Web 2.0. Solid colours and transparency!" [00:46:00.0000] <Hixie> :-) [00:53:00.0000] <othermaciej> where are the rounded corners and reflections? [00:54:00.0000] <Hixie> reflections are here: http://cow.neondragon.net/stuff/reflection/ [00:55:00.0000] <Philip`> http://www.netzgesta.de/corner/ - rounded corners [00:55:01.0000] <Philip`> What more could you want? [00:55:02.0000] <othermaciej> that reflection thing is pretty hot [00:56:00.0000] <Hixie> wow i hadn't seen the corners [00:56:01.0000] <Hixie> that's pretty awesome [00:56:02.0000] <Hixie> ok [00:56:03.0000] <Hixie> we're set! [00:56:04.0000] <Hixie> web 2.0 compliance! check! [01:02:00.0000] <othermaciej> does that use canvas? [01:03:00.0000] <othermaciej> I suppose adding NEW! and BETA badges can be an excercise to the reader [01:03:01.0000] <Hixie> yeah [01:03:02.0000] <Hixie> they both use canvas [01:04:00.0000] <othermaciej> that's pretty hot [01:04:01.0000] <Hixie> http://h-master.net/web2.0/index.php will add the BETA badge, but that's not canvas [01:05:00.0000] <Philip`> You can do nice animated rippley reflective water with the 3D canvas, but I guess that's probably a bit too distracting for use on normal web pages [01:06:00.0000] <othermaciej> cool, I just made the logo for Specr [01:06:01.0000] <othermaciej> it even colored the r red [02:52:00.0000] <mikeday> Prince 6.0 has been released at long last [02:53:00.0000] <mikeday> be the first kid on the block to download it, try it out, find bugs, and complain to us, today! :) [03:13:00.0000] <mikeday> hmm, quiet in here. You're all at XTech, aren't you. [04:15:00.0000] <jdandrea> Yipe: http://www.thewhir.com/blogs/Paul-Hirsch/index.cfm/2007/4/17/HTML-5-the-next-generation-or-largely-a-pointless-effort [04:17:00.0000] <jdandrea> /me sees others have already commented. ahh. [04:28:00.0000] <Lachy> does anyone have any stats on how often blockquote is actually used for indenting these days? I've never seen any, it seems to be taken as axiom [04:41:00.0000] <ROBOd> Lachy: i have some experience with cleaning up HTML documents saved with OpenOffice Writer and Microsoft Word [04:42:00.0000] <ROBOd> Lachy: based on this experience, yes, blockquote is used for indenting, but definition lists are the champions [04:43:00.0000] <ROBOd> almost any document i've worked with contains definition lists wrongly used for indenting text. blockquote is not really often [04:49:00.0000] <mikeday> blockquote is used a lot on blogs, for... block quoting :) [05:16:00.0000] <mikeday> hi zcorpan_ [06:35:00.0000] <met_> http://my.opera.com/hallvors/blog/2007/05/16/quick-spec-for-ies-document-activeelement [09:09:00.0000] <zcorpan_> Hixie: hmm, does the #distinguishing text look for <section>s that are descendants of <aside> and <nav>? surely they should be ignored? [10:53:00.0000] <zcorpan_> Hixie: why does it look for <section>s in the first place? [10:58:00.0000] <Dashiva> Hixie: The links in DOMTokenList interface are kinda messed up. add links to remove, and remove doesn't link [11:01:00.0000] <Dashiva> Personally I would define toggle in terms of has, add, remove, since that's kind of what it does [11:03:00.0000] <clotman> :bn [11:08:00.0000] <Lachy> does anyone remember what the use cases for class="warning" were? [11:09:00.0000] <Lachy> I remember one for class="error", which was for indiciating error messages, such as for form controls, which has benefits particularly for ATs [11:45:00.0000] <zcorpan_> /me continues to test bgcolor handling [11:46:00.0000] <zcorpan_> everyone do slightly different things. i wonder what is sanest, and what is required [11:50:00.0000] <zcorpan_> /me is amused by the insanity [12:11:00.0000] <Philip`> Hmm, the spec currently seems to have the thin green SCS line down pretty much its entire length, but only in Opera and not Firefox [12:15:00.0000] <zcorpan_> yeah [12:16:00.0000] <zcorpan_> the status xml file needs an update [12:19:00.0000] <ddfreyne> Is there a feed for the specs' recent changes? [12:20:00.0000] <zcorpan_> http://twitter.com/WHATWG [12:20:01.0000] <met_> or mailing list [12:21:00.0000] <Philip`> http://html5.org/tools/web-apps-tracker and http://lists.whatwg.org/pipermail/commit-watchers-whatwg.org/2007/date.html have information on changes too [12:21:01.0000] <Dashiva> Sign up for the commit-watchers [12:21:02.0000] <ddfreyne> thanks! [12:23:00.0000] <Philip`> Also http://dev.w3.org/cvsweb/html5/spec/Overview.html [12:24:00.0000] <Philip`> It's hard to avoid accidentally running into a list of recent changes :-) [12:24:01.0000] <ddfreyne> yeah, but there still is no rss feed. :P [12:25:00.0000] <ddfreyne> (or atom) [12:25:01.0000] <zcorpan_> there is for twitter [12:25:02.0000] <zcorpan_> though you'll only get the messages [12:25:03.0000] <ddfreyne> true, but that doesn't include the diff [12:26:00.0000] <zcorpan_> we can add a feed to web-apps-tracker. contributors welcome: http://html5.googlecode.com/svn/trunk/web-apps-tracker/web-apps-tracker [13:50:00.0000] <Philip`> http://tapper-ware.net/canvas3d/ - I hadn't seen that before, but it seems to work fairly nicely [14:27:00.0000] <Hixie> aww, how cute [14:27:01.0000] <Hixie> public-html is still arguing about whether we should have predefined classes [14:29:00.0000] <gsnedders> awwwwww… so sweet, isn't it? :P [14:30:00.0000] <met_> Hixie you sent the notice about classes only to whatwg list [14:32:00.0000] <Philip`> Maybe commit-watchers could be forwarded to public-html so people don't get lost arguing about points that were already addressed weeks ago [14:32:01.0000] <Philip`> (Well, that's not actually a sensible idea, but maybe something to make sure people stay up to speed) [14:37:00.0000] <Hixie> that's Dan's problem, IMHO [16:04:00.0000] <zcorpan_> Hixie: yt? [16:21:00.0000] <Hixie> zcorpan_: yo [16:22:00.0000] <zcorpan_> why does #distinguishing look for <section> elements? [16:24:00.0000] <Hixie> it looks for anything that can be considered "in flow" [16:24:01.0000] <zcorpan_> but a <section> in an <aside> shouldn't make a difference, should it? [16:25:00.0000] <zcorpan_> or <nav> [16:25:01.0000] <Hixie> true [16:31:00.0000] <zcorpan_> btw, Roger said that the links made the text in the spec harder to read. this might make it easier to read: [href^="#"] { color: inherit; text-decoration: underline; } [16:33:00.0000] <Hixie> maybe [16:35:00.0000] <Hixie> ugh, there are so many things wrong with the #distinguishing thing [16:35:01.0000] <Hixie> how to fix [16:35:02.0000] <Hixie> how to fix [16:37:00.0000] <Hixie> what i want to say is that if the structure is 1 top level header and 1 header below that, ignoring headers in <nav> and <aside>, and that the header below it is in an <article>, then that's the site/page case [16:37:01.0000] <Hixie> and all other cases are standalone pages [16:38:00.0000] <othermaciej> what's #distinguishing? [16:38:01.0000] <zcorpan_> othermaciej: http://html5.org/tools/web-apps-tracker?from=825&to=826 [16:40:00.0000] <Lachy> othermaciej, see the spec. it's a fragment identifier for the section [16:40:01.0000] <Lachy> http://www.whatwg.org/specs/web-apps/current-work/#distinguishing [16:40:02.0000] <zcorpan_> Hixie: perhaps phrase it as "for the purposes of finding the page's heading..." or so, instead of having it as authoring conformance requirements [16:40:03.0000] <othermaciej> /me looks [16:40:04.0000] <Hixie> zcorpan_: i want it as both authoring and ua reqs [16:41:00.0000] <zcorpan_> ok [16:41:01.0000] <Hixie> othermaciej: it's basically an experimental solution to an issue that has caused many arguments [16:41:02.0000] <Hixie> othermaciej: i'm trying to see if i can make the spec clear it up once and for all [16:41:03.0000] <Lachy> the way it is right now, it's extremely complex. I don't even understand it [16:42:00.0000] <othermaciej> /me is confused reading that [16:43:00.0000] <zcorpan_> wouldn't it clear up the issue even if it didn't actually contain authoring conformance requirements? [16:43:01.0000] <Hixie> yeah don't worry about the text there now [16:43:02.0000] <Hixie> zcorpan_: there's no point having the author be allowed to do things that the UA will interpret as something else [16:44:00.0000] <zcorpan_> well, you can't check the author's intent anyway, right? [16:44:01.0000] <Hixie> actually in this case you could [16:45:00.0000] <Hixie> if you validated multiple pages at once [16:45:01.0000] <zcorpan_> oh [16:45:02.0000] <zcorpan_> right [16:45:03.0000] <Hixie> (somewhat) [16:45:04.0000] <Hixie> anyway there are plenty of requirements that can't be checked [16:45:05.0000] <zcorpan_> indeed [16:56:00.0000] <Hixie> ok, redid it [16:56:01.0000] <Hixie> is it any better? [16:57:00.0000] <zcorpan_> /me checks [16:58:00.0000] <Hixie> (eventually i'll have examples of course) [16:59:00.0000] <Lachy> in the first paragraph, shouldn't it say "must be nested as the heading of an article [or section] element,"? 2007-05-18 [17:00:00.0000] <Hixie> in the _first_ paragraph? of the new text? [17:00:01.0000] <Lachy> ah, sorry, it loaded from my cache [17:01:00.0000] <Hixie> heh [17:02:00.0000] <zcorpan_> Hixie: yeah, that's better [17:02:01.0000] <Hixie> goodgood [17:05:00.0000] <Lachy> so to have a site wide header, the page structure has to be like <body><h1/><article/></body>? [17:05:01.0000] <Hixie> basically [17:06:00.0000] <Lachy> or possibly using a <header> [17:06:01.0000] <Hixie> right, with as many <nav>s, <aside>s, and kinds of other crap aronud [17:06:02.0000] <Hixie> around [17:06:03.0000] <Hixie> wow that sentence was missing so many words [17:06:04.0000] <Hixie> "right, with as many <nav>s, <aside>s, and all kinds of other crap around as needed" [17:07:00.0000] <othermaciej> if it was possible, it would be best if site-wide header and document header were structurally different in a way that made it difficult to accidentally do one when you meant the other [17:08:00.0000] <Lachy> so if the page had <body><h1/><article/><article/></body>, then the h1 wouldn't be a site wide header? [17:08:01.0000] <zcorpan_> othermaciej: you don't really need to think about it [17:08:02.0000] <zcorpan_> Lachy: right [17:08:03.0000] <Lachy> that seems counter intuitive for authors [17:08:04.0000] <zcorpan_> why? [17:09:00.0000] <Hixie> so anyone want to help me do some examination of pages with numerous <base> elements? [17:09:01.0000] <Lachy> cause why should the h1 stop being the site header, just because there's an additional <article> element? [17:10:00.0000] <Lachy> I just think it's overly restrictive on how authors can structure their pages, and authors just won't be able to follow it correctly [17:10:01.0000] <zcorpan_> Lachy: consider a typical blog [17:11:00.0000] <Hixie> actually my blog is a good example of why the spec doesn't work [17:11:01.0000] <Lachy> yeah, a typical blog has multiple articles [17:11:02.0000] <Hixie> but then there _is_ no "page header" in those cases [17:11:03.0000] <Hixie> it's just a site header followed by a bunch of article headers [17:11:04.0000] <Hixie> so i dunno [17:12:00.0000] <Lachy> oh, ok, now I get it [17:12:01.0000] <Hixie> i'm open to better solutions [17:12:02.0000] <Lachy> hmm. I need to think about it a bit more [17:12:03.0000] <Hixie> maybe i should just say that if there are multiple articles, the page header _is_ the site header [17:12:04.0000] <Hixie> certainly what's in the spec now is just experimental [17:12:05.0000] <Hixie> so feel free to send feedback [17:12:06.0000] <Lachy> will do [17:13:00.0000] <Lachy> I probably need to get some sleep first, the sun is up already (I've been up all night) [17:14:00.0000] <Hixie> heh [17:14:01.0000] <Hixie> nn [17:14:02.0000] <zcorpan_> hm, yeah, a front page (with multiple <article>s) could be considered to only have a site-wide header and no page header [17:16:00.0000] <Hixie> horrah, i found a way in which IE7's <base> handling broke a real page [17:16:01.0000] <Hixie> http://www.samidoon.com/index.php?page=forums [17:16:02.0000] <Hixie> second link up from the bottom of the left sidebar [17:16:03.0000] <Hixie> third link up too [17:17:00.0000] <Hixie> in fact most of the links in that sidebar [17:17:01.0000] <othermaciej> one thing I wonder about is why it's important to distinguish site header from document header - is it solely for purposes of generating the document outline? [17:18:00.0000] <Hixie> othermaciej: it's not really important. it's one of those things that people argue about, though. [17:19:00.0000] <zcorpan_> so basically: if there are no <article> elements, then the <body>'s heading is the page header, and there is no site-wide header. if there is exactly one <article> (ignoring nested), then that <article>'s heading is the page header and the <body>'s heading is the site-wide header. if there are multiple <article>s (ignoring nested), then the <body>'s heading is the site-wide header and there is no page header. [17:19:01.0000] <othermaciej> One possibility is to introduce <header sitewide> and <h1 sitewide> which is legal only on headers for the body section [17:20:00.0000] <othermaciej> that wouldn't put any weird restrictions on document structure, is easy for authors, and doesn't complexity the outline algorithm much [17:20:01.0000] <othermaciej> *complexify [17:21:00.0000] <Hixie> othermaciej: yeah, i considered that [17:21:01.0000] <Hixie> othermaciej: might be a better solution [17:21:02.0000] <Hixie> othermaciej: i was looking for a "natural" solution first (one that can be inferred) [17:21:03.0000] <zcorpan_> /me likes the implied semantics better [17:22:00.0000] <othermaciej> Hixie: indeed, that would be nice, so long as the "natural" solution isn't too complex for authors and implementors to understand [17:23:00.0000] <Lachy> what specific problem is solved by being able to clearly distinguish a site-wide header from a page header? [17:23:01.0000] <Hixie> othermaciej: yeah [17:23:02.0000] <othermaciej> consider in particular that a blog page can go from having one article included to many without a change in document semantics implied [17:24:00.0000] <Hixie> Lachy: none, other than putting an end to one particular brand of long pointless arguments [17:24:01.0000] <Hixie> othermaciej: yeah, i gave that example above [17:24:02.0000] <zcorpan_> Lachy: authors don't know how to mark up site-wide headers [17:24:03.0000] <zcorpan_> because html4 doesn't cover it [17:24:04.0000] <Hixie> horrah, another 404 in IE7 [17:24:05.0000] <Hixie> http://n2ch.lazy8.info/headline/headline.cgi?mode=category&group=test [17:24:06.0000] <Hixie> search for "489. somethingorother (2007.5.14) New" [17:26:00.0000] <Hixie> ok wtf [17:26:01.0000] <Hixie> all these pages are CJK [17:26:02.0000] <Hixie> is there something in the east that encourages crazy use of <base> or what [17:28:00.0000] <Lachy> wow! Some people still don't get it http://ask.slashdot.org/article.pl?sid=07/05/16/2342213 [17:30:00.0000] <zcorpan_> Lachy: indeed [17:31:00.0000] <zcorpan_> /me can start a DTD hosting business and make profit of people's ignorance [17:32:00.0000] <Philip`> You could host all your DTDs in a data: URI [17:33:00.0000] <zcorpan_> oh yeah [17:33:01.0000] <zcorpan_> that way they never stop working [17:34:00.0000] <Lachy> *all your DTDs are belong to us* [17:34:01.0000] <Lachy> :-) [17:34:02.0000] <zcorpan_> http://all.your.dtds.are.belong.to.us/ [17:35:00.0000] <Lachy> thanks, I'll put that in my slashdot comment ;-)( [17:35:01.0000] <zcorpan_> :) [17:36:00.0000] <Philip`> If I had a DTD hosting business, I don't know if I'd be able to resist the temptation of randomly changing a default attribute value on one in a thousand requests just to see what happens [17:37:00.0000] <Hixie> heh [17:48:00.0000] <Lachy> http://ask.slashdot.org/comments.pl?sid=235013&cid=19172367 [18:05:00.0000] <zcorpan_> http://www.456bereastreet.com/archive/200705/use_only_blocklevel_elements_in_blockquotes/ feedback is: make <blockquote> and <form> bimorphic [18:05:01.0000] <Lachy> yes [18:07:00.0000] <zcorpan_> which is something i've thought about before, too [18:07:01.0000] <zcorpan_> at least for <form> [18:14:00.0000] <Hixie> you'd have an implied paragraph for the contents? or? [18:14:01.0000] <Lachy> it certainly makes sense for form. I think I've even requested it before for it [18:14:02.0000] <Lachy> The blockquote would be the paragraph itself [18:14:03.0000] <Lachy> you would only need it to contain block elements when the quote itself was a multi-paragraph quote [18:16:00.0000] <Hixie> i guess it makes sense [18:20:00.0000] <Lachy> hey, I forgot to mention, It's been confirmed that I'll be doing another HTML5 presentaiton at Open Publish in August http://www.openpublish.com.au/ [18:21:00.0000] <Hixie> cool [18:21:01.0000] <zcorpan_> /me will have his presentation in a few days now [18:22:00.0000] <Lachy> zcorpan_, where are you presenting? [18:22:01.0000] <zcorpan_> stockholm [18:23:00.0000] <zcorpan_> is google.com redesigned? [18:23:01.0000] <Lachy> zcorpan_, yes [18:23:02.0000] <Hixie> yeah, see the google blog [18:23:03.0000] <Lachy> google.com.au hasn't been done yet, though [18:24:00.0000] <zcorpan_> not google.se either [18:36:00.0000] <om_food> still very old school design on the inside [18:45:00.0000] <othermaciej> does google have any announcement of their new search thing other than on the google blog? [18:46:00.0000] <zcorpan_> /me doesn't find the redesign announcement [18:46:01.0000] <othermaciej> I can't find a press release or anything [18:46:02.0000] <othermaciej> try searching for "google universal search" [18:46:03.0000] <Hixie> the press was all over campus yesterday [18:46:04.0000] <Hixie> search google news for "universal search" [18:47:00.0000] <zcorpan_> http://chronicle.com/wiredcampus/index.php?id=2078 [18:47:01.0000] <Lachy> http://www.theregister.co.uk/2007/05/17/universal_search/ [18:47:02.0000] <othermaciej> ah, press release here: http://www.google.com/intl/en/press/pressrel/universalsearch_20070516.html [18:48:00.0000] <othermaciej> interesting subtext in some of the stories on this: "will this ruin search engine marketing"? [18:49:00.0000] <Hixie> "search engine marketing"? [18:49:01.0000] <othermaciej> companies that base their business on being high in the google search results for particular terms [18:49:02.0000] <othermaciej> seems like a weird reaction [18:49:03.0000] <Hixie> not sure how this would affect that [18:50:00.0000] <othermaciej> me neither [18:52:00.0000] <othermaciej> I think the idea is that it is harder to get into and stay in the top 10 when more different kinds of content are competing with you [18:52:01.0000] <Lachy> othermaciej, re your latest mail, placeholder="" is absolutely essential. We really need that to be added ASAP [18:53:00.0000] <othermaciej> Lachy: well I can't add it, but I can gently remind the person that I asked to write up how it works in WebKit :-) [18:53:01.0000] <Lachy> yeah [18:54:00.0000] <Hixie> wf2 and all forms related things are on hold until either we get clear direction from the forms task force, or i run out of other things to do [18:54:01.0000] <Lachy> /me prods Hixie with a sharp stick to add placeholder="" [18:54:02.0000] <Hixie> right now i honestly couldn't tell you which is more likely to happen first [18:54:03.0000] <Hixie> but i'm not going to spend months doing integration work only to be told by the w3c that we're not doing that [18:54:04.0000] <Lachy> I wonder if it would be more effective to ask Mozilla to implement it first [18:54:05.0000] <Hixie> opera might be more likely to do it first [18:54:06.0000] <Lachy> maybe [18:55:00.0000] <zcorpan_> /me would like placeholder implemented too [18:55:01.0000] <zcorpan_> that is one feature that is worked around oh so often [18:55:02.0000] <Lachy> the accessibility people would be really happy with it, since it would solve all the problems that authors create by hacking it with JS [18:56:00.0000] <zcorpan_> yeah [18:56:01.0000] <Hixie> /me agrees [18:56:02.0000] <Lachy> and when I get request to implement such scripts for for <input type="password">, I won't need to explain why that won't work [18:57:00.0000] <othermaciej> I'd like us (Safari/WebKit team) to try to document it for standardization even if it does not go into spec right away [18:57:01.0000] <Lachy> yeah, getting it documented and implemented is better than having it in the spec [19:04:00.0000] <Hixie> ok i'm getting really pissed off at <a href="javascript:window.open(...)"> [19:04:01.0000] <Hixie> LET ME OPEN THE FUCKING LINK WHERE I WANT TO OPEN IT [19:04:02.0000] <Lachy> woah, I've never seen Hixie swear before [19:04:03.0000] <Hixie> oh i swear all the time [19:04:04.0000] <Lachy> not in IRC [19:05:00.0000] <Lachy> or email [19:05:01.0000] <Hixie> possible :_) [19:05:02.0000] <Hixie> not in e-mail, indeed [19:08:00.0000] <othermaciej> my top can't-open-link-where-I-want-to annoyance is gmail [19:08:01.0000] <othermaciej> in particular links in messages look like normal targetted links, but trying to open them in a tab fails [19:08:02.0000] <othermaciej> because it has some logic other than the UA's link handling to handle the events [19:09:00.0000] <Hixie> gmail is pretty screwed up for link handling [19:09:01.0000] <Hixie> mostly because of trying to get around browsers neding Referer headers [19:09:02.0000] <Hixie> sending [19:10:00.0000] <jcgregorio> /me doesn't know how you could work all day across every different browser and *not* swear... [19:10:01.0000] <othermaciej> oh, I see, privacy issues [01:07:00.0000] <Lachy> heh, the whatwg blog spammers who are signing up to write their own articles are actually being somewhat informative. if only they'd link to the sites they were talking about [02:29:00.0000] <mikeday> it's quiet. [02:29:01.0000] <mikeday> /me waits for someone to say "too quiet". [02:32:00.0000] <othermaciej> too quiet [02:43:00.0000] <mikeday> heh [02:43:01.0000] <mikeday> I don't even know where that's originally from [02:43:02.0000] <mikeday> movie, presumably. [02:44:00.0000] <othermaciej> it's a cliche, hard to tell any more [02:46:00.0000] <mikeday> "too quiet... for what?" [02:47:00.0000] <mikeday> my theory is that everyone is at XTech [02:48:00.0000] <mikeday> and is thus unable to find a decent wireless connection and thus unable to get on irc [05:39:00.0000] <mikeday> hmm. [05:43:00.0000] <Lachy> what are you hmm-ing for? [05:44:00.0000] <mikeday> ah hah! [05:44:01.0000] <mikeday> some people just can't be left hanging :) [05:44:02.0000] <mikeday> predefined classes are gone. I hardly knew 'em. [05:45:00.0000] <mikeday> in fact, I didn't know them; what were they? :/ [05:46:00.0000] <Philip`> They were more like postdefined classes [05:46:01.0000] <Philip`> given that people were using them already, and they were just being defined [05:47:00.0000] <mikeday> ah. The definition was just for semantics, and wouldn't affect user agent behaviour, right? [05:47:01.0000] <mikeday> (except for user agents that give a damn about semantics of course...) [05:48:00.0000] <Philip`> I think it didn't add any requirements for UAs - only for authors [05:49:00.0000] <mikeday> hmm, I can think of a good requirement for authors [05:49:01.0000] <Philip`> (but I've never looked at the description closely to see if I'm missing some aspect) [05:49:02.0000] <mikeday> "Authors: stop writing all these crappy pages. Signed, User Agent Implementors" [05:53:00.0000] <mikeday> hmm, that gets back to the role attribute then I guess [05:53:01.0000] <mikeday> what if people just add their own attributes to a document [05:53:02.0000] <mikeday> they still get parsed and end up in the DOM, right? [05:54:00.0000] <Philip`> They do (as far as I'm aware) [05:54:01.0000] <mikeday> so... since the role attribute won't affect visual user agents [05:54:02.0000] <mikeday> why not just run with it for a while and see what happens [05:54:03.0000] <Philip`> Run with it for what purpose? [05:54:04.0000] <mikeday> it doesn't need to be baked into the spec from day 1, right? [05:54:05.0000] <mikeday> /me shrugs [05:55:00.0000] <mikeday> whatever purpose people want to run with it for [05:55:01.0000] <mikeday> some people want it, yes? [05:56:00.0000] <Philip`> The predefined classes were removed because there weren't convincing use cases for that kind of feature, so using role to implement the same feature wouldn't help [05:56:01.0000] <mikeday> hmm. I guess my point is, if some people want to use the role attribute to do X [05:56:02.0000] <mikeday> then they can just go ahead and use the role attribute to do X, [05:56:03.0000] <mikeday> without bothering anyone else [05:56:04.0000] <mikeday> if it turns out that doing X is actually really useful, and the role attribute is a neat way to do it, [05:57:00.0000] <Philip`> They can, though they'll be non-conformant [05:57:01.0000] <mikeday> then someone can come along and make an interoperable specification of what they're doing. [05:57:02.0000] <mikeday> non-conformant like every other page on the entire internet, yes :) [05:57:03.0000] <mikeday> but if it works for them, no harm done [05:58:00.0000] <mikeday> but things shouldn't get baked into specifications when they've never been tried [05:59:00.0000] <Philip`> I suppose you could argue that a role attribute is only useful when both authors and (some) UAs make use of it, and use it in a consistent way, which requires coordination between all those groups, and coordination between groups is what standards are for [06:00:00.0000] <mikeday> hmm. <blink> and <marquee> were added 'cos some developers thought they would be cool [06:00:01.0000] <mikeday> authors then used them, 'cos they had no sense of style and thought that they looked cool [06:00:02.0000] <mikeday> coordination between groups doesn't always require a committee [06:01:00.0000] <mikeday> especially since role seems rather like an accessibility-oriented microformat [06:02:00.0000] <mikeday> on an entirely unrelated note, Prince actually supports a :role() pseudo-class in CSS [06:02:01.0000] <mikeday> no relationship to the role attribute at all though [06:02:02.0000] <mikeday> it's for doing things like this: [06:02:03.0000] <mikeday> h1, h2 { role: heading } [06:02:04.0000] <Philip`> That approach seems to work, as long as it's a sufficiently large group adding the feature before there are any users, and then users pick up on it afterwards [06:02:05.0000] <mikeday> *:role(heading) { font-weight: bold } [06:02:06.0000] <Philip`> e.g. Netscape and Microsoft adding features [06:03:00.0000] <Philip`> and Google adding rel=nofollow [06:03:01.0000] <mikeday> So you could use CSS to assign some semantic information to elements [06:03:02.0000] <mikeday> we've never really used the feature though, it turned out to be pretty pointless for styling [06:03:03.0000] <Philip`> (Uh, Google+Yahoo+MSN) [06:03:04.0000] <mikeday> rel=nofollow is a good example, what if they had added a new attribute instead? would it still have worked? [06:05:00.0000] <Philip`> Search engines can add features that browsers can't really parse - AdSense has "<!-- google_ad_section_start -->" [06:05:01.0000] <mikeday> some people embed RDF in HTML comments as well, eg. for creative commons licenses I believe [06:05:02.0000] <Philip`> so they can do pretty much whatever they want, and it'll still work in the 'technically possible' sense [06:06:00.0000] <mikeday> right, but new attributes still get added to the DOM and can be manipulated with JavaScript [06:06:01.0000] <mikeday> so it's not just technically possible, but seems just as practical as using rel [06:07:00.0000] <Philip`> except doing something that makes the page non-conforming would probably come under significant criticism from people who like their pages to be valid, which would limit the number of users who'd make use of the feature [06:07:01.0000] <mikeday> hmm, is rel="nofollow" conformant? I thought rel was fairly limited in the values it could take. [06:07:02.0000] <Philip`> (Even people who don't bother with validity read blogs or use CMSs from people who do care) [06:08:00.0000] <Philip`> "Authors may wish to define additional link types not described in this specification. If they do so, they should use a profile to cite the conventions used to define the link types." [06:08:01.0000] <Philip`> (where "link types" is what rel is a space-separated of) [06:09:00.0000] <mikeday> hmm, no one uses profile for nofollow, do they? :) [06:09:01.0000] <mikeday> I get what you're saying though [06:09:02.0000] <mikeday> the emphasis on validity, and the disconnect between validators, browsers and specifications is rather troublesome [06:09:03.0000] <Philip`> No, but it's only a "should", so it's conformant to not use profile :-) [06:10:00.0000] <mikeday> hmm, now that I think about it, using CSS to assign semantics has some benefits over the role attribute [06:11:00.0000] <mikeday> it saves space, as you can just put your declarations in a style sheet somewhere instead of repeating them. [06:11:01.0000] <mikeday> people won't like mixing stuff with CSS though [06:12:00.0000] <mikeday> maybe rather use <link rel="roles" ... to point to some RDF or something that assigns them [06:12:01.0000] <mikeday> CSS gets no respect, people don't even want to use it to define links :) [06:13:00.0000] <Philip`> I think semantics that are necessary for understanding the page should be entirely in the page's HTML, and work with styles disabled - that's why there's <div irrelevant>...</div> and x<sup>2</sup> [06:15:00.0000] <mikeday> hmm, that's a strong argument in favour of a role attribute then, rather than out-of-band role info [06:15:01.0000] <mikeday> assuming such a thing be necessary at all. [06:17:00.0000] <mikeday> if this is aimed at screen readers say, it seems like there is a need for screen readers to drive the adoption process [06:17:01.0000] <mikeday> if one of them implemented support for the role attribute, then people could try it out [06:17:02.0000] <mikeday> just like Apple has prototyped <video> or whatever [06:17:03.0000] <mikeday> if it turned out to be useful it could go in the spec, otherwise stay proprietary [06:19:00.0000] <Philip`> That sounds reasonable to me [06:21:00.0000] <mikeday> and if you can't convince anyone to implement it, it probably isn't worth adding it to a spec :) [06:21:01.0000] <mikeday> anyhoo, must go [06:21:02.0000] <mikeday> /me waves [07:01:00.0000] <Dashiva> Mr. html60 is at it again... [07:08:00.0000] <zcorpan_> yay! DOMContentLoaded [07:14:00.0000] <Philip`> It'd be nice if I could write <li from=1><li from=2><li from=3><li from=5><li from=13><li from=65533><li><li> and get the browser to calculate the rest of the Ackermann function for me [07:17:00.0000] <Dashiva> It would just find a different sequence matching that start, pssh [07:17:01.0000] <Philip`> Actually, that wouldn't be too hard - it can just look up the first matching entry in the On-Line Encyclopedia of Integer Sequences, and then I wouldn't be limited to merely arithmetic and geometric sequences in my list numberings [07:19:00.0000] <Philip`> Oh, plan foiled - http://www.research.att.com/~njas/sequences/A126333 doesn't give many entries :-( [09:46:00.0000] <mpt> nickshanks, that "ship your own library version, use any newer version" approach is how Growl works [09:53:00.0000] <nickshanks> mpt: seems pretty robust [09:56:00.0000] <mpt> The catch is that if an app contains a version that is newer than the system version, the app's version replaces the system version [09:57:00.0000] <mpt> because that's the easiest way to install updates [09:57:01.0000] <mpt> So if an app claims to have a new version that's actually malware, every app that was using Growl suffers [10:01:00.0000] <Philip`> Do they have some key to sign it with, so only official versions are allowed to be installed? [10:01:01.0000] <mpt> dunno [10:01:02.0000] <mpt> The Amiga used to have an arp.library that worked much the same way [16:01:00.0000] <Hixie> if i have an array of elements [16:01:01.0000] <Hixie> which might contain duplicates [16:01:02.0000] <Hixie> and i want to go through and do something once to each element in the array [16:02:00.0000] <Hixie> without actually mutating the elements themselves [16:02:01.0000] <Hixie> how would i do it? [16:03:00.0000] <Dashiva> To each unique element? [16:04:00.0000] <Dashiva> Personally, I would put each value into a temporary object, so I'd know if I had seen it before [16:05:00.0000] <Dashiva> hash/dictionary/etc as fits your paradigm [16:07:00.0000] <othermaciej> yeah what Dashiva said [16:07:01.0000] <othermaciej> build a hashtable set of elements seen as you traverse the array [16:09:00.0000] <Hixie> how? [16:10:00.0000] <Hixie> (this is in JS with DOM elements) [16:14:00.0000] <othermaciej> you're screwed then [16:14:01.0000] <othermaciej> there's no efficient way to do it without modifying the elements in some way [16:14:02.0000] <othermaciej> JS doesn't have a way to hash on anything but string keys [16:15:00.0000] <Dashiva> This is where someone points out IE's uniqueID [16:15:01.0000] <Hixie> so i guess we should introduce IE's "uniqueID" then [16:15:02.0000] <Hixie> yeah [16:15:03.0000] <Dashiva> ... that was somewhat disturbing timing [16:16:00.0000] <othermaciej> what is IE's uniqueID? [16:16:01.0000] <Hixie> this came up cos dean was asking for uniqueID [16:16:02.0000] <Hixie> http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/uniqueid.asp [16:16:03.0000] <Dashiva> It's a unique ID for any given element [16:18:00.0000] <othermaciej> that's kind of useful, yeah [16:18:01.0000] <Dashiva> Since it's not guaranteed to be stable, there should (uhuh) be no need to match IE's algorithm for creating either [16:18:02.0000] <othermaciej> you have to make sure the unique ID doesn't reveal any pointer values [16:19:00.0000] <othermaciej> or it makes security exploits easier [16:19:01.0000] <Dashiva> Could just make it a counter [16:19:02.0000] <othermaciej> that is possible, though sloppy (not sure how feasible it is to cycle through enough elements to overflow a counter) [16:19:03.0000] <othermaciej> what would be better is for JS to have data structures that can be keyed by object identity [16:20:00.0000] <othermaciej> instead of just by string value [16:20:01.0000] <Philip`> Why is it alright to have a uniqueID that magically creates numbers and stores them in the object, but not alright for JS to modify the object itself? [16:21:00.0000] <Dashiva> The uniqueID is idempotent? [16:22:00.0000] <othermaciej> I don't understand their example [16:22:01.0000] <Hixie> what? you don't understand an msdn example? surely not. [16:22:02.0000] <Hixie> there are several security issues with uniqueID, as othermaciej points out [16:23:00.0000] <Hixie> can't be directly from the pointer. can't be a global counter (since you'll reveal what the user's activity in other windows is like) [16:23:01.0000] <Dashiva> Isn't uniqueID specific to each browsing context? [16:24:00.0000] <Hixie> could be, but then what if you adopt a node to another document? [16:24:01.0000] <othermaciej> it has to be a one-way hash of the pointer basically [16:25:00.0000] <othermaciej> or generate them on the fly, store a pointer in the element, and use a global hashtable to avoid duplicates [16:25:01.0000] <Hixie> the latter is expensive [16:25:02.0000] <othermaciej> it's really just making up for a deficiency in the JavaScript language [16:25:03.0000] <Hixie> around 4 bytes per element globally [16:26:00.0000] <Philip`> You could encrypt the pointer with some secret key, and then it'll never have collisions (assuming the output size is the same as the pointer size) [16:26:01.0000] <Hixie> yeah [16:26:02.0000] <Hixie> (@othermaciej) [16:26:03.0000] <othermaciej> but if it is a single secret key then it will be reverse engineered eventually [16:26:04.0000] <othermaciej> I don't think a hash can be both one-to-one and irreversible [16:26:05.0000] <Philip`> The key can be randomly generated each time you start the browser [16:27:00.0000] <othermaciej> that could work [16:27:01.0000] <othermaciej> but anyway if JS had a data structure keyed on object identity that would be a much better solution overall [16:28:00.0000] <othermaciej> this sort of thing comes up all the time, and not always just for DOM elements [16:28:01.0000] <othermaciej> I should propose such a thing for ES4 if they do not have one already [16:28:02.0000] <othermaciej> OK, I keep staring and I still can't figure out what this is about: window.setTimeout(uniqueID+".tick()", delay); [16:28:03.0000] <othermaciej> why would you call the custom method on a string? [16:29:00.0000] <othermaciej> or does the uniqueID get magically bound in some namespace? [16:29:01.0000] <othermaciej> /me 's brain hurts [16:29:02.0000] <Dashiva> /me thinks so [16:29:03.0000] <othermaciej> I should stop thinking about it [16:29:04.0000] <Dashiva> This is IE, they like global namespace flooding [16:29:05.0000] <Hixie> the first argument to setTimeout is a string to evaluate [16:29:06.0000] <Hixie> in IE, IDs are in the global namespace [16:31:00.0000] <othermaciej> the uniqueIDs? or element ID attributes? [16:31:01.0000] <othermaciej> or both? [16:35:00.0000] <Philip`> When you access uniqueID, it appears to create an object in window with that name (window.ms__id15 etc) pointing to the object you got the uniqueID from [16:35:01.0000] <Hixie> both [16:37:00.0000] <Philip`> Oh, it also has document.getElementById(x) === document.getElementById(x.uniqueID) [16:37:01.0000] <Philip`> Uh [16:37:02.0000] <Philip`> document.getElementById(x.id) === document.getElementById(x.uniqueID) 2007-05-19 [18:11:00.0000] <Philip`> http://canvex.lazyilluminati.com/tests/tests/results.html - now hopefully updated to match the spec again (though not checked very carefully so there may be bugs), plus WebKit data [18:12:00.0000] <Philip`> (which was quite painful to collect - I need a much better way of gathering results when the browser doesn't provide getImageData to do it automatically...) [18:14:00.0000] <zcorpan_> Philip`: wow, nice work [18:15:00.0000] <Hixie> Philip`: that's why you want tests that you can determine the pass/fail result for in 200ms or less [18:15:01.0000] <Hixie> Philip`: that way collecting results is just a matter of having a page load every test in a row, with you hitting "y" or "n" for each one [18:16:00.0000] <Philip`> Hixie: Determining the results is easy - the problem is I've currently just got little checkboxes for each one, and clicking all those is annoying when a computer should be able to do the job much faster :-) [18:17:00.0000] <Philip`> although actually the biggest problem was that after the first 180 or so, Safari stopped responding to any interaction with the form, so I had to select the rest of the checkboxes via javascript: in the address bar [18:19:00.0000] <Hixie> heh [18:19:01.0000] <Hixie> /me thinks it takes more than 200ms to determine if those tests have passed or not, though [18:19:02.0000] <Hixie> e.g. http://canvex.lazyilluminati.com/tests/tests/initial.reset.security.html [18:20:00.0000] <Hixie> it has loads of text [18:20:01.0000] <Philip`> Oh, those ones are easy because it does it automatically and colours the background [18:20:02.0000] <Philip`> so the text can just be ignored [18:20:03.0000] <Hixie> yeah but you have to know that [18:20:04.0000] <Hixie> QA people go through tens of thousands of tests, they can't know them all :-) [18:21:00.0000] <Philip`> For the ones where the outcome can be determined automatically, the QA people shouldn't even see them since it's not a good use of their time [18:21:01.0000] <Philip`> ...but that means I need a better way of reporting the results and asking for human confirmation when necessary [18:41:00.0000] <zcorpan_> /me would love to have elastomania implemented in <canvas> [18:44:00.0000] <Philip`> http://canvex.lazyilluminati.com/tests/tests/minimal.initial.reset.security.html - is that version bare enough now? :-) [18:44:01.0000] <Hixie> still has three links :-) [18:45:00.0000] <Hixie> see http://www.w3.org/Style/CSS/Test/guidelines.html [18:45:01.0000] <Hixie> though ignore the filename crap [18:46:00.0000] <Philip`> (http://canvex.lazyilluminati.com/tests/tests/minimal.toDataURL.complexcolours.html when it can't determine the result by itself) [18:46:01.0000] <Hixie> those are a bit complex [18:46:02.0000] <Hixie> the general colour scheme that test cases use is described somewhere, too, hold on [18:47:00.0000] <Hixie> oh it's in that same file http://www.w3.org/Style/CSS/Test/guidelines.html#color [18:47:01.0000] <Hixie> you never want to use a green colour when it's not a pass [18:47:02.0000] <Hixie> never red when it's not a fail [18:47:03.0000] <Hixie> (red trumps green if both are there) [18:47:04.0000] <Hixie> you want blue when the tester has to look closer [18:47:05.0000] <Hixie> navy, specifically [18:48:00.0000] <Hixie> also, the colours should geenerally be #008000 #ff0000 #00ff00 and #000080 [18:48:01.0000] <Hixie> many qa people in browser dev are basically hardwired to act to those colours now [18:48:02.0000] <Philip`> It's sometimes hard to be specific about colours when the test is intentionally trying to test multiple colours, though [18:48:03.0000] <Hixie> even something slightly outside that range causes them untold amount of time confused :-) [18:48:04.0000] <Hixie> yeah [18:48:05.0000] <Hixie> there are tests where that doesn't apply [18:49:00.0000] <Hixie> but they're rare [18:49:01.0000] <Hixie> see e.g. http://www.hixie.ch/tests/adhoc/html/canvas/ [18:49:02.0000] <Hixie> anyway gotta go [18:49:03.0000] <Hixie> ttyl [19:19:00.0000] <Philip`> http://canvex.lazyilluminati.com/tests/tests/minimal.toDataURL.complexcolours.html - now bluer than ever before [19:20:00.0000] <Philip`> Still not entirely trivial; but when using a sensible browsers there's only 5 out of 201 cases where you should even have to look at it [19:20:01.0000] <Philip`> s/browsers/browser/ [20:34:00.0000] <a-ja> Hixie, et al: question about 3.8.11.3. Distinguishing site-wide headers from page headers....when referencing one/only/single subsection...should that read/mean *child* subsection instead? [20:36:00.0000] <a-ja> i.e. one/only/single child subsection rather than just one/only/single subsection [05:58:00.0000] <annevk> Does http://waffle.wootest.net/2007/05/16/ruby-the-same-token/ imply we now have a tokenizer in C? [06:04:00.0000] <Philip`> That seems to be only talking about Objective-C, which isn't the same [06:07:00.0000] <annevk> Oh, ok [06:14:00.0000] <annevk> /me updates HTML5 presentations [06:16:00.0000] <krijnh> annevk: you're going to talk about HTML5 at Info.nl right? [06:16:01.0000] <annevk> heh, how do you know? :) [06:17:00.0000] <krijnh> annevk: I told them to ;p [06:17:01.0000] <krijnh> Well, no, I used your presentation markup to present my CMS [06:18:00.0000] <krijnh> And told Tom about your presentation [06:18:01.0000] <annevk> ah ok [06:18:02.0000] <annevk> :) [06:18:03.0000] <krijnh> He was very interested [06:18:04.0000] <krijnh> Also, you charge too little ;) [06:19:00.0000] <annevk> Oh, I don't care about money [06:19:01.0000] <krijnh> Hehe [06:19:02.0000] <krijnh> Just kidding [06:19:03.0000] <annevk> I figured as much though :) [06:20:00.0000] <krijnh> June 1 around 13h right? [06:20:01.0000] <annevk> (Although I guess the reason I don't care about it is that I have enough.) [06:20:02.0000] <annevk> Yeah [06:20:03.0000] <krijnh> I'll try to be there then as well [06:20:04.0000] <annevk> Oh, you work for them now? [06:20:05.0000] <krijnh> Freelance, yes [06:21:00.0000] <krijnh> 3 days a week or something [06:21:01.0000] <annevk> So we get to meet after all :p [06:21:02.0000] <krijnh> Yay! [06:21:03.0000] <krijnh> ;] [06:21:04.0000] <krijnh> That was my only reason for bringing it up, hehe [06:22:00.0000] <krijnh> Nah [06:37:00.0000] <annevk> Oh I see, it's a superset of C [06:38:00.0000] <annevk> it looks quite different though... [06:45:00.0000] <jdandrea> /me observes he can't generate conforming HTML 5 using XSLT 1.0. The meta content-type is automagically generated when the head element is encountered while using the html output method! [06:45:01.0000] <jdandrea> Workaround: Use XSLT 2.0 (not yet a recommendation) and set include-content-type to no, or hardcode the head element/attributes (also bleah). Ahh well ... [06:45:02.0000] <jdandrea> Other ideas? [06:46:00.0000] <krijnh> And the meta content-type isn't allowed? [06:46:01.0000] <Philip`> XSLT5? [06:46:02.0000] <jdandrea> XSLT5! Now there's an idea. [06:46:03.0000] <jdandrea> Should use something akin to <meta charset="UTF-8"> [06:46:04.0000] <jdandrea> But XSLT 1.0 will output <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> [06:47:00.0000] <jdandrea> XSLT 2.0 lets you suppress that. [06:47:01.0000] <krijnh> That's non conforming? [06:47:02.0000] <annevk> There has to be an option to suppress that [06:47:03.0000] <jdandrea> I believe so. (I could be wrong?) [06:47:04.0000] <annevk> Yeah, it's non-conforming [06:47:05.0000] <jdandrea> annevk: There is, in XSLT 2.0. [06:47:06.0000] <annevk> Hah, XSLT 2... [06:47:07.0000] <jdandrea> hehe [06:48:00.0000] <jdandrea> Noting it here: http://code.google.com/p/gsa-xhtml-stylesheet/issues/detail?id=30&can=2&q=#c3 [06:48:01.0000] <annevk> /me hopes browsers won't have to implement that [06:48:02.0000] <jdandrea> I always thought that was messy (in XSLT 1.0). Now I know why! [06:48:03.0000] <annevk> Maybe you should output "XML compatible" HTML5 [06:49:00.0000] <annevk> /me wonders how <!DOCTYPE html> is inserted [06:49:01.0000] <jdandrea> Meaning output-method set to xml? Can do. [06:49:02.0000] <jdandrea> In XSLT 2.0, yes, good question. In 1.0, you can't have multiple outputs, so I have a template that handles it (hardcoded, again - alas). [06:49:03.0000] <jdandrea> Ref: http://code.google.com/p/gsa-xhtml-stylesheet/ [06:50:00.0000] <jdandrea> The new version is atoning somewhat (HTML 4.01 Strict, (X)HTML 5, etc.) ;) [06:50:01.0000] <annevk> Maybe Python is more suitable than all this XML fancyness :) [06:50:02.0000] <jdandrea> Maybe. [06:51:00.0000] <jdandrea> This project is intended as a drop-in replacement for the default XSLT on the Google Search Appliance. [06:51:01.0000] <jdandrea> Otherwise, yes, python has some good possibilities here. [06:52:00.0000] <jdandrea> Two more errors to squash and I've got (X)HTML 5 conformance. Yay. [06:52:01.0000] <jdandrea> /me notes that's before considering new HTML 5 elements. [06:53:00.0000] <annevk> /me goes t fetch some food and have lunch [06:53:01.0000] <jdandrea> /me gets ready to head out for the day, waves [06:55:00.0000] <jdandrea> annevk: Ahh, XML compatible HTML5 - of course! I just groked that. That would probably work nicely. [07:25:00.0000] <Philip`> (http://canvex.lazyilluminati.com/tests/tests/results.html - added data for old Firefoxes - it's slowly getting better) [08:29:00.0000] <zcorpan_> /me wonders why old firefoxes would be interesting [08:34:00.0000] <Philip`> It's useful if you're trying to write content that's compatible with the old browsers people still use, and want to know which features and bugs they have [08:36:00.0000] <zcorpan_> ah [08:36:01.0000] <zcorpan_> ok [08:36:02.0000] <zcorpan_> i thought it was more aimed at implementors [08:37:00.0000] <Philip`> It probably is, but if it's easy to get the results then one might as well aim partly at other groups too :-) [09:53:00.0000] <annevk> http://me.mywebsight.ws/2007/05/15/xhtml-2-and-html-5-who-will-win/ is funny [09:56:00.0000] <Dashiva> "If (X)HTML 5 is about not being too hard for authors who are too lazy to use XHTML 2, then the English language is about not being too hard for authors who are too lazy to use Esperanto." [11:56:00.0000] <annevk> Is the Ruby html5lib simply converted Python code? [11:56:01.0000] <annevk> It very much looks that way... [11:59:00.0000] <Philip`> Yes, hence problems like http://code.google.com/p/html5lib/issues/detail?id=39 where the straightforward Python->Ruby translation doesn't quite work [12:02:00.0000] <annevk> Who's twoggle? [12:04:00.0000] <Philip`> Tim Fletcher, it seems [12:06:00.0000] <Philip`> (as in http://text.rubyforge.org/files/lib/text/figlet_rb.html and suchlike) [12:09:00.0000] <annevk> Ah, http://intertwingly.net/blog/2007/05/19/Ruby-HTML5-Parser-Tests-Pass says that too [15:13:00.0000] <Hixie> http://forum.mootools.net/viewtopic.php?pid=15695#15695 [15:15:00.0000] <jruderman> "are we really in 2nd Browser-War? is it really between XHTML 2.0 and HTML 5?" [15:17:00.0000] <Hixie> it gets better [15:17:01.0000] <Hixie> he talks about reading the minutes... of a 2004 meeting 2007-05-20 [18:28:00.0000] <jdandrea> Reality check Q - From Web Forms 2.0 section 2.3: "The size attribute of the input element is deprecated in favor of using CSS to specify the layout of the form." Thus, we should no longer expect to specify a text or password field width in (integer) number of characters, correct? [18:30:00.0000] <Dashiva> Since very few inputs use monospaced fonts, you didn't really have that option ever [18:32:00.0000] <jdandrea> Granted. [18:32:01.0000] <jdandrea> Still, I'm just asking. ;) [18:32:02.0000] <Dashiva> I suppose that's still legal :) [18:32:03.0000] <jdandrea> k [19:25:00.0000] <jdandrea> /me cheers - the Google Search Appliance multifunction stylesheet now outputs (currently) conformant HTML5. [01:14:00.0000] <mpt> Dashiva, I thought about comparing XHTML2 to Ido or Interlingua, but Esperanto is really quite close [01:15:00.0000] <mpt> Well-known but hardly-used, impractically different from English, but (with the retention of <h1>, <img>, etc) still not as "pure" as it could be (which is why Ido exists) [01:23:00.0000] <mpt> The "L" in "HTML" has sociolinguistic effects, just as the "H" has game-theory effects [05:01:00.0000] <met_> /me is not sure if http://blog.whatwg.org/feed-autodiscovery#comment-4244 is spam or not [05:05:00.0000] <Philip`> Looks like #3564 is, since it's repeating someone else's message [05:05:01.0000] <Philip`> /me can't tell with 4244 [05:49:00.0000] <Dashiva> Any URL with "shop" in it is suspect if you ask me [05:52:00.0000] <gsnedders> how many implementations actually accept @rel=feed already? [05:54:00.0000] <Philip`> Could just get rid of URLs entirely in the blog - I've never been sure what they're useful for, except as advertisements for people's own sites [05:55:00.0000] <Philip`> (since if you want to find out more information about a commenter, you can just put their name into a search engine) [06:40:00.0000] <Lachy> I deleted the comment as spam. I've decided that if there's even a hint that it's spam, it probably is [07:11:00.0000] <annevk> http://annevankesteren.nl/2007/05/wasting-resources#comments :) [07:12:00.0000] <zcorpan_> yeah, saw that [07:15:00.0000] <zcorpan_> http://groups.google.com/group/alt.html/browse_thread/thread/1fc66d394118dddf/2b4ee55d7e6e635d?lnk=st&rnum=1&hl=en#2b4ee55d7e6e635d [07:16:00.0000] <annevk> How is <span class="italic"> better than <i> [07:17:00.0000] <annevk> <shipname> _may_ be better than <i> but nobody will use it [07:18:00.0000] <annevk> To keep HTML easy to use we need something like <i>. Otherwise people will use <span class="italic"> which doesn't help processing tools or bandwidth usage [07:34:00.0000] <annevk> "Unless other specified, if a DOM attribute that is a signed numberic type is assigned a negative value, a NOT_SUPPORTED_ERR exception must be raised." Shouldn't that be "unsigned numeric" and maybe INDEX_SIZE_ERR ... [07:37:00.0000] <Philip`> /me thinks it should be "Unless otherwise specified" too [07:39:00.0000] <Philip`> With "Infinity or Not-a-Number", is it necessary to mention negative Infinity too? (or maybe say "non-finite" to cover all those cases) [07:41:00.0000] <annevk> negative infinity is important for the signed cases I suppose [07:44:00.0000] <annevk> Hopefully at some point someone gets around to writing the spec for ES <> DOM: http://esw.w3.org/topic/ESBindingIssues [07:45:00.0000] <Philip`> I guess it also matters when you use Infinity or NaN or 1e10 where the IDL wants an int, since as far as JS is concerned it's all just numbers [07:49:00.0000] <Philip`> There's also ImageData with "a data attribute whose value is an integer array", where I have no idea what should happen with e.g. [null, "1", 2.5, 3e9] [07:50:00.0000] <annevk> the spec defines that [07:51:00.0000] <annevk> 3e9 > 255 -> WRONG_TYPE_ERR (or something) [07:51:01.0000] <annevk> I guess null becomes 0 and "1" becomes 1 and 2.5 becomes 3... [07:52:00.0000] <annevk> or maybe 2 [07:57:00.0000] <Philip`> Would Math.pow(2,32)+128 get converted to an int before going through the 0<=x<=255 test? [07:57:01.0000] <Philip`> (At least Firefox and IE convert that value into 128 when they have to treat it as an int) [07:58:00.0000] <annevk> try it with [test()] [07:58:01.0000] <annevk> I think it would work... [07:59:00.0000] <jdandrea> Clarification Q: In HTML4, alt is optional for for the input element. In HTML 5, is it non-conforming for type="text"? (I see alt in Appendix A of Web Forms 2.0 but can't get it to pass in the conformance checker.) [07:59:01.0000] <jdandrea> s/for for/for [07:59:02.0000] <annevk> jdandrea, yes [07:59:03.0000] <annevk> jdandrea, although are you sure about HTML4? [08:00:00.0000] <jdandrea> annevk: At first I was under the impression that alt was _not_ allowed for text fields in HTML4 ... [08:00:01.0000] <jdandrea> annevk: Perhaps I'm misreading this though - http://www.w3.org/TR/html4/struct/objects.html#adef-alt [08:00:02.0000] <jdandrea> "The alt attribute must be specified for the IMG and AREA elements. It is optional for the INPUT and APPLET elements." [08:00:03.0000] <annevk> alt= is only valid for input type=image [08:01:00.0000] <annevk> in HTML5 [08:01:01.0000] <jdandrea> ok [08:01:02.0000] <annevk> and I think it's even required in that case [08:06:00.0000] <annevk> http://my.opera.com/community/forums/topic.dml?id=189245 (people asking questions about features in HTML5) [08:06:01.0000] <annevk> (this one is about <meta name=dns> :) ) [08:09:00.0000] <annevk> The problem people seem to have is the terminology [08:12:00.0000] <annevk> "host name" isn't exactly widely known 2007-05-21 [02:43:00.0000] <annevk> mikeday, what error? [02:51:00.0000] <mikeday> annevk, UTF-32 BOM detection [02:51:01.0000] <mikeday> will always misidentify UTF-32 as UTF-16 [02:51:02.0000] <mikeday> see my post "Drop UTF-32" on whatwg mailing list [02:53:00.0000] <annevk> ah right [02:55:00.0000] <mikeday> my HTML parser can now read and skip the BOM, although it can't yet do anything else :) [02:59:00.0000] <annevk> fixed [03:00:00.0000] <mikeday> that's good. I still think UTF-32 should be verboten, though :) [03:01:00.0000] <jeremyb> /me looks up verboten [03:02:00.0000] <mikeday> it's an IETF term [03:02:01.0000] <mikeday> CAN, MAY, SHOULD, MUST, and VERBOTEN [03:02:02.0000] <mikeday> I kid. [03:03:00.0000] <annevk> :p [03:04:00.0000] <mikeday> but seriously, who in their right mind would use it for bits over the wire? [03:04:01.0000] <mikeday> I mean, you might use it as an in-memory representation, perhaps. [03:04:02.0000] <mikeday> but sending it over TCP/IP is just nuts [03:04:03.0000] <annevk> in-memory people use UTF-16 [03:05:00.0000] <mikeday> well, we use UTF-8 [03:05:01.0000] <mikeday> but some people do use UTF-32, if they use C with wchar == int [03:05:02.0000] <mikeday> so it's not entirely unheard of. [03:06:00.0000] <mikeday> but no one uses it for web pages, nor should they, so BAN IT :) [03:06:01.0000] <annevk> isn't UTF-16 way easier to traverse over the characters without having to check them each? [03:06:02.0000] <mikeday> you still have surrogates in UTF-16 [03:07:00.0000] <mikeday> it depends what you're doing with the characters [03:07:01.0000] <mikeday> UTF-8 has some nice properties [03:07:02.0000] <mikeday> and if you're doing binary comparison of strings, you can just check bytes, not characters, and it's faster [03:07:03.0000] <mikeday> the choice of encoding to use for in-memory representations is quite specific to your use cases and environment. [03:08:00.0000] <mikeday> Linux tends to use UTF-8, Windows tends to use UTF-16 [03:08:01.0000] <jeremyb> mac? [03:08:02.0000] <jeremyb> solaris? posix? [03:09:00.0000] <mikeday> /me shrugs [03:09:01.0000] <mikeday> the unixy bits of MacOS X probably UTF-8, I don't know about higher layers though [03:11:00.0000] <mikeday> I'm not sure why Windows went with UTF-16, but could be related to making Microsoft Word work well in Japan [03:11:01.0000] <jeremyb> just japan or all of CJK? [03:11:02.0000] <mikeday> all of it, but no one was paying for software in China at the time :) [03:12:00.0000] <mikeday> UTF-8 isn't optimal for CJK, and using it would have been a disadvantage compared to local apps using JIS or whatever [03:12:01.0000] <mikeday> and coding up two versions of Word for each version was becoming a nuisance... [03:12:02.0000] <mikeday> /me shrugs [03:12:03.0000] <mikeday> just a guess. [03:13:00.0000] <mikeday> For UNIX systems the weight of experience with C string processing is enough to make UTF-8 sound more attractive [03:13:01.0000] <mikeday> and who knows, maybe increased processor speed and memory make the down side less of a problem for non-Latin users [03:14:00.0000] <gsnedders> Mac OS X uses UTF-16 for Cocoa, and NFKC UTF-8 for the POSIX layer [03:14:01.0000] <mikeday> right, that's what I figured [03:14:02.0000] <gsnedders> actually, that's wrong. [03:14:03.0000] <gsnedders> it isn't NFKC… [03:14:04.0000] <mikeday> right, then I'm wrong :) [03:15:00.0000] <gsnedders> UTF-8-MAC [03:15:01.0000] <mikeday> hmm, that's not another broken UTF-8 variant is it? [03:15:02.0000] <gsnedders> http://developer.apple.com/qa/qa2001/qa1173.html [03:15:03.0000] <gsnedders> mikeday: some characters are forbidden [03:16:00.0000] <gsnedders> mikeday: and NFD [03:16:01.0000] <mikeday> so it's just a pure subset of UTF-8? [03:16:02.0000] <gsnedders> mikeday: it's really just NFD UTF-8, but it MUST be NFD. no other normalisation form is allowed. [03:16:03.0000] <mikeday> that's not so bad then [03:17:00.0000] <mikeday> not really an "encoding" in the XML/HTML sense, I suppose [03:17:01.0000] <mikeday> even if it could be used over the wire, eg. with SAMBA or NFS [03:19:00.0000] <gsnedders> UTF-8 NFD is used for FS, UTF-16 is used for Core Foundation, and I don't know what else is allowed where [03:20:00.0000] <mikeday> we use UTF-8 during font enumeration via ATS [03:21:00.0000] <gsnedders> Carbon, I think, uses UTF-8 [03:22:00.0000] <mikeday> do you have an opinion on the question of forbidding UTF-32 from HTML? :) [03:22:01.0000] <gsnedders> mikeday: see my email [03:22:02.0000] <mikeday> /me checks [03:22:03.0000] <gsnedders> <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-May/011330.html> [03:22:04.0000] <mikeday> true, the implementors burden is not huge [03:23:00.0000] <mikeday> but I gave other reasons as well :) [03:23:01.0000] <gsnedders> Forbidding it serves no practice use. [03:23:02.0000] <mikeday> neither does allowing it [03:24:00.0000] <mikeday> which is in effect compelling user agents to support it, or risk appearing non-compliant, [03:24:01.0000] <mikeday> even if the spec technically doesn't require them to support it [03:24:02.0000] <gsnedders> If we start off by accepting any character set is allowed, what advantages does banning it give us, and what disadvantages do we have? [03:24:03.0000] <mikeday> it also makes it look as if using UTF-32 for web pages is not an insane thing to do :) [03:25:00.0000] <annevk> mikeday, last I heard implementing it is not that difficult... [03:25:01.0000] <gsnedders> but they're no more compelled to support it than any other of the many encodings registered [03:25:02.0000] <gsnedders> annevk: it's _VERY_ easy to implement [03:26:00.0000] <mikeday> annevk, how about implementing it *correctly* :P [03:26:01.0000] <gsnedders> mikeday: still _VERY_ easy [03:27:00.0000] <annevk> mikeday, you implement a very slick C parser for HTML and I'll add the UTF-32 support :p [03:27:01.0000] <annevk> (with very slick I also mean fast and such :) ) [03:27:02.0000] <mikeday> the HTML5 spec also provides two BOMs for UTF-32, while the XML spec suggests 4, including unusual byte orders [03:28:00.0000] <annevk> Prolly copied from some implementation... [03:29:00.0000] <jeremyb> what's a BOM? [03:29:01.0000] <annevk> byte order mark [03:29:02.0000] <mikeday> better to say that if UTF-32 is used, it should be specified by name, not automagically identified by BOM [03:29:03.0000] <jeremyb> ahh [03:29:04.0000] <gsnedders> most implementations will have some method to create characters in the internal representation of the characters from a unicode code-point, and then you can just read it from a BE/LE stream [03:29:05.0000] <gsnedders> mikeday: UTF-32 is unclear in name, can be BE or LE [03:29:06.0000] <mikeday> as FE FF 00 00 is almost certainly UTF-16 with a null character, not UTF-32 [03:30:00.0000] <gsnedders> U+00 is disallowed in HTML [03:30:01.0000] <gsnedders> converted to the code replacement point in the input stream [03:30:02.0000] <annevk> jeremyb, it is an optional set of bytes at the start of a byte stream that identifies how to interpret the rest of the stream [03:30:03.0000] <mikeday> yes, but in practice I bet it's more common to find pages with nulls than pages using UTF-32 [03:31:00.0000] <gsnedders> mikeday: I'd bet otherwise :P [03:31:01.0000] <mikeday> especially pages generated by CGI or whatever [03:31:02.0000] <mikeday> really?? have you ever seen a page written in UTF-32? Or are you writing one right now? :) [03:31:03.0000] <jeremyb> annevk: right... this is processor dependant, right? [03:32:00.0000] <gsnedders> mikeday: I've seen pages with U+00 and UTF-32 pages. I think the latter would be more common [03:32:01.0000] <annevk> jeremyb, I'm not sure I understand that question [03:32:02.0000] <gsnedders> jeremyb: the order of the bytes of the BOM shows whether it is big/little/middle endian [03:32:03.0000] <gsnedders> jeremyb: (as I assume you are referring to endianness) [03:32:04.0000] <mikeday> gsnedders, oh, I've only seen the former, never the latter. Have to ask Hixie to check the google cache for a definitive resolution on this one, I guess :) [03:32:05.0000] <gsnedders> mikeday: most probably. [03:32:06.0000] <jeremyb> never heard of middle before. yes i was talking about endianness [03:33:00.0000] <gsnedders> mikeday: more to the point, how many UTF-16 docs start with BOM then U+00 [03:33:01.0000] <mikeday> true, that must narrow it down somewhat :) [03:33:02.0000] <gsnedders> jeremyb: middle is rare nowadays, but exists. more common in other subject matters (like middle endian dates, which start with the month) [03:33:03.0000] <mikeday> as not many people use UTF-16 on the web either :) [03:33:04.0000] <jeremyb> /me supposes that he should read up on endianness [03:34:00.0000] <gsnedders> sometimes I feels odd telling people such things knowing that almost certainly everyone here is older than me :P [03:34:01.0000] <jeremyb> /me avoids middle endian dates [03:34:02.0000] <mikeday> dates could do with a BOM as well [03:34:03.0000] <jeremyb> how old are you? [03:34:04.0000] <gsnedders> /me had to use little endian dates in his exam [03:34:05.0000] <gsnedders> jeremyb: 15 [03:34:06.0000] <mikeday> sometimes it's hard to tell, eg. with 02/03/04 [03:34:07.0000] <gsnedders> *exams [03:35:00.0000] <gsnedders> mikeday: HAH! D/M/Y as the first char? [03:36:00.0000] <jeremyb> gsnedders: i know how you feel although i'm not quite that young [03:36:01.0000] <gsnedders> jeremyb: I've been around here since I was… 13 maybe? [03:37:00.0000] <gsnedders> but near my 14th birthday [03:38:00.0000] <jeremyb> you've been on IRC longer than i have! [03:39:00.0000] <gsnedders> Oh, I've in IRC longer. [03:39:01.0000] <gsnedders> just nowhere near WHATWG [03:39:02.0000] <gsnedders> though mainly all I talk about on IRC is my lust life :P [04:48:00.0000] <mikeday> I noticed that Sam Ruby has made a HTML parser in... Ruby [04:48:01.0000] <annevk> at some point it'll support <ruby> too [04:49:00.0000] <mikeday> hah! [04:49:01.0000] <mikeday> that would be so awesome :) [04:50:00.0000] <mikeday> I wonder if anyone has ever tried using <ruby> equivalent to <script language="ruby"> [04:51:00.0000] <othermaciej> we need Ruby's ruby <ruby> parser [04:51:01.0000] <mikeday> hmm, sung to the tune of "Ruby ruby" [04:51:02.0000] <mikeday> http://www.oldielyrics.com/lyrics/dion_and_the_belmonts/ruby_baby.html [04:53:00.0000] <krijnh> /me adds it to http://krijnhoetmer.nl/lyrics/ :+ [04:55:00.0000] <Jero> http://lyrics.doheth.co.uk/songs/kaiser-chiefs/yours-truly-angry-mob/ruby.php > that one [04:57:00.0000] <mikeday> guess perl and python don't have that many songs about them [04:59:00.0000] <Jero> does Perl Jam count? >_> [04:59:01.0000] <Jero> and don't forget that Perl has its own Pokemon game [05:03:00.0000] <Jero> oh wait, that should be Pearl of course [05:04:00.0000] <annevk> Python has Monty Python [05:04:01.0000] <annevk> that should be enough [05:06:00.0000] <Jero> annevk: how's the university of utrecht? [05:07:00.0000] <annevk> I'm not there much, but it's pretty cool [05:07:01.0000] <Jero> you're doing computer science, right? [05:08:00.0000] <annevk> I'm actually doing information science [05:08:01.0000] <annevk> but I'm planning to follow all courses of computer science that seem interesting (and am already doing so) [05:09:00.0000] <Jero> oh wow :p [05:10:00.0000] <annevk> (I'm "skipping" this semester though. Doing a research project instead.) [05:10:01.0000] <annevk> /me is in Oslo because of that [05:10:02.0000] <Jero> sweet [05:11:00.0000] <Jero> i'm still sort of deciding what to do next year [05:12:00.0000] <Jero> /me also lives in the Netherlands [05:12:01.0000] <gsnedders> /me is listening to Ruby by Kaiser Chiefs from Yours Truly, Angry Mob [05:12:02.0000] <gsnedders> that wouldn't be so scary if you weren't talking about that a few minutes ago. [05:26:00.0000] <Philip`> /me wonders if it'd be interesting to make an HTML compressor, that uses all the error handling rules of HTML5 to make totally non-conforming documents that get parsed exactly the same as the original and are as small as possible [05:29:00.0000] <peepo> svgz? [05:29:01.0000] <peepo> htmlz... [05:29:02.0000] <annevk> The idea of having error handling defined is that we can modify bits of it in due course... [05:32:00.0000] <annevk> Although not lightly, of course... [05:41:00.0000] <Jero> If there is no furthest block, ... pop all the nodes ... from the current node up to the formatting element... [05:41:01.0000] <Jero> just to be sure, that doesn't include the formatting element, right? [05:43:00.0000] <annevk> don't think so [05:44:00.0000] <annevk> heh [05:44:01.0000] <annevk> exactly 42 web forms 2 repetition tests [05:44:02.0000] <annevk> the forms dir on tc.labs.opera.com/html/ contains 224 tests [05:47:00.0000] <annevk> So I just read http://www.456bereastreet.com/archive/200705/browsers_will_treat_all_versions_of_html_as_html_5/ again. Why would changing our behavior for a new version of HTML make stuff easier for developers? [05:47:01.0000] <annevk> We'll have a new set of bugs specific to the new version and transitioning old content to HTML5 becomes harder, etc. [05:48:00.0000] <annevk> There are so many obvious problems for developers and yet they don't seem to realize them?? [06:28:00.0000] <karlUshi> python joke. cf the previous discussions [06:28:01.0000] <karlUshi> http://www.redmountainsw.com/wordpress/archives/a-joke-in-the-python-interpreter [06:45:00.0000] <annevk> Philip`, is it easy to modify your survey tool to check how often the adoption agency algorithm is triggered? Especially the clone node operation in it... [06:51:00.0000] <Philip`> If there's somewhere in the html5lib code where it could poke some value that I could read out again after parsing, then I guess that'd be easy enough [06:54:00.0000] <Philip`> (But "survey tool" makes it sound more impressive and useful than just being the non-representative collection of a couple of thousand pages with a parser being called on them in a loop which is all it really is :-) ) [07:00:00.0000] <annevk> hehe [07:00:01.0000] <annevk> I think you'd have to make such a value yourself [07:06:00.0000] <Jero> 6. Let a bookmark note the position of the formatting element in the list of active formatting elements... [07:06:01.0000] <Jero> hmm, I guess that line should be rephrased a little [07:06:02.0000] <Jero> (step 6 of the adoption agency) [07:08:00.0000] <Jero> oh nvm, i understand it now, note is used as a verb here [07:19:00.0000] <Philip`> annevk: I ought to have time this afternoon to try looking at that [07:21:00.0000] <annevk> cool [07:21:01.0000] <annevk> Jero, btw, I'd aim for making a full parser at first and create filtering tools for it later [07:22:00.0000] <annevk> Jero, that makes it more usable for other people who want to use it where support for <blah> and <link> is important [07:22:01.0000] <Jero> yeah, that's sort of what i'm doing now [07:22:02.0000] <annevk> cool :) [07:22:03.0000] <Jero> but first i need the adoption agency working properly [07:25:00.0000] <Philip`> It seems worrying that the adoption agency sometimes cuts its children into multiple pieces [07:26:00.0000] <annevk> it clones them [07:26:01.0000] <annevk> and distributes them among parents afterwards [07:27:00.0000] <Philip`> But the content of the original tags gets split apart and spread between all the clones [07:28:00.0000] <Philip`> I'm sure that kind of thing can't be legal [07:29:00.0000] <annevk> :p [07:37:00.0000] <gsnedders> I need to do something about the tree construction… but probably better to get the other stuff working fix :P [07:37:01.0000] <gsnedders> *first [07:41:00.0000] <Jero> where in the algorithm do P elements close elements such as A and B? [07:41:01.0000] <annevk> why would <p> close them? [07:42:00.0000] <annevk> <a><p>test</p></a> is legal [07:42:01.0000] <Jero> or really, sweet [07:42:02.0000] <annevk> well, "legal" [07:42:03.0000] <annevk> <b><p>test</p></b> should work too [07:42:04.0000] <Jero> yeah, i know what you mean :p [07:43:00.0000] <annevk> <b><p>test</b></p> makes things interesting... [07:45:00.0000] <Jero> hmm, but when I look at the testcase with the code "<a><p>X<a>Y</a>Z</p></a>" in http://html5lib.googlecode.com/svn/trunk/tests/tree-construction/tests1.dat , the parser closes the first A element when it sees the P element [07:45:01.0000] <annevk> you make incorrect assumptions [07:46:00.0000] <annevk> the magic happens the moment you hit the second <a> [07:46:01.0000] <annevk> not when you hit <p> [07:46:02.0000] <Jero> ah [08:08:00.0000] <annevk> /me curses the internal subset [08:15:00.0000] <annevk> FWIW: We won't drop support for UTF-32 [08:19:00.0000] <zcorpan_> annevk: why not? [08:19:01.0000] <annevk> There's no good reason not to support it [09:24:00.0000] <annevk> http://www.andybudd.com/archives/2007/05/xtech_2007/ [09:31:00.0000] <Dashiva> "other interface languages like MXML and ZUL" [09:32:00.0000] <annevk> yeah... [09:37:00.0000] <Philip`> annevk: Which clone node operation do you mean? On 2274 pages, I see the clone in step 7.5 being called at least once on 5 pages, and the one in step 9 on 149 pages [09:48:00.0000] <annevk> can you count how many times they are being hit? [09:51:00.0000] <Philip`> The 7.5 one was 7 times, the 9 one was 691 times [09:53:00.0000] <Philip`> (Worst offender: http://www.ed.gov/parents/needs/speced/iepguide/index.html which runs that step 62 times) [09:56:00.0000] <Philip`> (I assume it's the stuff like "<i><b><p>Parents</b></i> are key members of the IEP team.") [10:04:00.0000] <annevk> ouch [10:05:00.0000] <annevk> that's a lot of additional node [10:05:01.0000] <annevk> s [10:06:00.0000] <annevk> although it's less than one node per page extra on average [10:06:01.0000] <annevk> would be nice if Hixie could test this [10:19:00.0000] <zcorpan_> not much has been posted at the whatwg blog lately [10:23:00.0000] <Dashiva> Except those spam posts :) [12:12:00.0000] <annevk> /me goes to order a t-shirt [12:16:00.0000] <zcorpan_> annevk: a black one or a white one? :) [12:18:00.0000] <annevk> black [12:18:01.0000] <annevk> 25 dollars [12:19:00.0000] <annevk> better be good [12:19:01.0000] <annevk> and it better arrives next week... [12:19:02.0000] <zcorpan_> a 5 > 2 t-shirt? [12:19:03.0000] <annevk> (I guess that's unlikely) [12:19:04.0000] <annevk> yeah [12:20:00.0000] <annevk> including shipping cost [12:20:01.0000] <zcorpan_> i got mine after 3 days iirc [12:20:02.0000] <annevk> sounds good [12:20:03.0000] <annevk> that means I can actually wear it when I'm speaking [12:20:04.0000] <annevk> XML5: 47 DOCTYPE tokenizer states and 71 in total [12:21:00.0000] <Dashiva> How about just... pretending there's no such thing [12:21:01.0000] <Dashiva> Go bogus comment immediately [12:21:02.0000] <annevk> Ubuntu: doesn't install on a T60 Widescreen [12:21:03.0000] <Dashiva> Would that destroy roundtripping, maybe [12:22:00.0000] <annevk> Would destroy default attribute values [12:22:01.0000] <annevk> Would also destroy entities... [12:22:02.0000] <Dashiva> No, once you see <!doctype I mean [12:23:00.0000] <Dashiva> Oh wait, nm. Silly [12:26:00.0000] <annevk> zcorpan_, when is your presentation? [12:27:00.0000] <zcorpan_> wednesday [12:27:01.0000] <annevk> you'll put it online at some point? [12:27:02.0000] <zcorpan_> yeah [12:27:03.0000] <zcorpan_> http://simon.html5.org/temp/html5-geekmeet.html [12:28:00.0000] <annevk> oh, cool [12:28:01.0000] <annevk> /me looks [12:28:02.0000] <zcorpan_> some things are commented out [12:28:03.0000] <annevk> lang=sv [12:28:04.0000] <annevk> ah [12:28:05.0000] <zcorpan_> i'll expand on canvas and wf2 too [12:28:06.0000] <zcorpan_> though i don't know much about canvas :| [12:29:00.0000] <annevk> that looks quite neat [12:29:01.0000] <zcorpan_> thanks [12:30:00.0000] <zcorpan_> i might translate the slides to english afterwards [12:30:01.0000] <annevk> my next presentation will be "inspired" by yours ;) [12:30:02.0000] <Lfe> zcorpan_: where is geekmet this wednesday? stockholm? [12:30:03.0000] <zcorpan_> Lfe: yeah [12:30:04.0000] <zcorpan_> http://www.robertnyman.com/2007/04/26/geek-meet-may-2007-html-5-and-xhtml/ [12:31:00.0000] <Lfe> darn, missed that one :( [12:31:01.0000] <annevk> zcorpan_, so Opera actually parses this HTML5 crap correctly? :) [12:31:02.0000] <zcorpan_> annevk: yep :) [12:31:03.0000] <annevk> /me used XHTML5 so far to avoid the issue [12:31:04.0000] <zcorpan_> Lfe: it's not too late to sign up [12:33:00.0000] <zcorpan_> annevk: omitting optional tags in combination with the new tags doesn't quite work [12:33:01.0000] <annevk> yeah ok [12:33:02.0000] <zcorpan_> but otherwise it works fine [12:33:03.0000] <zcorpan_> <datalist><option></datalist> for instance (think i've filed a bug about that one) [12:34:00.0000] <annevk> yeah [12:34:01.0000] <annevk> note that the parsing algorithm doesn't define stuff like that so far... [12:36:00.0000] <zcorpan_> right [12:36:01.0000] <annevk> (not sure who I'm talking to here, everybody knows that :) ) [12:38:00.0000] <zcorpan_> i'm supposed to explain how <canvas> works. i need some help with that :) [12:38:01.0000] <Lfe> zcorpan_: true, but i don't live there.. so kinda hairy to make all the arrangements :( [12:39:00.0000] <zcorpan_> Lfe: where do you live? [12:39:01.0000] <Lfe> zcorpan_: kalmar [12:39:02.0000] <zcorpan_> ok [12:40:00.0000] <annevk> zcorpan_, you select the element, get the 2d context on it and draw stuff [12:41:00.0000] <zcorpan_> /me makes notes [12:41:01.0000] <annevk> search for <canvas in http://lists.w3.org/Archives/Public/www-archive/2007May/att-0063/html5-short.xml [12:42:00.0000] <zcorpan_> annevk: thanks [12:42:01.0000] <annevk> http://lists.w3.org/Archives/Public/www-archive/2007Apr/att-0036/html5.xml has a simple drawing application using <canvas> [12:43:00.0000] <annevk> (although you can't actually see it in non-presentation mode) [12:43:01.0000] <zcorpan_> yup. i was thinking of showing some cool canvas demos at the presentation, though i won't embed them in the actual presentation [12:43:02.0000] <zcorpan_> probably just link to them and switch between tabs [12:44:00.0000] <annevk> for my next presentation I'd like to show the doom game [12:44:01.0000] <zcorpan_> yeah [12:45:00.0000] <annevk> btw, when will you start? [12:45:01.0000] <annevk> not until July or earlier? [12:45:02.0000] <zcorpan_> at opera? [12:45:03.0000] <zcorpan_> week 25 [12:45:04.0000] <annevk> when is that? :) [12:46:00.0000] <zcorpan_> http://vecka.nu/ [12:46:01.0000] <annevk> ok, so around the 20th of June [12:46:02.0000] <zcorpan_> 18 june [12:46:03.0000] <zcorpan_> yeah [12:46:04.0000] <annevk> cool [12:46:05.0000] <Lfe> i made a widget for that some months ago, it's insane how hard it is to find the current week num :) [12:47:00.0000] <annevk> maybe I should try to go to Sweden for a week or so [12:47:01.0000] <zcorpan_> i'll probably quit studying after the summer and start to work instead [12:47:02.0000] <zcorpan_> annevk: when? [12:47:03.0000] <annevk> when you're around, of course :) [12:48:00.0000] <annevk> i meant to the Linkoping office [12:48:01.0000] <zcorpan_> ok [12:48:02.0000] <annevk> or will you go to Oslo? [12:48:03.0000] <zcorpan_> no [12:48:04.0000] <annevk> right [12:49:00.0000] <zcorpan_> i'll be in linköping the first week i think, then i'll only be there occasionally [12:49:01.0000] <annevk> ah ok [12:50:00.0000] <hasather> annevk: will you be in Oslo most of the summer? [12:50:01.0000] <zcorpan_> would be cool to meet, then i can practice my dutch a bit too :) [12:51:00.0000] <annevk> hasather, yeah, sort of [12:51:01.0000] <annevk> hasather, as in, when I'm not travelling I'll be in Oslo [12:51:02.0000] <annevk> /me is in Oslo right now, fwiw [12:52:00.0000] <hasather> ok, I'll start June 11th [13:08:00.0000] <hasather> annevk: what kind of problems did you have with Ubuntu btw? Works nicely on my Z60m, but I don't know how much differs between them [13:16:00.0000] <Philip`> Someone just needs to implement an HTML5 parser in JavaScript, and then you could do something like in http://canvex.lazyilluminati.com/misc/sexp.html to enable the new parsing algorithm in legacy browsers [13:43:00.0000] <zcorpan_> /me ponders whether the html5 spec should distinguish between "element" and "element type" [13:47:00.0000] <hasather> zcorpan_: preferrably, but 'element' is probably clear enough. That's what most people use to refer to both terms [13:48:00.0000] <zcorpan_> yeah. i guess it isn't really ambiguous in context [16:48:00.0000] <zcorpan_> hm, how do we solve the gmail problem of not being able to use real links because of Referer? use a new attribute <a secrethref="">? [16:49:00.0000] <othermaciej> zcorpan_: maybe just a noreferrer attribute? [16:49:01.0000] <othermaciej> I would guess only <a> needs it [16:49:02.0000] <Hixie> and <img> [16:49:03.0000] <othermaciej> for <script> or <img> it could be a security issue to skip referrer [16:50:00.0000] <zcorpan_> othermaciej: but then legacy UAs would still send the Referer [16:50:01.0000] <othermaciej> for <img> you clearly don't want it, since it would make hotlinking undetectable [16:50:02.0000] <Hixie> <img> in an HTML e-mail shouldn't send Referer headers [16:50:03.0000] <Hixie> (welcome to conflicting requirements) [16:50:04.0000] <othermaciej> <img> to an external resource in HTML e-mail shouldn't display by default, and possibly not at all [16:51:00.0000] <othermaciej> just pinging the server back at all is a privacy concern [16:51:01.0000] <Hixie> not by default, sure [16:51:02.0000] <othermaciej> Referer doesn't really add much privacy violation beyond just loading the <img> [16:51:03.0000] <Hixie> depends what's in the url [16:53:00.0000] <othermaciej> put it this way, someone who isn't out to violate your privacy would likely embed the image rather than making it an external reference, since in most mail clients these days you have to go out of your way to do the latter; and if they are out to violate your privacy, they could do much worse by careful URL design than with Referer [16:54:00.0000] <Hixie> i don't deny any of that [16:54:01.0000] <Hixie> i'm just saying there are also requests for not passing referrers for <img>s [16:54:02.0000] <Hixie> whether we satisfy those requests or not is another question [16:54:03.0000] <zcorpan_> <a>link text <href>http://...</href></a> -- that would be backwards compatible [16:55:00.0000] <Hixie> kinda [16:55:01.0000] <zcorpan_> you could script that for legacy UAs to fake the link [16:56:00.0000] <zcorpan_> or just leave it and let the user copy the URL [16:56:01.0000] <Hixie> you could script the other one too [16:56:02.0000] <zcorpan_> yeah, but the user wouldn't know the URL without script [16:58:00.0000] <zcorpan_> how does gmail handle links in its "html basic" version? [16:58:01.0000] <Hixie> no i mean <a href="..." noreferer> could be scripted [16:58:02.0000] <Hixie> dunno, try it [16:58:03.0000] <zcorpan_> yeah but then legacy UA would still send Referer... isn't that an issue? 2007-05-22 [17:00:00.0000] <zcorpan_> gmail html basic has plain links [17:00:01.0000] <zcorpan_> <a href="..." target="_blank"> [17:08:00.0000] <Hixie> zcorpan_: so i guess at least for gmail it's not an issue [17:08:01.0000] <zcorpan_> yeah [17:12:00.0000] <zcorpan_> <input title="name"type="text"> that fails wcag 2.0 because of lack of whitespace between the attributes [17:13:00.0000] <Hixie> o_O [17:13:01.0000] <zcorpan_> see 4.1.1 in http://www.w3.org/TR/WCAG20-TECHS/ [17:21:00.0000] <zcorpan_> search for "SCR24: Using script to open a new window" to find the accessible version of target="_blank" [17:24:00.0000] <zcorpan_> font-size must also be specified with %, apparently [17:25:00.0000] <zcorpan_> or am i misreading the document? the next technique contradicts that [17:26:00.0000] <othermaciej> zcorpan_: wait, why is that an accessibility issue? [17:27:00.0000] <zcorpan_> othermaciej: because ie6 can't change the text size if you specify "absolute" units [17:27:01.0000] <othermaciej> not the % thing, the lack of whitespace between attributes [17:27:02.0000] <zcorpan_> oh [17:28:00.0000] <zcorpan_> yeah, dunno [17:28:01.0000] <zcorpan_> the document also says that <p>foo<p>bar</p> in XHTML is a fail, because it is "unclear" whether the second paragraph is a child or a sibling to the first [17:38:00.0000] <othermaciej> so they're assuming XHTML will be processed with an error-correcting html parser? [17:38:01.0000] <zcorpan_> i have no clue [17:39:00.0000] <zcorpan_> in html, it is not unclear at all. in xml, it's not unclear at all either [17:39:01.0000] <othermaciej> it's unclear if you don't know what parser will be used [17:39:02.0000] <othermaciej> but then they could just say that [17:39:03.0000] <zcorpan_> indeed [17:41:00.0000] <zcorpan_> if that's what they meant, then it's equally unclear how <noscript> will be parsed [17:56:00.0000] <bewest> is there a list of elements categorized by block/inline level? [17:58:00.0000] <zcorpan_> don't think so [18:04:00.0000] <webben> How does the HTML5 table algorithm prevent a <th scope="rowgroup"> from being part of a <th scope=col">? [18:11:00.0000] <zcorpan_> webben: i don't understand the question [18:13:00.0000] <webben> zcorpan_: here's an example from something I'm working on. First a simple table with rows and cols: http://uk.biz.yahoo.com/16/index.html [18:13:01.0000] <webben> 2nd the same thing, but organized into rowgroups http://uk.biz.yahoo.com/16/sector.html [18:13:02.0000] <webben> now in the first instance, scope="col" for the top headers works for all the row headers [18:14:00.0000] <webben> but this can't work in the second instance since the sectors are in that column as per HTML4 spec [18:16:00.0000] <zcorpan_> i still don't understand the problem [18:18:00.0000] <zcorpan_> i wonder if it's possible to implement the html5 table algorithm with JS, so that when you hover a data cell, its header cells are highlighted, and when you hover a table cell, its data cells are highlighted [18:18:01.0000] <zcorpan_> that would be really useful [18:19:00.0000] <zcorpan_> s/table cell/header cell/ [18:19:01.0000] <webben> Hmm. Well if I understand the HTML4 spec correctly, the sector th's are in the first column. Therefore if you have a th with scope="col" it would technically imply itself to be a header for the sector th's. [18:19:02.0000] <webben> zcorpan_: well, we've got that for headers/ids but not for scope yet [18:19:03.0000] <webben> (Firefox Accessibility Extension) [18:20:00.0000] <webben> it is rather useful :) [18:20:01.0000] <zcorpan_> oh, didn't know about it [18:20:02.0000] <webben> http://firefox.cita.uiuc.edu/ ... that one, get the beta version. Navigation menu, Data tables. [18:20:03.0000] <webben> dunno why scope doesn't work with it though [18:21:00.0000] <webben> maybe firefox ignores it [18:21:01.0000] <webben> not sure [18:21:02.0000] <webben> or maybe it's because it's primarily a testing tool and only secondarily a user tool [18:22:00.0000] <zcorpan_> maybe firefox ignores both of headers and scope, but headers is easier to implement with the extension [18:24:00.0000] <webben> Actually I guess since it will be using the DOM, what FF does with headers and scope is irrelevant. [18:24:01.0000] <zcorpan_> yeah [18:27:00.0000] <othermaciej> webben: does the HTML5 table algorithm allow headers to have headers? [18:28:00.0000] <webben> othermaciej: If it doesn't, then that's even more problematic. Seeing as in real tables, headers often have headers. [18:28:01.0000] <webben> othermaciej: i agree the draft seems unclear on that point ... i was wondering it myself [18:28:02.0000] <webben> if HTML5 doesn't allow th to have headers than the attrib should be non-conforming for th [18:28:03.0000] <zcorpan_> what attribute? [18:29:00.0000] <webben> HTML4 clearly does allow th to have headers [18:29:01.0000] <zcorpan_> "clearly"? [18:29:02.0000] <webben> oh wait... yeah good point it can't do it by disallowing headers since it doesn't have headers [18:29:03.0000] <webben> zcorpan_: well yeah ... both th and td have headers attribute [18:30:00.0000] <webben> they could easily have made the headers attrib non-conforming for th [18:30:01.0000] <zcorpan_> webben: right. it was more convenient to write the DTD in that way... :P [18:30:02.0000] <zcorpan_> /me doesn't think html4 is clear about this at all [18:30:03.0000] <zcorpan_> or anything for that matter [18:31:00.0000] <webben> Hmm. I can't really believe that including headers attribute for th was for shortening the length of DTD. [18:31:01.0000] <zcorpan_> i don't know the rationale [18:32:00.0000] <webben> interesting the example in 11.4.1 shows use of the scope attrib with td [18:32:01.0000] <webben> the spec explains: "Although the first cell in each row contains data, not header information, the scope attribute makes the data cell behave like a row header cell. This allows speech synthesizers to provide the relevant course name upon request or to state it immediately before each cell's content." [18:33:00.0000] <zcorpan_> yeah, not sure if having cells act as both data cells and header cells is a good thing or not [18:33:01.0000] <webben> I guess the important thing is to devise ways of clearly expressing relationships between data. [18:34:00.0000] <webben> and not let the header/non-header thing devolve into an even more presentational distinction [21:02:00.0000] <Hixie> hm [21:02:01.0000] <Hixie> someone should post a blog entry about our progress with w3c [21:02:02.0000] <Hixie> any volunteers? :-) [21:07:00.0000] <jcgregorio> working on it right now :) [21:08:00.0000] <Hixie> sweet [21:08:01.0000] <jcgregorio> don't know which title to use, [21:08:02.0000] <jcgregorio> "jaw drop", or "OMG WTF?!?!" [21:09:00.0000] <Hixie> i recommend staying away from too much sarcasm ;-) [21:10:00.0000] <jcgregorio> heh, agreed. [21:18:00.0000] <jcgregorio> http://bitworking.org/news/178/The-W3C-s-next-generation-HTML-specification [21:19:00.0000] <Hixie> oh i meant on the whatwg blog :-) [21:20:00.0000] <Hixie> i love the first comment on http://bitworking.org/news/3270_Redux [21:23:00.0000] <jcgregorio> yeah, Dare, ever the optimist [21:24:00.0000] <jcgregorio> last comment is good too, I forgot that this was around the time that the w3c was angling for some Atom love... [21:43:00.0000] <jruderman> h3h! [21:43:01.0000] <h3h> hey [21:44:00.0000] <h3h> how goes it? [21:49:00.0000] <jruderman> it's intern season here at mozilla [21:49:01.0000] <jruderman> fun times [23:11:00.0000] <Hixie> i'm very good at writing long run-on sentences in specs [23:11:01.0000] <Hixie> that's sad, since that's a bad thing. [23:11:02.0000] <othermaciej> you are indeed [23:12:00.0000] <othermaciej> I'll do my best to complain when I get the chance [23:35:00.0000] <zcorpan_> anyone know what "malformed" would be in swedish? [03:13:00.0000] <annevk> hasather, something goes wrong with partition making [03:13:01.0000] <annevk> hasather, it also didn't get the resolution right, but that was fixable [03:16:00.0000] <annevk> Documents such as "<!DOCTYPE html [ <!ENTITY name '&name;x'> ]><html>&name;</html>" are now parsed... [03:16:01.0000] <annevk> You end up with <html>xxxxxxxxxxxxxxxx</html> [03:16:02.0000] <annevk> (The loop limit is 16.) [03:17:00.0000] <Dashiva> So no billions then [03:17:01.0000] <annevk> I thought it would be better to prevent that right from the start :-) [03:20:00.0000] <Lachy> why allow it to loop at all? Why not prevent any recursion, so it would only output 1 x [03:20:01.0000] <hasather> annevk: ok. Have a look at this and see if it's any help: http://thinkwiki.org/wiki/Installing_Ubuntu_6.10_(Edgy_Eft)_on_a_ThinkPad_T60 (that site is great for ThinkPad users btw) [03:21:00.0000] <annevk> Lachy, because there's tons of ways to do looping and this way it catches all of them [03:21:01.0000] <annevk> Lachy, it also prevents the billion laughs attack etc. [03:24:00.0000] <Lachy> what's the billion laughs attack? [03:24:01.0000] <Dashiva> Uses looping entities to generate a document with a billion 'laugh' [03:25:00.0000] <Dashiva> One entity generates two, which each generate two, etc [03:25:01.0000] <Dashiva> *non-looping [03:51:00.0000] <gsnedders> bleh. rss-public is trying to work out Dave Winer's intent of a statement in RSS 2.0, for the purposes of clarifying the spec [03:51:01.0000] <annevk> lol [03:52:00.0000] <annevk> looking at specs is so the wrong way to solve actual problems (most of the time) [03:52:01.0000] <gsnedders> "A RSS feed may contain elements not described on this page, only if those elements are defined in a namespace." — are you allowed namespaced attributes on core elements? [03:52:02.0000] <Dashiva> And the RSS "specs" make HTML 4.01 look well-defined [03:53:00.0000] <annevk> Something with my entities stuff is messed up [03:53:01.0000] <annevk> bah [03:53:02.0000] <gsnedders> Rogers Cadenhead has cited several other things that Dave Winer said on the subject matter, which say yes in answer to that question. [04:10:00.0000] <mpt> ooh, that's like constitutional interpretation [04:10:01.0000] <mpt> Going just by the spec = strict constructionist [04:10:02.0000] <mpt> Researching Dave's other writings = original intent [04:13:00.0000] <mpt> But one thing I learnt in legal history class is that for interpretive purposes, you shouldn't rely on the writings of any legal authority until they've died [04:13:01.0000] <mpt> because if they're still alive, they might change their mind [04:13:02.0000] <mikeday> hmm, I hope you're not suggesting killing Hixie after HTML5 goes Rec :) [04:14:00.0000] <mpt> No, I'm suggesting that we go by what the spec says rather than by what he posts elsewhere [04:15:00.0000] <mpt> though of course he's free to update the spec :-) [04:15:01.0000] <mikeday> you must admit, it would make a good crime thriller episode if spec authors mysteriously started disappearing :) [04:15:02.0000] <mpt> This principle is also known as "I would also like to thank Ian Hickson for reminding the world that the things I write in this weblog are not spec text." [04:15:03.0000] <gsnedders> mpt: even if the writings both predate and postdate (is that a word?) the spec? [04:15:04.0000] <mpt> http://diveintomark.org/archives/2004/01/08/postels-law [04:16:00.0000] <gsnedders> mpt: and it is explicitly stated that that was the intent of the spec? [04:16:01.0000] <mpt> gsnedders, yes, even so. [04:17:00.0000] <mpt> If the spec needs updating, update it. [04:17:01.0000] <mpt> Or produce errata, and say "we comply with spec X with errata Y". [04:18:00.0000] <gsnedders> mpt: that's the issue — are they just updating the spec in such a way it is merely a clarification? [04:19:00.0000] <mpt> I don't really care about this particular example [04:19:01.0000] <mpt> RSS 2.0 is such a disaster zone I want to avoid thinking about it [04:20:00.0000] <gsnedders> it's used in the real world. as implementors, we need to implement it [04:20:01.0000] <gsnedders> (and fix the spec) [04:20:02.0000] <mikeday> whatwg needs to fix RSS? [04:21:00.0000] <gsnedders> mikeday: no, the rss-board are already doing so [04:21:01.0000] <gsnedders> http://www.rssboard.org/rss-draft-1 [04:21:02.0000] <mpt> Be careful throwing around words like "we" :-) [04:22:00.0000] <mikeday> hmm, not really a problem then, eh? [04:22:01.0000] <gsnedders> mikeday: oh, there are problems. see the mailing list. see real world feeds, etc. [04:22:02.0000] <mikeday> not really a problem for #whatwg then, I meant :) [04:23:00.0000] <gsnedders> true, but there are others here who implement RSS :P [04:24:00.0000] <mikeday> maybe it would have been easier if RSS has used HTML based markup instead of trying to corrupt XML [04:25:00.0000] <gsnedders> that's not the issue with RSS, the issue is how vague the spec is [04:25:01.0000] <Dashiva> I wouldn't mind burying RSS in favor of Atom [04:26:00.0000] <gsnedders> like people who implement real XHTML, to be relevant in the real world they need to implement HTML too [04:27:00.0000] <mikeday> hrmph, if only that weren't so. [04:27:01.0000] <mikeday> it's certainly the way we're going [07:05:00.0000] <Dashiva> Grar [07:05:01.0000] <Dashiva> My inner calm is upset by html60 [07:08:00.0000] <Philip`> I'm not positive that I like the idea of eleding sag seributes in a form [07:10:00.0000] <Philip`> I think the names need more X in them before they'll catch on [07:13:00.0000] <zcorpan_> XSeribute [07:16:00.0000] <annevk> Dashiva, I are agree [07:18:00.0000] <zcorpan_> is it can be foods tiem now? [07:18:01.0000] <annevk> /me plays with Ubuntu [07:21:00.0000] <zcorpan_> http://www.nnseek.com/e/microsoft.public.windowsmedia/new_updated_wmp11_plug_in_for_other_third_party_br_77036744t.html [07:23:00.0000] <Philip`> /me wonders what was in the "relies on the stuff" phrase before presumably being stripped out as disallowed HTML [07:24:00.0000] <zcorpan_> <script for="" event="'> [07:24:01.0000] <zcorpan_> http://forums.techarena.in/showthread.php?p=2551897 [07:25:00.0000] <Philip`> Aha [07:38:00.0000] <annevk> argh [07:40:00.0000] <annevk> time to port some projects... [08:01:00.0000] <hasather> hsivonen: in case you haven't seen: http://www.oreillynet.com/xml/blog/2007/05/fake_realtime_blog_from_xtech.html [09:45:00.0000] <zcorpan_> am i right in saying that html5lib can emit sax parse events? [09:45:01.0000] <annevk-t60> yeah, sort of [09:45:02.0000] <annevk-t60> /me doesn't recall the details [09:46:00.0000] <zcorpan_> streaming? [09:47:00.0000] <annevk-t60> you can't stream html5 [09:47:01.0000] <annevk-t60> well, not in the XML way [09:49:00.0000] <zcorpan_> you can if you're drocanian about the agency thing :) [09:50:00.0000] <zcorpan_> http://simon.html5.org/temp/html5-geekmeet.en.html [09:51:00.0000] <zcorpan_> translated it [09:54:00.0000] <annevk-t60> "definierad" [09:54:01.0000] <zcorpan_> oops [09:55:00.0000] <zcorpan_> fixed [09:56:00.0000] <Philip`> The boilerplate example could drop the / in <meta charset="utf-8" /> [09:56:01.0000] <zcorpan_> yeah [09:57:00.0000] <zcorpan_> though there's no benefit in dropping it, other than saving 2 bytes [10:10:00.0000] <zcorpan_> other comments? :) [11:48:00.0000] <Philip`> Optimising <canvas> code seems a bit of a pain - different implementations have very different performance characteristics :-( [11:50:00.0000] <Philip`> drawImage(img, <some scaling>) is twice as fast as drawImage(canvas, ...) in Firefox 3, and ~20% faster in FF2, but the latter is ~50% faster than the former in Opera [11:51:00.0000] <Philip`> and drawImage(img, <no scaling>) is about sixty times faster in FF3 than it was in FF2 [11:52:00.0000] <Philip`> and all these numbers are probably totally different in Safari, and on other platforms [11:52:01.0000] <Philip`> and I can't think of any way to handle the differences, without resorting to browser-sniffing and a table of preferences :-( [11:54:00.0000] <zcorpan_> ah, browser sniffing [13:55:00.0000] <jgraham> zcorpan_: html5lib has a dom2sax converter. Basically you use the dom treebuilder and then call treebuilders.dom.dom2sax on the resulting tree. So it's not true streaming (because the algorithm as specced doesn't allow for that). hsivonen has some interesting thoughts on a fast-as-possible streaming implementation [13:55:01.0000] <jgraham> n.b. that function call is from memory... [13:56:00.0000] <zcorpan_> jgraham: ok [13:59:00.0000] <zcorpan_> /me updated his slides [14:19:00.0000] <Hixie> Philip`: the best way to handle it is not optimising at all, and just rely on browser vendors to make things faster [14:26:00.0000] <zcorpan_> Hixie: you have any comments for my slides for my presentation tomorrow? http://simon.html5.org/presentations/html5-geekmeet.en [14:34:00.0000] <Hixie> /me loojs [14:36:00.0000] <othermaciej> what does it mean "to looj"? [14:36:01.0000] <Jero> zcorpan_: minor detail, but the charset attribute in the second "text/html: boilerplate" slide has the wrong color [14:37:00.0000] <Hixie> zcorpan_: the audio interface changed quite a bit since opera implemented it [14:39:00.0000] <Hixie> the google suggest example needs to have the value URI escaped [14:39:01.0000] <Hixie> also the following parts of the boilerplate are optional: [14:39:02.0000] <Hixie> <html> [14:39:03.0000] <Hixie> <head> [14:39:04.0000] <Hixie> <meta charset="utf-8" /> [14:40:00.0000] <Hixie> looks fine [14:40:01.0000] <Hixie> what's your audience? [14:41:00.0000] <zcorpan_> mostly people who work with creating web sites [14:41:01.0000] <Hixie> k [14:43:00.0000] <zcorpan_> Jero: it's the same as the first, just in the process of becoming shorter... ;) [14:46:00.0000] <Jero> yeah, but i thought that because of it being shorter, it became an attribute, so you might wanted to also show that in that slide [14:46:01.0000] <Jero> but i guess it depends on how you look at it, and it's not that big of a deal either :p [14:56:00.0000] <jgraham> zcorpan: "De facto standards i HTML5" s/i/in/ I assume [14:56:01.0000] <zcorpan> jgraham: yep, thanks [15:00:00.0000] <jgraham> zcorpan: <meta charset="utf-8" /> - no need for the trailing slash. Also p = html5lib.HTMLParser(tree=etree.TreeBuilder) - this has changed a bit in svn to support more elementtree implementations. Probably not worth worrying about though. [15:01:00.0000] <zcorpan> jgraham: how should the python line look like? [15:02:00.0000] <jgraham> I think it should be import treebuilders; from xml.etree import ElementTree; html5lib.HTMLParser(tree=treebuilders.getTreebuilder("etree", ElementTree)) [15:02:01.0000] <jgraham> /me goes to check [15:04:00.0000] <jgraham> OK the full thing is [15:04:01.0000] <jgraham> import html5lib [15:04:02.0000] <jgraham> from html5lib import treebuilders [15:05:00.0000] <jgraham> import xml.etree.ElementTree as ElementTree #assuming python >= 2.5 [15:06:00.0000] <jgraham> p = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("etree", ElementTree)) [15:06:01.0000] <jgraham> elementtree = p.parse(f) [15:06:02.0000] <zcorpan> cheers [15:08:00.0000] <zcorpan> no f = open("test.html") ? [15:12:00.0000] <zcorpan> is it possible to linewrap between "treebuilders" and ".getTreeBuilder" ? [15:14:00.0000] <jgraham> Ah, yes, even copying and pasting I forgot the f = open("test.html") [15:14:01.0000] <jgraham> And there shouldn't be a linewrap but I think python syntax would allow one there [15:15:00.0000] <hasather> yea, it's allowed as it's inside a paranthesis [15:15:01.0000] <zcorpan> ok [15:15:02.0000] <jgraham> but I think it has to be after the dot [15:16:00.0000] <jgraham> No it doesn't [15:16:01.0000] <jgraham> Either side of the dot is fine [15:16:02.0000] <jgraham> /me should know this sort of thing by now [15:18:00.0000] <zcorpan> there. i presume a minidom equivalent would be no shorter? :) [15:19:00.0000] <jgraham> minidom is a little shorter atm because we only support one DOM implementation [15:20:00.0000] <zcorpan> ok [15:20:01.0000] <zcorpan> i'll leave it as is [15:20:02.0000] <jgraham> so you can just do html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("dom")) [15:20:03.0000] <jgraham> but that may change again [15:20:04.0000] <jgraham> if there is another python DOM imp[lementation we can trivially support [15:21:00.0000] <jgraham> If you have space a little more indentation on the .getTreeBuilder line would be nice [15:23:00.0000] <karlUshi> /me wonders where the getTreeBuilder is coming from [15:24:00.0000] <zcorpan> jgraham: happy? :) [15:25:00.0000] <jgraham> karlUshi: It's a new (svn) feature - instead of having to know the internals of each TreeBuilder module you just call getTreeBuilder(treetype) which returns the appropriate class [15:26:00.0000] <karlUshi> which version? [15:26:01.0000] <karlUshi> ah not yet packaged [15:26:02.0000] <jgraham> for elementtree it also supports passing in an object which implements the elementtree interface so, in theory, we support all elementtree types [15:26:03.0000] <jgraham> s/types/implementations/ [15:27:00.0000] <jgraham> I dunno if it's the *best* way to do what's needed but I think it's *better* [15:28:00.0000] <zcorpan> are things outside the root element included in the elementtree? or did you settle for two elementtree versions? [15:30:00.0000] <jgraham> There's a third (not talked about) parameter for getTreeBuilder fullTree which defaults to false. If fullTree is false trees which don't support stuff outside the root element (i.e. elementtree, beautiful soup (work in progress)) will just return the subtree rooted at <html> [15:31:00.0000] <jgraham> fullTree = True is needed for testing [15:31:01.0000] <zcorpan> ok [15:31:02.0000] <jgraham> but I'm not sure how much sense it makes to try and expose stuff that a tree just doesn't support [15:32:00.0000] <jgraham> So e.g. elementtree has no support for doctypes [15:32:01.0000] <jgraham> and although we can hack in support it might break other tools [15:32:02.0000] <jgraham> which ruins the whole html5lib -> your existing tools workflow [15:33:00.0000] <zcorpan> perhaps the spec should allow things outside the root to be dropped [15:33:01.0000] <zcorpan> safari and opera already drop the doctype iirc [15:34:00.0000] <Hixie> the spec doesn't put any requirements on anything outside the root other than for scripted DOM implementations (which html5lib isn't) [15:43:00.0000] <zcorpan> there are 130 names in the Acks [15:53:00.0000] <Dashiva> Hey Hixie, I understand acid3 is not available, not finished and all, but how about at least removing that incomplete line that triggers a parse error and makes it not work at all :) [15:54:00.0000] <Hixie> why? [15:54:01.0000] <Dashiva> So the tests that do work can be run [15:55:00.0000] <Hixie> why? browser vendors won't want the big test, and who else is there who would care? [15:56:00.0000] <Dashiva> Those of us who hunt unreported bugs [15:56:01.0000] <Hixie> copy the file and edit it :-P [15:57:00.0000] <Dashiva> Darn, I was hoping you wouldn't think of that [15:57:01.0000] <Hixie> i'm in the middle of writing that test, it's not done yet, i'm not going to go out of my way to make it usable when all that would do is make my work harder [15:58:00.0000] <Hixie> the tests in it are all based on other tests on hixie.ch anyway as far as i recall [15:58:01.0000] <Hixie> and are trivially extractable [16:04:00.0000] <Philip`> Hixie: Waiting for browsers to make my code faster doesn't seem like it'd work too well in practice, since the bottlenecks that affect my code might not affect anyone else so the browsers wouldn't care enough to spend the effort optimising it; and even if they did fix it, it'd take a year or two for the next release to get out there, whereas I would want it to work as well as possible for people today [16:05:00.0000] <Hixie> fair enough. but then you'll have the same problem that any optimising compiler has -- different platforms and architectures have different characteristics and so will need optimising in different ways. :-) [16:06:00.0000] <Philip`> although in practice I see 50% of people using Firefox 2 on Windows so I could just optimise for that and forget about everyone else, but I prefer to be nice to everyone else :-) [16:07:00.0000] <jruderman> Hixie: what does "the animation while the test was running has to be smooth" mean? no pauses in the percentages? the color changes should be gradual? [16:09:00.0000] <Philip`> I think the main problem is just working out what the characteristics are - I suppose I could have some one-off calibration process that measures some things, and store the results in globalStorage so it can skip that step next time, and then it'll be better at adapting to unexpected/unknown platforms [16:10:00.0000] <Hixie> jruderman: it means you should be getting 20fps or better [16:10:01.0000] <Philip`> (maybe kind of like an optimising compiler that emits two versions of a function, one with plain x86 code and one with SSE3, with run-time detection of which version it should use, although not really like that since that can just ask the CPU for its capabilities instead of guessing...) [16:10:02.0000] <Hixie> Philip`: until a user upgrades to another browser and the browser imports those globalStorage settings :-) [16:11:00.0000] <jruderman> Hixie: hmm. i get a slight pause at 44% or 45% in firefox trunk [16:11:01.0000] <Philip`> It'd associate the results with the UA string to avoid that problem :-) [16:11:02.0000] <jruderman> Hixie: old computers need not apply? :P [16:12:00.0000] <Philip`> although if they upgrade their hardware and copy their old browser settings... [16:12:01.0000] <Dashiva> Odd, the tests around 44-45 are all empty [16:12:02.0000] <Hixie> jruderman: you shouldn't see jerks in any browser on any platform [16:13:00.0000] <jruderman> maybe that's when the browser decides to do javascript+xpcom garbage collection [16:14:00.0000] <Hixie> then it sucks [16:18:00.0000] <othermaciej> Philip`: what code do you have in mind? [16:27:00.0000] <Philip`> I don't have anything specific in mind that I'm intending to work on - I'm mostly remembering Canvex and thinking about how I could have done that better [16:29:00.0000] <Philip`> (That's basically lots of scaled drawImages, so I didn't care about the performance of drawing lines and polygons and gradients and things) [16:32:00.0000] <zcorpan> Philip`: you know about elastomania? [16:35:00.0000] <Philip`> zcorpan: No, except for having looked at screenshots of something with that name on Wikipedia about fifteen seconds ago [16:36:00.0000] <zcorpan> Philip`: heh, ok. i was thinking about whether it would be possible to port that to canvas with the exact same physics [16:37:00.0000] <zcorpan> http://video.google.com/videoplay?docid=-669731391958349456&q=elastomania [16:44:00.0000] <Philip`> zcorpan: From what I can see, the 3D bits (rotating rider and (I think) apples) wouldn't really be possible, but I don't see any reason why the rest of it couldn't be reproduced [16:45:00.0000] <zcorpan> oh, nothing is 3d [16:45:01.0000] <zcorpan> and i don't care about the animations [16:46:00.0000] <zcorpan> i was more curious about whether the physics could be reproduced exactly [16:48:00.0000] <Philip`> Oh, they look rather 3Dish [16:48:01.0000] <Philip`> How exactly is "exactly"? [16:49:00.0000] <Philip`> I expect you'd get minor differences just between JS doubles and C floats [16:49:01.0000] <zcorpan> probably [16:51:00.0000] <Philip`> (It'd presumably also be impossible to reproduce fairly accurately without having access to the source code to copy) [16:51:01.0000] <zcorpan> yeah, makes sense. it's not open source [16:52:00.0000] <Philip`> Trying to deduce floating point algorithms from disassembly is usually a bit of a pain :-( [16:55:00.0000] <Philip`> It might not be impossible to work out something that acts similarly, though - it looks kind of like the bikes are just three masses with some damped springs, with collisions between the wheels and some straight lines, and presumably some forces from user input and gravity and friction and air resistance [16:56:00.0000] <zcorpan> no air resistance, but otherwise yeah, something like that [16:57:00.0000] <Philip`> It should just be some maths, and some tweaking of values, and not much else :-) [16:58:00.0000] <zcorpan> but it wouldn't be worth attempting if it would only be possible to get something that acts similarly... [16:59:00.0000] <zcorpan> well, for new players it might be 2007-05-23 [17:05:00.0000] <Philip`> Have people reverse-engineered/documented the level file format? [17:07:00.0000] <zcorpan> dunno [17:09:00.0000] <Philip`> The .exe has some strings (I guess from assert calls) that appear to give some information about the physics, except they say things like "gyuru::beszur-ban k >= pontszam!" and I'm not quite sure what that means [17:10:00.0000] <zcorpan> um, don't know either [17:14:00.0000] <Philip`> At least I can read "fabs( ujenergia - oldenergia ) > 0.001!" [17:17:00.0000] <zcorpan> seems like it's written in Hungary [17:19:00.0000] <zcorpan> i mean Hungarian [17:22:00.0000] <Philip`> http://www.gamedev.net/community/forums/topic.asp?topic_id=397791 has some relevant notes [17:25:00.0000] <Philip`> It'd always be possible to ask the original author exactly how the physics works, though I don't know if he'd like people reproducing his work in JavaScript :-) [17:25:01.0000] <zcorpan> perhaps it makes elastomania even more famous :) [17:26:00.0000] <zcorpan> it's a very addicting game [17:26:01.0000] <Philip`> I just keep bashing my head on the floor and dying [17:27:00.0000] <zcorpan> heh [17:28:00.0000] <zcorpan> ah, its collision detection explains some bugs indeed [17:34:00.0000] <zcorpan> good stuff in there [17:49:00.0000] <zcorpan> xmoto is open source... but it doesn't have the same physics as elastomania at all [21:51:00.0000] <MikeSmith> Hixie - you there? [21:51:01.0000] <MikeSmith> wanted to ask about meanings of flags/fields in html5 checkin message [23:00:00.0000] <hsivonen> how testable is the HTML5 tokenizer these days? are the tokenizer tests in html5lib designed to run without a tree builder setting the content model flag? [23:00:01.0000] <hsivonen> testable on its own, that is [23:24:00.0000] <Hixie> MikeSmith: see the web-apps-tracker [23:59:00.0000] <MikeSmith> Hixie - thanks ... looking now [00:02:00.0000] <MikeSmith> Hixie - I know already about the browser flags in square brackets ... was wondering about the number in parens [00:02:01.0000] <Hixie> that's he stability [00:04:00.0000] <hsivonen> Hixie: are your tokenizer tests applicable without a tree builder? that is, can I develop a tokenizer first and prove that I pass the semiofficial tests before I develop a suite of tree builder? [00:04:01.0000] <hsivonen> /me has a plan for 4 or 5 tree builder subclasses [00:05:00.0000] <Hixie> i believe there are tokeniser tests, but i didn't write them [00:05:01.0000] <MikeSmith> Hixie - OK ... stability values defined anywhere (mostly seems to be either 0 or 2 in checkin descriptions) [00:05:02.0000] <Hixie> hsivonen: i assumed that most people would not write tokenisers exactly per spec [00:05:03.0000] <hsivonen> Hixie: oh. I thought you had a tokenizer test suite [00:05:04.0000] <othermaciej> presumably only the actual tree output is normative [00:06:00.0000] <othermaciej> but some tokenizer issues must inevitably affect the DOM, so end-to-end tests could be made [00:06:01.0000] <Hixie> MikeSmith: 0 = experimental, 1 = unstable, 2 = has implementations, 3 = has stable implementations [00:07:00.0000] <Hixie> hsivonen: my tokeniser wasn't an implemenatation of the spec -- e.g. it did some preprocessing magic for collecting characters together and separating whitespace from non-whitespace depending on the tree constructor mode [00:07:01.0000] <hsivonen> Hixie: how do you mean not exactly per spec? I intend to use the runtime stack for implicit state instead of an explicit state variable. Mike Day suggested making a table-driven DFA, but I'm not sure that makes sense in terms of optimizing Java performance [00:07:02.0000] <Hixie> hsivonen: so any tests i had for that wouldn't match the spec [00:07:03.0000] <hsivonen> oh [00:07:04.0000] <MikeSmith> Hixie - thanks [00:07:05.0000] <Hixie> np [00:08:00.0000] <hsivonen> othermaciej: I do intend to test the whole thing with a tree builder eventually [00:09:00.0000] <hsivonen> (although I am hoping to write the tree building stuff one with pluggable tree builder-specific back ends so that there's really only one tree builder to test instead of 4 or 5) [00:09:01.0000] <hsivonen> s/stuff one/stuff once/ [01:41:00.0000] <annevk> we're doing SQL now?! [01:51:00.0000] <virtuelv> annevk: ? [01:51:01.0000] <virtuelv> SQL in HTML5? [01:51:02.0000] <virtuelv> /me confused [01:56:00.0000] <annevk> http://html5.org/tools/web-apps-tracker?from=837&to=838 [02:16:00.0000] <annevk> I think it would be easier if the second argument was an array [02:16:01.0000] <annevk> of executeSql() [02:17:00.0000] <annevk> Methods with an arbitrary amount of arguments are hard to construct on the fly [02:36:00.0000] <mikeday> so, in HTML5, http-equiv is only kept around for backward compatibility with refresh, yeah? [02:40:00.0000] <annevk> it's actually conforming to use it [02:41:00.0000] <mikeday> what about http-equiv="content-type" ? [02:42:00.0000] <annevk> that's replaced with <meta charset=utf-8> [02:42:01.0000] <annevk> well, replaced with <meta charset> [02:42:02.0000] <mikeday> right, so pages that still use it can not be valid HTML5? (for whatever definition of valid we are using this week) [02:43:00.0000] <othermaciej> I think <meta http-equiv="content-type"> should remain conforming for charset purposes [02:43:01.0000] <othermaciej> so your content can be conforming but still degrade gracefully [02:44:00.0000] <othermaciej> annevk: Function.call in JS lets you call any function with a variable number of arguments with an array instead [02:44:01.0000] <mikeday> that would help reduce confusion for authors following existing tutorials [02:44:02.0000] <othermaciej> annevk: but I don't believe there's a way to do the converse [02:45:00.0000] <annevk> mikeday, valid also requires <!Doctype html> [02:45:01.0000] <mikeday> true. [02:46:00.0000] <annevk> othermaciej, when would you want to do the reverse? [02:47:00.0000] <annevk> how do you set CVSROOT in Ubuntu? [02:47:01.0000] <othermaciej> annevk: I don't think you would want to do the reverse, but it makes functions w/ variable arguments more useful than functions that take an array [02:47:02.0000] <othermaciej> if you only have one [02:47:03.0000] <othermaciej> and I think I mean Function.apply, not call [02:48:00.0000] <mikeday> export CVSROOT=? [02:49:00.0000] <annevk> mikeday, cool [02:49:01.0000] <annevk> /me continues fooling around [02:50:00.0000] <annevk> /me is trying to switch to Ubuntu [02:54:00.0000] <annevk> othermaciej, the good thing about not allowing content-type is that there's only one way to do it [02:54:01.0000] <annevk> (in the markup, as you can still set it through HTTP) [02:55:00.0000] <Hixie> i can't think of a single time i've ever wanted to call a sql evaluator with a variable number of arguments -- it's not like getElementsByClassName() in that respect [02:55:01.0000] <mikeday> annevk, what are you using now? [02:55:02.0000] <annevk> ubuntu [02:55:03.0000] <annevk> I used to use Windows XP [02:55:04.0000] <mikeday> ah. [02:55:05.0000] <annevk> I also have a Windows XP installation on this computer [02:55:06.0000] <annevk> but I hope to leave it alone [02:56:00.0000] <mikeday> vmware is handy for testing IE bugs while still running Linux [02:56:01.0000] <mikeday> if you've got gcc installed, you can always try building my stub code: libhtml.sf.net [02:56:02.0000] <annevk> yeah, I got IE6 and IE7 running [02:56:03.0000] <mikeday> (you'll need svn to check it out, not cvs) [02:57:00.0000] <annevk> I need CVS for W3C stuff [02:57:01.0000] <othermaciej> annevk: I think "only one way to do it" is a weak advantage compared to graceful degradation [02:58:00.0000] <othermaciej> in fact, I'm not sure <meta charset=""> is really justifiable [02:58:01.0000] <othermaciej> it's nicer syntax but it does not degrade in older browsers at all [02:58:02.0000] <annevk> browsers have to support it to support the web [02:58:03.0000] <annevk> in that sense it degrades perfectly [02:58:04.0000] <othermaciej> <meta charset>? [02:59:00.0000] <annevk> yeah [02:59:01.0000] <othermaciej> what current browsers support it? [02:59:02.0000] <othermaciej> I guess I just did not know about it [02:59:03.0000] <Hixie> all of them [02:59:04.0000] <mikeday> hmm, in the charset sniffing, <!--> is not a complete comment, and <!----> is, but what about <!---> ? [02:59:05.0000] <Hixie> specifically they support <meta htt-equiv=content-type content=text/html; charset=utf-8> [02:59:06.0000] <Hixie> (note the lack of quotes) [03:00:00.0000] <othermaciej> that's amusing [03:00:01.0000] <annevk> mikeday, also not complete [03:00:02.0000] <othermaciej> ok, no real objection then [03:01:00.0000] <mikeday> annevk, the spec could be clearer on that point :) [03:01:01.0000] <mikeday> or, I could be smarter [03:01:02.0000] <mikeday> I missed the bit that said after the existing -- [03:01:03.0000] <annevk> (note that <!--> will become a comment in due course) [03:02:00.0000] <annevk> (to minimize differences between quirks and standards mode) [03:02:01.0000] <mikeday> "Advance the position pointer so that it points at the first 0x3E byte which is preceeded by two 0x2D bytes and comes after the second 0x2D byte that was found." [03:02:02.0000] <mikeday> it could be clearer that the two 0x2D bytes come after the second 0x2D byte that was found [03:02:03.0000] <mikeday> not just the first 0x3E byte coming after the second 0x2D byte that was found. [03:02:04.0000] <Hixie> send mail [03:03:00.0000] <mikeday> /me sends [03:03:01.0000] <Hixie> thanks [03:03:02.0000] <mikeday> (although if comment definition will change, perhaps charset sniffing will need to change as well) [03:04:00.0000] <annevk> yeah, likely [03:04:01.0000] <annevk> at least, it would make sense if they behaved the same :) [03:08:00.0000] <mikeday> I'm trying to write a little state machine for charset sniffing, [03:08:01.0000] <mikeday> as it's a lot easier than writing a state machine for complete HTML tokenisation :) [03:30:00.0000] <zcorpan> what's the use-case for a client-side database? [04:00:00.0000] <hsivonen> mikeday|away: did you already investigate the feasibility of a table-driven DFA for the tokenizer? [04:01:00.0000] <hsivonen> SQL! whoa! how will that one interoperate without requiring every browser to embed sqlite? [04:02:00.0000] <zcorpan> who requested it? [04:02:01.0000] <hsivonen> SQL isn't exactly the best example of an interoperably implemented standard [04:04:00.0000] <annevk> got a point there... [04:04:01.0000] <hsivonen> /me is still shying away from a table-driven DFA in Java [04:04:02.0000] <annevk> zcorpan, Mozilla has it [04:04:03.0000] <annevk> not sure if they requested it [04:35:00.0000] <mikeday> hsivonen, not sure yet, the state machine in the spec is too complex as is, needs to be simplified first [04:36:00.0000] <mikeday> hsivonen, I'm just trying to get something basic working to implement <meta charset> sniffing [04:36:01.0000] <mikeday> but it won't be implemented as an array, probably just use goto [04:36:02.0000] <mikeday> and it only needs to apply to a buffer of fixed size, so blocking on input won't be an issue. [04:42:00.0000] <hsivonen> mikeday: is your main loop of control going to be inside the parser as in Java SAX parsers or outside as in expat? [04:42:01.0000] <mikeday> outside [04:43:00.0000] <mikeday> can still support SAX that way [04:44:00.0000] <mikeday> and more convenient for integration with some input sources, eg. curl [04:44:01.0000] <hsivonen> I've been thinking if I should decouple the loop from the tokenizer on the Java side, but I'll probably go with the traditional java.io/org.xml.sax model on the inside [04:45:00.0000] <mikeday> you've got a few more options in Java, but fitting in with SAX makes perfect sense. [04:48:00.0000] <hsivonen> mikeday: just about all XML parsing in Java happens with the parser pulling stuff from java.io.InputStream instead of an app-owned loop pushing buffers to a parser [04:48:01.0000] <mikeday> yeah, most C libraries work like that as well [04:48:02.0000] <mikeday> then sometimes end up trying to hack in support for progressive parsing later [04:48:03.0000] <mikeday> I'm going to try and do it the other way around from the beginning, and see how far I get :) [04:50:00.0000] <mikeday> but starting with charset sniffing, as that's easier and doesn't involve input at all [04:50:01.0000] <mikeday> as you only apply it to the bytes that you already have in the buffer. [04:51:00.0000] <hsivonen> I'm a bit uncomfortable with the sniffing result depending on buffering [04:51:01.0000] <mikeday> tee hee, I found another bug in the spec: 0x3C 0x2D (ASCII '<!') [04:51:02.0000] <hsivonen> requiring the sniffer to read up to 512 until it finds the charset would be deterministic [04:52:00.0000] <mikeday> yes, mine will read up to 512 or EOF, whichever comes first. [04:53:00.0000] <mikeday> hmm, actually mine will sometimes read past 512 at the moment [04:53:01.0000] <mikeday> do you think it would be best to clamp it at 512, regardless of how much has been read? [04:55:00.0000] <hsivonen> I'd clamp to 512 to avoid results depending on buffering details. [04:55:01.0000] <hsivonen> (those are hard to track down when something goes wrong) [04:55:02.0000] <mikeday> right, sounds good. [04:55:03.0000] <mikeday> min(buf->size, 512) :) [04:57:00.0000] <mikeday> hmm, with goto and macros you can make a decent state machine [04:57:01.0000] <mikeday> if you used labels-as-values gcc extension you could probably make it handle input buffering too [04:58:00.0000] <mikeday> basically defining a state machine mini-language in C [04:58:01.0000] <hsivonen> mikeday: do you compile with GCC on Windows? [04:58:02.0000] <hsivonen> or does MS support that GCC extension? [04:58:03.0000] <mikeday> I usually cross-compile Windows binaries on Linux using mingw32 [04:58:04.0000] <mikeday> but I'll avoid using gcc extensions for now [04:58:05.0000] <mikeday> there's always someone out there not using gcc [05:01:00.0000] <mikeday> gcc also has case ranges: case 0x41 ... 0x5A: [05:01:01.0000] <mikeday> which would be quite handy in this case, as they would save me writing out 52 letters explicitly :/ [05:02:00.0000] <gsnedders> mikeday: no, you write code to write tedious code :) [05:03:00.0000] <mikeday> s/me/me or an automation under my control/ [05:03:01.0000] <gsnedders> :) [05:03:02.0000] <mikeday> actually, I'm curious to see if gcc generates any clever code for a switch statement on a byte value [05:04:00.0000] <mikeday> for example, does it generate a jump table by itself, or some other clever trick [05:09:00.0000] <Philip`> SELECT "a"||0; - SQLite says "a0", MySQL says 0, Postgres says column "a" does not exist; interoperably not great :-( [05:09:01.0000] <Dashiva> You need 'a' for postgres, sadly [05:10:00.0000] <Dashiva> I think oracle is the same [05:10:01.0000] <annevk> SQL5 will safe us [05:10:02.0000] <Dashiva> How many doctype states will -that- have ;) [05:11:00.0000] <Philip`> Dashiva: I'm guessing Postgres follows the standard, since MySQL doesn't and SQLite is slightly crazy [05:18:00.0000] <Philip`> Hixie: I think variable number of arguments is useful whenever you want to add some abstracted interface, like with [05:18:01.0000] <Philip`> function search(fields) { [05:18:02.0000] <Philip`> db.execute("SELECT * FROM stuff WHERE " + " AND ".join(name+" = ?" for name,value in fields), [ value for name,value in fields ]); [05:18:03.0000] <Philip`> } [05:18:04.0000] <Philip`> results = search([ ['name', n], ['age', 12], ['colour', c] ]); [05:18:05.0000] <mikeday> (where is this proposal to support SQL in JavaScript?) [05:18:06.0000] <Philip`> (Er, that's probably a broken mix of JS and Python, though I suppose I might be lucky and it could be valid JS1.7) [05:19:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sql.html [05:19:01.0000] <annevk> mikeday, http://html5.org/tools/web-apps-tracker?from=837&to=838 [05:20:00.0000] <mikeday> "A future version of this specification may define the exact SQL subset required in more detail." [05:20:01.0000] <mikeday> now there's an understatement :) [05:21:00.0000] <Philip`> I think the only interoperable subset of SQL and of existing SQL implementations is likely to be the empty set [05:21:01.0000] <Philip`> Well, maybe "SELECT 1+1" would work [05:21:02.0000] <Dashiva> Philip`: Yeah, I finally found the part in SQL92 which mentions it [05:23:00.0000] <mikeday> "SELECT * FROM table" is probably more interoperable than 1+1 [05:23:01.0000] <Philip`> I'd the practical effect would be that Firefox ships with support for the full SQLite syntax, so people write code assuming that, and other browsers have no choice but to use SQLite too, and then Microsoft would ship with Jet or whatever, and everyone would suffer pain, and then maybe someone would try to sort out the mess by defining a common subset but it'd be too late then [05:23:02.0000] <Philip`> *I'd guess [05:24:00.0000] <annevk> at that point we get "Web SQL 5" [05:25:00.0000] <mikeday> why bother? I mean honestly, is SQL the best method for doing this? [05:26:00.0000] <zcorpan> /me doesn't understand the use-case for client side SQL [05:26:01.0000] <annevk> "best" also includes what people are used to [05:26:02.0000] <annevk> I think it's pretty awesome that techniques people are used to on the server can now be easily reused client side [05:27:00.0000] <annevk> in theory you might even be able to share some code [05:27:01.0000] <mikeday> and in practice, you wouldn't [05:27:02.0000] <annevk> yeah, dunno about that either [05:27:03.0000] <annevk> although some of the database design can be reused [05:28:00.0000] <Philip`> Like using XForms to integrate server-side and client-side processing of data? [05:28:01.0000] <annevk> is there a better way to do relational data storage client side? [05:29:00.0000] <mikeday> hmm, once you say relational, no, not really [05:29:01.0000] <Dashiva> I'm not so worried about acid and all the fancy DB stuff, but SQL itself is a nice way to manipulate [05:29:02.0000] <annevk> which also includes support for querying etc. [05:30:00.0000] <Philip`> It seems there are lots of libraries that hide the SQL behind an object-like interface, so maybe it'd be worth looking at those [05:30:01.0000] <mikeday> it just doesn't seem very webby, to me. [05:31:00.0000] <Philip`> (Hmm, it doesn't look like there's even a common-subset way to concatenate strings...) [05:31:01.0000] <mikeday> HTML5 is complex enough without trying to inhale a common subset of SQL [05:31:02.0000] <hsivonen> I wonder what the disk footprint of a SQLite database is [05:31:03.0000] <mikeday> seems to far removed from "standardisation of what we already know" [05:31:04.0000] <hsivonen> considering that each domain needs its own [05:32:00.0000] <mikeday> geez, it's going to suck debugging random crappy websites in the future [05:32:01.0000] <mikeday> I mean keeping track of cookies was bad enough [05:32:02.0000] <annevk> the web evolves :) [05:32:03.0000] <mikeday> and writing eg. little screen scraping tools with wget or whatever [05:33:00.0000] <mikeday> evolution != progress, it can just mean random mutations, genetic drift, and pointless specialisation :) [05:33:01.0000] <met_> whow! there is a book already http://www.amazon.com/tag/sql5 [05:33:02.0000] <mikeday> SQL: the peacock's tail of the web [05:34:00.0000] <Philip`> hsivonen: A SQLite database with one table and no data is 3072 bytes [05:34:01.0000] <Philip`> and 158 bytes after gzip [05:35:00.0000] <mikeday> hah, that's 158 bytes we won't see again in a hurry :) [05:36:00.0000] <Philip`> I bet you could do fun DOS attacks by JOINing a table with itself dozens of times [05:38:00.0000] <mikeday> presumably it's no more vulnerable to that sort of thing than JavaScript already is [05:38:01.0000] <mikeday> eg. running ackermann's function or whatever [05:40:00.0000] <Philip`> But the JS engines already provide timeouts so users can stop runaway scripts, and SQL engines might not [05:40:01.0000] <Philip`> (SQLite does, but it's marked as experimental) [05:41:00.0000] <mikeday> right, it's another weak point that would need to be checked [05:41:01.0000] <mikeday> is it in the spec purely because Mozilla support it? [05:43:00.0000] <Philip`> Mozilla doesn't appear to support it now (though they could easily add it (if they don't care about security, e.g. limiting to privileged content) since they're using SQLite) [05:43:01.0000] <mikeday> so who asked for it? [05:44:00.0000] <annevk> Developers, developers, developers! [05:44:01.0000] <annevk> /me doesn't know [05:44:02.0000] <Dashiva> You missed one developer [05:44:03.0000] <mikeday> hmm. Maybe I should ask for a complete POSIX implementation to be added to HTML5 [05:44:04.0000] <annevk> Dashiva, he didn't care [05:44:05.0000] <Dashiva> Oh [05:44:06.0000] <mikeday> that way, people could run existing Linux binaries in the browser environment [05:44:07.0000] <mikeday> each domain could have a chroot style setup [05:44:08.0000] <Philip`> mikeday: That would solve the problem of making a web-based OS [05:45:00.0000] <Dashiva> Are we still talking about a world where Microsoft exists? [05:45:01.0000] <mikeday> with its own POSIX namespace, the usual APIs available, sockets, memory mapped files, etc. [05:45:02.0000] <Philip`> Just wait for virtualisation technology to advance a bit, and then it'll be fine to run a virtual machine per browser session [05:45:03.0000] <mikeday> or better yet, an x86 virtual machine would make more sense than a POSIX layer [05:45:04.0000] <mikeday> hah, you beat me to it [05:46:00.0000] <mikeday> then we could run arbitrary programs and old DOS games in the browser. take that, flash! [05:46:01.0000] <Philip`> Hmm, x86 is a pain - just make a new instruction set that's easy to virtualise, and port Linux to it [05:46:02.0000] <Dashiva> Why not just reuse JS? [05:46:03.0000] <Dashiva> We have JSON, next is JSOS [05:47:00.0000] <Philip`> Hmm, compile Linux into the instruction set for virtual machine written in JavaScript? [05:47:01.0000] <Philip`> +a [05:47:02.0000] <Philip`> Then just JIT it to the user's native instruction set, for optimal performance [05:48:00.0000] <mikeday> rather than having an SQL based storage system in the browser, [05:48:01.0000] <mikeday> you could have a virtual machine with a virtual IDE hard disk of configurable size [05:48:02.0000] <Philip`> /me wonders how many potential embedded-SQL uses could be handled just by adding B-tree indexes to globalStorage [05:48:03.0000] <mikeday> scripts can then "format" the virtual hard disk with their file system of choice, and address it at block-level [05:51:00.0000] <Philip`> I would be quite nervous looking at a web site that said "Formatting disk - please wait" and knowing that it was actually capable of formatting a disk, even if I was fairly certain it was isolated to the web browser [05:51:01.0000] <mikeday> how nervous would you be to see "Creating tables and building indices" [05:52:00.0000] <Philip`> I know how to protect myself from tables, so that's not a problem - I can just climb up the stairs and they can't follow because their legs won't bend enough [05:53:00.0000] <mikeday> touche :) [05:53:01.0000] <hsivonen> a whole new world of layout tables [05:54:00.0000] <Philip`> We could just adopt the proposal from http://sql4.by.ru/ [06:03:00.0000] <zcorpan> we have good stuff in here for next year's april fool's joke [06:03:01.0000] <Dashiva> Next year it won't be a joke anymore :) [06:03:02.0000] <mikeday> why wait? After all, they didn't wait until April for the SQL proposal :) [06:04:00.0000] <annevk> :p [06:12:00.0000] <mikeday> ah well, that's enough spec bashing for now [06:12:01.0000] <mikeday> /me waves [06:13:00.0000] <hsivonen> Hixie: Re: IRC logs a week ago: Jukka Korpela is known to argue about the details of what it means to have a "sample" in the statistics sense. [06:18:00.0000] <hsivonen> of course, on the Web, it is impossible to have the kind of sample he means [06:18:01.0000] <Lachy> what kind of sample does he mean? [06:18:02.0000] <Lachy> he refused to explain when I asked and then insulted me for not having taken statistics 101 [06:19:00.0000] <Dashiva> Well, intranet pages for one [06:21:00.0000] <hsivonen> Lachy: I think he means that first you identify a population and then you pick a sample at random so that each member of the population has an equal probability of appearing in the sample [06:22:00.0000] <hsivonen> Lachy: but on the Web, you cannot enumerate the population of pages and you cannot do uniform sampling [06:22:01.0000] <hsivonen> Lachy: one might argue, though, that a chunk of "important" pages from google is more useful than a proper sample of the same size [06:23:00.0000] <Lachy> doesn't taking a massive sample of several billion pages somewhat compensate for the problems of not being able to do that? [06:23:01.0000] <hsivonen> Lachy: but the argument wasn't about useful but about proper use of statistics terminology [06:23:02.0000] <hsivonen> Lachy: just don't call it a "sample" :-) [06:23:03.0000] <Lachy> well, what would you call it? [06:24:00.0000] <hsivonen> dunno. it has been a while since I've done statistics [06:24:01.0000] <Philip`> Why would taking a bigger sample make it any better, if the sample is still biased in some direction? [06:25:00.0000] <hsivonen> Philip`: well, if the bias is towards some notion of being more important [06:25:01.0000] <hsivonen> Philip`: then we can discuss what's important [06:25:02.0000] <Philip`> If you identified a billion pages and then chose a million at random to analyse in detail, you should get exactly the same results (except for incredibly rare events where you'd lose statistical significance) [06:26:00.0000] <zcorpan> Lachy: call it "a subset of the Web". :) [06:26:01.0000] <Philip`> (then the problem is in identifying the population of a billion pages, and the actual sampling is easy) [06:27:00.0000] <hsivonen> Philip`: the problem is that implicitly the infinite population of all Web pages is assumed [06:27:01.0000] <Philip`> (and using a bigger sample within that population wouldn't compensate for any problems in the choice of population) [06:28:00.0000] <hsivonen> hmm. according to wikipedia, a non-random subset is still a "sample" even if not a "random sample" [06:30:00.0000] <Philip`> Sampling an infinite space seems like it ought to be impossible (or at least not well defined) - if you chose a sample of n random positive integers, then the mean would be some value which is completely non-representative of the population because there'd be a finite number of numbers below it and an infinite number of numbers above it... [06:43:00.0000] <annevk> jgraham, I think we should be using insert(0, data) as opposed to append() [06:43:01.0000] <annevk> jgraham, for stream.qeue [06:43:02.0000] <annevk> jgraham, especially if we start allowing injection [07:09:00.0000] <annevk> hehe [07:09:01.0000] <annevk> the Content-Type discussion is funny [07:10:00.0000] <annevk> the last e-mail from Jeff :) [07:29:00.0000] <annevk> What annoys me most about these HTTP guys is that they always tell you how things should be done, but they never make it actually happen [07:30:00.0000] <annevk> Browser vendors have tried and tried to fix the web, but it hasn't paid off and didn't work out very well either. [07:30:01.0000] <annevk> In fact, we're still trying to actively educate people and publish articles, etc. and what not and still lots of people get it wrong and will get it wrong. [07:32:00.0000] <annevk> (HTTP people also have this notion about asking the user. It's even in the HTTP specification. That's one of the worst possible models you can have and it has been widely ignored in practice...) [07:38:00.0000] <Philip`> Browsers still seem to ask the user if they really want to submit a form, or if they really want to look at a secure site, or if they really want to leave a secure site [07:38:01.0000] <Philip`> though the default seems to be to only ask once, and it's not like anybody reads those messages the first time anyway, so I'm not sure what the point is [07:39:00.0000] <gsnedders> Philip`: to claim you implement the spec [07:40:00.0000] <annevk> My XML tokenizer now passes the "tests" in http://www.w3.org/TR/xml/#sec-entexpand [07:41:00.0000] <annevk> Some bits are a bit hacky for my taste, but I suppose that can eventually be made cleaner [07:44:00.0000] <annevk> Philip`, yeah, I've the feeling that those messages are there to please the HTTP gods [07:44:01.0000] <annevk> At some point in the past my parents switched browser and were heavily confused with those modal dialogs wondering what they had done wrong. [07:46:00.0000] <gsnedders> /me is still attempting to get his mother to use a computer at all [07:52:00.0000] <annevk> After I hook this up with the treebuilder I need to start doing boring things... Such as making testcases :( [07:52:01.0000] <annevk> Maybe I should open source it :) [08:04:00.0000] <Dashiva> I liked that dialog box [08:04:01.0000] <Dashiva> We should have more of those. "Do you want this page to render correctly?" [08:05:00.0000] <annevk> "Do you want to render this page per spec?" [08:09:00.0000] <gsnedders> "Do you want to render this page in a way completely incompatible with the web?" [08:09:01.0000] <annevk> "Do you want to use a browser that doesn't follow the spec but does render this page?" [08:10:00.0000] <gsnedders> Does anyone have any documentation of the major incompatibilities between HTTP/1.1 and HTTP in the real world? [08:10:01.0000] <annevk> No [08:12:00.0000] <gsnedders> ergh. does anyone know if you need to do hysterics involving CR or LF where the spec says you should have CRLF? [08:27:00.0000] <hsivonen> annevk: are html5lib tokenizer tests independent of tree builder? [08:30:00.0000] <annevk> hsivonen, yes, although you have to implement some logic to run them [08:30:01.0000] <annevk> hsivonen, they may also assume a particular implementation [08:30:02.0000] <hsivonen> annevk: what kind of assumptions? [08:33:00.0000] <annevk> that end tags have their attributes not dropped yet I believe [08:33:01.0000] <annevk> some things are done during the tree builder step [08:34:00.0000] <annevk> but just go through them yourself, it should not be that hard to modify the problematic ones [08:34:01.0000] <hsivonen> eww. do the end tag attributes ever get anything but ignored? [08:34:02.0000] <hsivonen> /me doesn't remember the spec doing anything with end tag attributes [08:39:00.0000] <annevk> hsivonen, we don't check whether it's an end or start tag when appending attributes [08:54:00.0000] <annevk> Philip`, you mentioned <canvas> perf earlier on? Do you have standalone testcases for that? [08:54:01.0000] <annevk> Philip`, Having standalone testcases makes it easier to improve the situation [09:52:00.0000] <annevk> /me removes lots of HTML specific stuff out of base.py in his XML5 project [09:53:00.0000] <annevk> /me tries to align the architecture as much as possible so it remains relatively easy to do similar things [10:08:00.0000] <hsivonen> what's the deal with this ship names thing? [10:08:01.0000] <hsivonen> is there a good use case for needing to know that a string is a ship name? [10:09:00.0000] <hsivonen> or is it just a popular contrived example of something that is italicized but doesn't have a more appropriate element than <i> in HTML? [10:09:01.0000] <Dashiva> It's apparently the best example of semantic non-emphasis italic [10:09:02.0000] <hsivonen> right. [10:10:00.0000] <hsivonen> and presumably ship names are a common case? [10:10:01.0000] <Dashiva> Personally I'd guess most people wouldn't italicize them at all [10:55:00.0000] <Philip`> annevk: I don't have any intentional tests - I've just played around a bit with http://canvex.lazyilluminati.com/misc/speed/benchmark.html but I don't think any of those cases are actually representative of what makes Canvex slow (e.g. I no longer see any real-world performance difference using drawImage(img) vs drawImage(canvas) because it's probably drowned out by other problems) [10:58:00.0000] <Philip`> I should probably set up some mode in Canvex where it starts in an interesting place looking at complex stuff, so I could run it in a profiler and see what's actually slow nowadays [13:38:00.0000] <Hixie> the SQL stuff's main use case is offline Web apps -- big web apps like say an RSS reader that wants to support working while offline needs way more than the globalStorage stuff [13:39:00.0000] <Hixie> i'm very aware of the problem with sql interoperability :-( [13:39:01.0000] <Hixie> i hope we'll be able to have implementations in the coming 6-12 months; if we then have 2 implementations we can define a common subset and lock that down [13:40:00.0000] <virtuelv2> Hixie: I don't think interoperability should be a problem if you specify the exact subset of SQL supported by SQLite [13:40:01.0000] <Hixie> (in practice i would expect it to be very similar to sqllite, since safari and firefox are both already using it, as i understand it) [13:41:00.0000] <Hixie> hsivonen: regarding samples, note that he never replied to my e-mail where i explained exactly how i defined a fixed sampling frame before taking a sample [13:41:01.0000] <virtuelv2> ... since SQLite is placed in the public domain, http://sqlite.org/copyright.html [13:42:00.0000] <Hixie> yeah [13:42:01.0000] <virtuelv2> and they have this interesting take on patents, http://programming.reddit.com/info/1eypf/comments [13:42:02.0000] <othermaciej> being in the public domain is actually a little more dodgy than copyright with a liberal license [13:43:00.0000] <virtuelv2> othermaciej: you're thinking of the fact that all jurisdictions don't recognize PD? [13:43:01.0000] <virtuelv2> They offer licensing for that purpose [13:45:00.0000] <othermaciej> virtuelv2: that and because anyone can copyright even a trivial derivative work of a PD work in full, thereby potentially making the licensing issues more murky [13:45:01.0000] <gavin> if it's in the public domain, who are they to issue licenses? [13:46:00.0000] <gavin> isn't copyright in this case non-existent? [13:46:01.0000] <virtuelv2> gavin: because all contributors have to sign off the code to the PD [13:46:02.0000] <virtuelv2> you can relicense PD code if you please, as othermaciej noted [13:46:03.0000] <gavin> the copyright is what I'm wondering about [13:47:00.0000] <gavin> if they say they have no copyright to the code, I don't see how they can license it [13:47:01.0000] <gavin> you can only license something if you have the copyright [13:47:02.0000] <virtuelv2> gavin: they can, because they are free to do so under the same license they're distributing it [13:47:03.0000] <virtuelv2> you can do the same [13:48:00.0000] <gavin> maybe I should go speak to a copyright lawyer [13:48:01.0000] <gavin> wonder how much that'll cost me :) [13:48:02.0000] <virtuelv2> gavin: make sure you do in a country that accepts the PD [13:48:03.0000] <virtuelv2> Some countries don't [13:48:04.0000] <gavin> I don't see how that matters [13:49:00.0000] <hsivonen> I once had a boss who doubted our ability to waive copyright in Finland. So we used the MIT license. I have talked to copyright lawyers since and none of them saw a problem with waiving copyright. [13:49:01.0000] <virtuelv2> ok, let's say I place Item A in the public domain in country Foo [13:49:02.0000] <gavin> I have no stake in this, I'm just curious [13:49:03.0000] <othermaciej> make sure you talk to a lawyer that understands the copyright law of countries that accept the public domain [13:49:04.0000] <othermaciej> that would be the right way to put it [13:49:05.0000] <gavin> sure [13:49:06.0000] <gavin> ah, ok, I see [13:49:07.0000] <gavin> (what virtuelv2 meant) [13:50:00.0000] <virtuelv2> if a user in country Bar, that doesn't accept PD, gets my Item A, the legal system in Country Bar will assert that I own copyright of Item A [13:50:01.0000] <gavin> /me didn't intend to start a discussion about copyright law [13:50:02.0000] <gavin> I should have kept my curiosity to myself :) [14:01:00.0000] <Philip`> /me still can't imagine any two SQL implementations being close to interoperable, unless they're two versions of exactly the same database engine and then it's still fairly dodgy (e.g. SQLite 2 vs SQLite 3 being very different; though from what I've heard, v3 is considered pretty much complete and there's not going to be a v4, though I could be utterly wrong in remembering that) [14:03:00.0000] <Dashiva> Well, cut down on the utility functions and fancy frills, and it gets a lot better [14:03:01.0000] <Philip`> Oh, it was http://osdir.com/ml/python.db.pysqlite.user/2006-12/msg00015.html saying "drh does not expect there to ever be a SQLite 4" [14:03:02.0000] <Philip`> What about e.g. types? [14:03:03.0000] <Philip`> like, SQLite doesn't really have them, but other databases do [14:03:04.0000] <Philip`> which seems a fairly major interoperability concern [14:04:00.0000] <Hixie> Philip`: we couldn't imagine two html implementations being close to interoperable, but now we have html5 and the goal is in sight :-) [14:05:00.0000] <Dashiva> Maybe clarify what kind of interoperability is the worry. Developer experience/lockin, or machine/application interop? [14:05:01.0000] <Philip`> The people implementing HTML want it to be interoperable, whereas the people implementing SQL have never really cared and there's not much reason to think they ever will, and the people implementing HTML probably don't want all the work of reimplementing SQL too :-) [14:05:02.0000] <Philip`> Uh, "The people implementing HTML wanted HTML to be interoperable, ..." [14:05:03.0000] <met_> Philip` there are people building apps with same SQL working on MSSQL and Oracle too, but it is only small subset of all functionality [14:07:00.0000] <Dashiva> And on a pragmatic note, reality survives with the current set of SQL engines. Why would that change? [14:09:00.0000] <Philip`> I don't remember having seen any applications that work on more than one database, without them having put significant effort into writing multiple sets of database backend code [14:09:01.0000] <Hixie> we'll see. it may well be that we simply can't have interoperability here, and we have to drop it. [14:09:02.0000] <Dashiva> I don't imagine there are too many web applications running SQL on the client side yet [14:10:00.0000] <Philip`> e.g. Trac at http://trac.edgewall.org/wiki/DatabaseBackend eventually got support for SQLite+MySQL+Postgres but it took a long time [14:10:01.0000] <Hixie> one thing though -- if the first two implementations use SQLLite, same version, and then we get widely distributed code out there that uses it, that will greatly increase the cost of someone writing a non-compatible version. [14:12:00.0000] <Dashiva> Well, look at mozilla expanding JS, who's to say they won't do the same to their SQL? [14:13:00.0000] <Dashiva> they being browser vendors in general, not just moz [14:17:00.0000] <Hixie> they're expanding JS in conjunction with the ECMA working group [14:22:00.0000] <Philip`> If the first implementations do use SQLite and everyone else has to too, it sounds like the specification will simply (though maybe not explicitly) require all implementors to use the SQLite implementation, and it doesn't really sound very spec-like to say "you must accept the dialect of SQL spoken by SQLite" (but it wouldn't be good to not say that, if it's true)... [14:24:00.0000] <Philip`> I'm not sure if there's anything particularly wrong with everybody in the world using SQLite, if Microsoft would accept that too instead of going their own way with a different SQL implementation (assuming they ever bother with this at all), but it seems odd [14:25:00.0000] <Hixie> Philip`: no, we'd define it in detail, not like that [14:26:00.0000] <Hixie> it would just happen to be compatible with the implementations in the wild, whether that be sqllite or whatever [14:26:01.0000] <Philip`> What would happen with old content that came before it was defined, and assumed all of SQLite's behaviour? [14:27:00.0000] <Hixie> the idea would be to define it such that existing content works [14:27:01.0000] <Philip`> Just doing "CREATE TABLE t ( n )" is perfectly normal in SQLite but I don't believe it works in any other database at all (since they all require columns to have types) [14:28:00.0000] <Hixie> then if sqllite is what is used, then we will probably end up defining that [14:28:01.0000] <gsnedders> ergh. I give up with people claiming <i> is deprecated. [14:29:00.0000] <Philip`> If someone isn't going to use SQLite for whatever reason, would they implement something that's compatible with it (or with the definition of it from the spec), rather than just sticking in whatever other SQL engine is handy because it'll save them years of work? [14:30:00.0000] <Hixie> if they want to be compliant and want to work with existing content, yes [14:30:01.0000] <Hixie> hence the desire to have existing content depend on something before we spec it in detail [14:30:02.0000] <Hixie> since that rather forces the issue [14:36:00.0000] <Philip`> What'd be really neat is if you could use SQLite's virtual tables, where you implement the table backend in JavaScript and could make it do synchronous XHR requests to retrieve the data to return to the client code when it performs queries... [14:38:00.0000] <Philip`> (http://www.sqlite.org/cvstrac/wiki?p=VirtualTables etc) [14:42:00.0000] <Hixie> yeah [14:53:00.0000] <virtuelv2> 2 [14:53:01.0000] <virtuelv2> heh, dette er pussig [14:53:02.0000] <virtuelv2> Ubuntu NEKTER å mounte ipoden min [14:54:00.0000] <virtuelv2> augh, wrong channel [14:59:00.0000] <Philip`> /me assumes you wouldn't have to use transactions if you were doing everything in a single JS function (rather than spread across multiple event handlers), since JS has to execute single-threadedly so there wouldn't be concurrent database accesses, which is nice because it prevents some obvious errors [15:04:00.0000] <Philip`> Why does ResultSet have getName and not specify what order or what set of fields should be returned, rather than just saying it returns the same fields in the same order as in the SELECT statement (and then not needing getName because the user already knows)? [15:07:00.0000] <Philip`> getName throwing exceptions if there are no results sounds a bit annoying, because it means you couldn't do "r = executeSql(...); i = r.getName('field'); for (; r.validRow; r.next()) { dostuff(r[i]) }" [15:09:00.0000] <Philip`> insertId doesn't say what happens if multiple rows were inserted [15:13:00.0000] <Philip`> I expect people writing code would like to be able to find out how much disk space they're using and how much is available, so they can present it to the user nicely and can clean up old data if it's getting full, rather than waiting until they get an exception at an unexpected time [15:14:00.0000] <Hixie> Philip`: you don't know the rows in a SELECT * statement [15:14:01.0000] <Hixie> can you insert multiple rows? [15:14:02.0000] <Hixie> yeah, i imagine quota management might be something we'll do in a v2 [15:14:03.0000] <Philip`> I think "executeSql('BEGIN'); executeSql('INSERT INTO table VALUES (?)', lots_of_data_so_we_run_out_space); executeSql('COMMIT')" would break confusingly since JS exceptions won't roll back the transaction [15:14:04.0000] <Hixie> it interacts with the other storage things [15:15:00.0000] <Philip`> Oh, I forgot about SELECT * [15:15:01.0000] <Hixie> why won't they? [15:16:00.0000] <Philip`> You can do e.g. "INSERT INTO b SELECT * FROM a" to copy a whole table at once [15:16:01.0000] <Hixie> hm [15:17:00.0000] <Hixie> what should insertId return then? [15:17:01.0000] <Philip`> I don't think they can they roll back the transaction without knowing that the exception is passing out of the transaction's scope without being caught [15:17:02.0000] <Philip`> and since the transaction is defined by a pair of BEGIN and COMMIT commands, it doesn't have a scope that the browser could know about [15:18:00.0000] <Hixie> oh, well sure, if you're going to do commit/rollback transactions, you should use exception handlers around what you're doing [15:18:01.0000] <Hixie> i think you misunderstood getName, btw [15:19:00.0000] <Philip`> You could write a transaction wrapper and run "doTransaction(function(){ executeSql(...) })" and it can do the BEGIN/COMMIT/catch/ROLLBACK/throw stuff, I suppose [15:19:01.0000] <Hixie> your example would be r = executeSql(...); for (; r.validRow; r.next()) { dostuff(r['field']) } [15:20:00.0000] <Hixie> there is in fact no way to get an index from a string [15:20:01.0000] <Philip`> SQLite's last_insert_rowid() returns the last row ID that was inserted in the current connection - if insertId is supposed to be per-resultset instead, I'm not sure how you could implement that, but it'd probably end up returning the last inserted row ID from that query [15:20:02.0000] <Hixie> k [15:21:00.0000] <Philip`> Oops, yes, I got getName the wrong way round [15:22:00.0000] <Hixie> (well i guess you can get an index from a string if you loop over the fields looking at each name in turn) [15:22:01.0000] <Hixie> I fixed the insertId thing. [15:22:02.0000] <Hixie> you're in the acknowledgements already right? [15:23:00.0000] <Philip`> I'd guess doing string->index might be useful for efficiency, if you're getting lots of rows and don't want the hash lookup cost for each one, but maybe it's not worth caring about [15:23:01.0000] <Philip`> I am [15:23:02.0000] <Philip`> (I'm famous!) [15:24:00.0000] <Hixie> christ, between twitter being down and the mail server being twitchy the people watching twitter and commit-watchers aren't going to get much of a good look at the changes today [15:25:00.0000] <Philip`> I'm not sure how you could implement insertId so it works with "INSERT INTO t (id) VALUES (123) /* insertId = 123 */; DELETE FROM t /* insertId undefined */; INSERT INTO t (id) VALUES (123) /* insertId = 123 */", given SQLite's last_insert_rowid (which will (I think) give exactly the same value after each of those statements) [15:27:00.0000] <Hixie> dunno, we'll see what implementors say [15:27:01.0000] <Hixie> maybe we'll just have to have insertId return the last inserted row at the point the result set was created [15:28:00.0000] <met_> In ms sql wil be the second insert 134 (dunno sqllite) [15:28:01.0000] <Hixie> or they'll fix sqllite [15:28:02.0000] <Philip`> Could just drop it entirely and use executeSql("SELECT last_insert_rowid()")[0] [15:30:00.0000] <Hixie> when writing database code i always wish i could just do |var x = executeSql("INSERT ...").insertId;| [15:30:01.0000] <Philip`> (and have that be per browsing context, since it's per connection and each browsing context can have a separate connection) [15:32:00.0000] <Philip`> var x = executeSql("INSERT ...; SELECT last_insert_rowid()")[0] isn't much worse [15:32:01.0000] <Hixie> but it is worse :-) [15:32:02.0000] <Hixie> /me ponders whether pushState() should always require a URI and title, or if it should allow state to be pushed without a URI [15:32:03.0000] <met_> Philip` why not per connection? it should be for one connection [15:32:04.0000] <Hixie> bbiab [15:33:00.0000] <Philip`> met_: Not quite sure what you mean [15:34:00.0000] <met_> you said last_insert_rowid() should return last id from whole context not from one connection? [15:37:00.0000] <Philip`> I meant that if you did "executeSql("INSERT ..."); setTimeout(function(){ executeSql("SELECT last_insert_rowid()") }, 1000)" (and nothing else happens on that page) then it should return the rowid from that first INSERT, regardless of whether you've got the same site open in a different tab or window and are inserting new rows over there [15:38:00.0000] <met_> yes I agree, misunderstand it [15:38:01.0000] <Philip`> which would require browsers to have a separate SQLite-connection in order to keep that separation [15:38:02.0000] <Philip`> Uh [15:38:03.0000] <Philip`> *a seperate SQLite-connection per browsing context [15:38:04.0000] <met_> yes [15:39:00.0000] <met_> has sqllite some lock mechanism for this? [15:39:01.0000] <met_> for more connection accesing one table [15:43:00.0000] <Philip`> You can open multiple connections (as long as the database is stored on disk, not in memory, I think), so each will have its own last_insert_rowid and stuff, and you can do some coarse-grained (per-table reader-writer) locking to stop transactions interfering [15:44:00.0000] <Philip`> and JavaScript's singlethreadedness should avoid most of the real concurrency issues [15:44:01.0000] <met_> fine [15:44:02.0000] <Philip`> (I think people would like finer-grained locks, but it'll only be implemented if they can find a mechanism that was described long enough ago for any patents to have expired) [15:45:00.0000] <met_> how handle in javascript case when 1 browser windows lock some table and second windows are in a que? should'n be there some timeout? for not to freeze so many windows [15:46:00.0000] <met_> *queu [15:48:00.0000] <Philip`> The browser can set SQLite's busy_timeout, so if two pages both BEGIN EXCLUSIVE then the second will time out after 5 seconds (or whatever) and presumably the browser would then raise a JavaScript exception [15:48:01.0000] <Philip`> Oh, actually, no [15:48:02.0000] <met_> busy_timetout will be useful [15:49:00.0000] <Philip`> Since JS runs single-threaded, you wouldn't want to bother with timeouts because there isn't any other thread that's going to release the lock later [15:49:01.0000] <met_> and what 2 browser windows? [15:49:02.0000] <Philip`> Both browser windows still run all the scripts in the same thread (as far as I'm aware) [15:49:03.0000] <met_> these are not neccessary in one JS thread [15:50:00.0000] <met_> or is it some recommendation for implementors? [15:50:01.0000] <Philip`> HTML5 says "... the HTML scripting model is strictly single-threaded and not reentrant" [15:51:00.0000] <met_> and concern this really more windows? [15:51:01.0000] <Philip`> So you could still have one page that does BEGIN EXCLUSIVE and then returns control to the browser, then a second page comes along and tries BEGIN EXCLUSIVE but it would immediately fail because the table's already locked (so you set the busy timeout to 0, I guess) [15:52:00.0000] <Philip`> which is kind of irritating since a single page can jam the database until you restart your browser [15:52:01.0000] <met_> /me rememer only Firefox to have js threads via XPCOM [15:52:02.0000] <Philip`> Oh, no, it only jams the database until you close the page which had the lock [15:52:03.0000] <Philip`> (since that page has its own connection, and locks belong to connections) [15:53:00.0000] <met_> or there can be some max_time_limit for one sql request [15:53:01.0000] <Philip`> I think multiple windows still have to all be in the same single thread (or at least appear exactly as if they are), because they can interact with each other in various ways [15:53:02.0000] <met_> if it takes too long db should stop it [15:55:00.0000] <Philip`> It doesn't have to be a slow request - you could just do "<script>executeSql('BEGIN EXCLUSIVE')</script>" and the request would finish quickly, but the database would still be locked [15:55:01.0000] <Philip`> (Oops, I said it was per-table but actually it's per-database) [15:57:00.0000] <Hixie> yeah the spec already describes the threading model in detail [15:58:00.0000] <Hixie> though i can't find it now [15:58:01.0000] <Hixie> hm [15:58:02.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/#threads ? [15:58:03.0000] <Hixie> oh there we go [15:58:04.0000] <Hixie> 4.1.4 [16:04:00.0000] <met_> if i read br. context well it looks like if I have two independent browser windows with www.example.com, these are 2 browsing context and do not know about each other, so single-thread rule doesn't apply for them [16:04:01.0000] <Hixie> correct [16:05:00.0000] <Hixie> bbiab [16:05:01.0000] <Philip`> Oh, in that case it's not true that the database access is single-threaded and easy [16:06:00.0000] <met_> yes [16:07:00.0000] <Philip`> /me wonders what happens if there are two unrelated browsing contexts, one in a window named "A" and one in a window named "B", and simultaneously the first does "while (1) window.open(uri, 'B');" and the second does "while (1) window.open(uri, 'A');" [16:10:00.0000] <Dashiva> One would win [16:11:00.0000] <Dashiva> Unless you're somehow managing to really run both at once using two processors and a multithread-script UA or somesuch [16:12:00.0000] <Philip`> The threading model in the spec allows them to be in separate threads on separate processors, as far as I can tell [16:13:00.0000] <Philip`> I guess a sensible implementation would just abort one of the scripts when it's forcibly navigated away from, since it's the same as if one page does "while (1) {}" and the user tries to hit the back button to get away [16:15:00.0000] <MasterLexx> heho [16:16:00.0000] <Philip`> (Or maybe a sensible implementation would do everything in a single thread anyway, since it's not like people tend to look at multiple unrelated pages which are simultaneously using the full CPU to execute JS) [16:16:01.0000] <Philip`> Good evening [16:16:02.0000] <MasterLexx> html5? [16:17:00.0000] <Philip`> Yes? [16:17:01.0000] <MasterLexx> i did just read about it, is it only because of backwards compatibility and the xml must 100% valid problem? [16:17:02.0000] <Dashiva> It's not a 'only', no [16:18:00.0000] <MasterLexx> i am currently using xhtml 1.0 strict for all my small websites, so tell me, what is the future? xhtml2 or xhtml5? [16:18:01.0000] <Dashiva> Well, browsers are implementing parts of xhtml5 already [16:19:00.0000] <MasterLexx> i have read here and there a bit, but can't find much examples of html5 and so, i am no technician, so i don't udnerstand all those documentations with this abstract text [16:19:01.0000] <Dashiva> It's a work in progress [16:19:02.0000] <MasterLexx> is there a site where i can see a comparison of xhtml2 and 5 and 1? [16:20:00.0000] <MasterLexx> okay, and html5 will have all the elements of html 4.01 strict? or on what does it build up on? [16:21:00.0000] <Dashiva> It builds on the existing web [16:22:00.0000] <MasterLexx> ..... [16:22:01.0000] <Philip`> http://wiki.whatwg.org/wiki/Changes_from_HTML4 lists some differences between HTML4 and HTML5 [16:22:02.0000] <MasterLexx> thx [16:24:00.0000] <hasather> Hopefully, this will be a success: http://yodel.yahoo.com/2007/05/22/one-small-step-for-email-one-giant-leap-for-internet-safety/ [16:29:00.0000] <MasterLexx> is the stupid target attribute removed in html5? [16:30:00.0000] <MasterLexx> as far as i read, frames arent supported [16:32:00.0000] <Hixie> Philip`: in that kind of UA, i would imagine that the ua would not determine "that the two browsing contexts are related enough that it is ok if they reach each other" [16:48:00.0000] <Philip`> Hixie: Ah, didn't see that bit - makes sense 2007-05-24 [17:09:00.0000] <Philip`> Wow, I'd forgotten how great Verlet integration is when compared to Euler integration [17:17:00.0000] <Philip`> http://canvex.lazyilluminati.com/misc/physics.html - I don't know why it doesn't work nicely in Opera - the circle rendering is broken and it only goes at 10fps :-( [17:18:00.0000] <Philip`> Also it's extremely jerky in FF3, but at least FF2 works fine... [17:22:00.0000] <MasterLexx> okay, now i am not anymore so sure of the success of html 5 http://www.webdevout.net/tidings/2007/04/23/the-whimzical-world-of-html-5/ [17:24:00.0000] <MasterLexx> i hope those html5 guys will make something good out of it, but i don't think this will happen in the next time [17:25:00.0000] <Hixie> we're the html5 guys :-) [17:31:00.0000] <MasterLexx> ohh [17:32:00.0000] <MasterLexx> hmm, i hope you guys fix those things [17:35:00.0000] <Hixie> what do you want us to fix? [17:42:00.0000] <MasterLexx> i meant those things described there, like the bugmode [17:42:01.0000] <MasterLexx> and the thing with no version information.... why not? i don't think it can harm. [17:42:02.0000] <Hixie> the bugmode was just an idea someone proposed, we're not doing it [17:43:00.0000] <Hixie> why would you want version information? it's just more stuff for you to remember when you write HTML pages [17:43:01.0000] <Hixie> and most people don't bother with it anyway [17:43:02.0000] <MasterLexx> browsers have to bother with it [17:43:03.0000] <Hixie> why? [17:43:04.0000] <Hixie> they haven't up to now... [17:43:05.0000] <MasterLexx> it's not bad, at least let is a option! [17:43:06.0000] <Hixie> i don't understand what you would want it for [17:44:00.0000] <Lachy> only IE is going to bother implementing a bug mode switch [17:44:01.0000] <MasterLexx> i meant, i could still be there as optional emlement [17:44:02.0000] <Hixie> right, but what would it be good for? [17:44:03.0000] <Hixie> there's no point having an optional thing if it isn't used for anything [17:44:04.0000] <Hixie> just makes people who don't understand HTML think it's important and confuses them [17:45:00.0000] <MasterLexx> as wrtitten in the article, what if something goes wrong? what if one docuemnt has to be handeled in another manner? [17:45:01.0000] <MasterLexx> (sorry for my grammar, i am german) [17:45:02.0000] <Hixie> i don't understand why you would want documents to be handled in a different manner [17:45:03.0000] <Hixie> wouldn't we want just one set of rules? [17:46:00.0000] <Hixie> having multiple different sets of rules just seems like it would be really confusing for authors [17:46:01.0000] <MasterLexx> what if in a future html 6 some elemets are deprecated... [17:46:02.0000] <MasterLexx> i don't think so, you have one set of elements and attributes that you use, like in xhtml 1.0 strict, i don't use others... [17:46:03.0000] <Lachy> elements still have tob e supported, even if they're deprecated [17:46:04.0000] <Hixie> deprecating them doesn't mean browsers stop supporting it [17:47:00.0000] <Hixie> e.g. browsers still support <p align="">, but align="" isn't in HTML5 [17:47:01.0000] <MasterLexx> but then this is some sort of quirks mode [17:47:02.0000] <Hixie> no, it's just the one mode [17:47:03.0000] <Hixie> we're trying to remove quirks mode as much as possible [17:47:04.0000] <Hixie> just have one mode [17:48:00.0000] <MasterLexx> oh god [17:49:00.0000] <MasterLexx> i think, there will be always other versions and things that are left out of new ones... [17:49:01.0000] <Hixie> they'll be left out of the language, but that doesn't affect what browsers have to do [17:49:02.0000] <Hixie> browsers just have one set of code that handles all versions [17:49:03.0000] <MasterLexx> nahh okay, i think i will wait a bit and see what heppens to html5 [17:50:00.0000] <MasterLexx> i don't think i understand much of this, but it would meen that there will be a mess of elemets and attributes that all always have to be supported by browsers, there will never be a clear html this way [17:51:00.0000] <Hixie> yes, browsers will always support old documents [17:51:01.0000] <Hixie> having a version doesn't change that [17:51:02.0000] <madmoose> Browsers that want to be backwards compatible have to support all the old stuff anyway. [17:52:00.0000] <Hixie> note though that even though browsers have to support old stuff, it doesn't mean new versions of html can't be "clean" [17:52:01.0000] <Hixie> e.g. HTML5 doesn't have <tt> and <center> and so on [17:52:02.0000] <Hixie> even though browsers support <tt> and <center> [17:52:03.0000] <MasterLexx> okay okay, i read today the first time about html 5 in the news on selfhtml... i think i need to know more first [17:52:04.0000] <madmoose> Microsofts argument for a version number (if I understand it correctly) is that they want to support old bugs in their implementation, but their release cycle isn't going to coincide with html versions anyway. [17:54:00.0000] <Lachy> Microsoft's argument is flawed [17:54:01.0000] <Lachy> they want to perpetuate every bug in every single browser version, for all time [17:55:00.0000] <madmoose> Well that's their prerogative. [17:55:01.0000] <madmoose> It doesn't have anything to do with html version numbers though. [17:56:00.0000] <mpt> gsnedders, iCab doesn't have alerts asking you if you want pages to render per spec or per Web, but it does have checkboxes for it [17:57:00.0000] <mpt> hsivonen, on the Web at least, starship names are possibly more common than ship names [17:59:00.0000] <MasterLexx> what? [18:00:00.0000] <MasterLexx> bye and good night [01:28:00.0000] <annevk> " [01:28:01.0000] <annevk> HTML5 is that spec. That was the original goal of the WHATWG effort, and [01:28:02.0000] <annevk> continues to be this goal. There are already other groups writing [01:28:03.0000] <annevk> specifications that don't take today's content into account, e.g. XHTML2. [01:28:04.0000] <annevk> Those specs will be ignored. I have no intention of writing a spec that [01:28:05.0000] <annevk> will be ignored, it seems like a spectacular waste of time and of the [01:28:06.0000] <annevk> human race's resources." [01:32:00.0000] <Hixie> hm? [01:33:00.0000] <annevk> I liked the way you phrased it [01:34:00.0000] <annevk> btw, it seems like <script for= event=> needs to be implemented :( [01:36:00.0000] <Hixie> it's not backwards compatible [01:37:00.0000] <annevk> it's implemented in IE and Firefox and is used by plugins [01:37:01.0000] <annevk> executeSql() isn't backwards compatible either for that matter :) [01:37:02.0000] <Hixie> it's used in firefox? [01:38:00.0000] <Hixie> executeSql doesn't cause scripts to run when they shouldn't [01:38:01.0000] <annevk> yeah [02:21:00.0000] <mikeday> some of the imperative pseudo-code/prose in the HTML5 spec is rather difficult to follow [02:29:00.0000] <annevk> you have to be a native en-GB-x-Hixie speaker [02:30:00.0000] <mikeday> that could be awkward [02:31:00.0000] <mikeday> it's rather frustrating, as you can almost represent all this stuff with regular expressions [02:31:01.0000] <mikeday> which would be a lot easier to check that you've got it right [02:32:00.0000] <mikeday> I'm stuck on the "get an attribute" step [02:32:01.0000] <annevk> if you read carefully it shouldn't be a problem [02:32:02.0000] <mikeday> the code gets rather long and fiddly [02:37:00.0000] <annevk> you don't have to follow the specification [02:37:01.0000] <annevk> you just have to ensure that A > algorithm > B is identicala [02:37:02.0000] <jgraham> mikeday: Charset sniffing? Yeah, I didn't like doing that either [02:37:03.0000] <annevk> actually, A > B > C [02:37:04.0000] <annevk> where B can be English prose or C [02:37:05.0000] <annevk> or Python, etc. [02:38:00.0000] <mikeday> right [02:45:00.0000] <mikeday> the charset sniffer seems to parse attributes on close tags, eg. </foo bar="baz"> [02:45:01.0000] <annevk> yeah [02:45:02.0000] <annevk> tokenizer does that too [02:46:00.0000] <mikeday> does the tokenizer parse them then throw them away? [02:46:01.0000] <annevk> yes [02:46:02.0000] <mikeday> phew :) [02:49:00.0000] <mikeday> what I meant about the spec is that the description is actually lower level than the code [02:49:01.0000] <mikeday> it's easier to implement a high level spec with low level code than the reverse. [02:49:02.0000] <annevk> hmm [02:49:03.0000] <annevk> isn't the spec at the same level? [02:50:00.0000] <annevk> charset sniffing needs to be done at the byte level [02:51:00.0000] <mikeday> I mean it's very imperative [02:51:01.0000] <mikeday> the spec is longer than your python implementation, for example [02:51:02.0000] <mikeday> and much harder to understand [02:53:00.0000] <annevk> so how can it be done in the same way being as exact as it is now? [02:53:01.0000] <annevk> if it can be improved I suppose it should be done [02:54:00.0000] <mikeday> that's what I'm trying to figure out [02:54:01.0000] <mikeday> using regular expressions would be an obvious place to start [02:54:02.0000] <mikeday> and it's easy to see how that could be done for most of it [02:55:00.0000] <mikeday> for example: <![^>]*> [02:55:01.0000] <mikeday> that's the regular expression to match <!DOCTYPE...> and similar junk and skip over it [02:56:00.0000] <mikeday> similarly for comments: <!--([^-]|-[^-]|--[^>])*--> [02:56:01.0000] <mikeday> defining it using a regular expression means that there is no ambiguity about <!--> vs. <!---> vs. <!----> [02:57:00.0000] <mikeday> start tags and get attribute are a little trickier, but I think can still be done [02:58:00.0000] <mikeday> to match the beginning of a start tag: </?[A-Za-z][^\s><]* [02:59:00.0000] <mikeday> (or end tag, as it has an optional slash) [03:00:00.0000] <mikeday> the resulting regular expressions could just about be pasted straight into lex or perl or whatever [03:01:00.0000] <annevk> however, it makes it harder to introduce <!--> as comment [03:02:00.0000] <mikeday> very easy, just change the regular expression [03:02:01.0000] <mikeday> much easier than editing the prose [03:03:00.0000] <mikeday> actually, the expression I pasted before is a little bit too strict [03:03:01.0000] <annevk> if you're going down that route you have to define what subset of regular expressions and such... [03:03:02.0000] <mikeday> <!--([^-]|-+[^>])*--> would be better [03:03:03.0000] <annevk> /me prefers the prose actually [03:04:00.0000] <mikeday> that's not a problem, many many specifications use standard subset of regular expressions or BNF [03:04:01.0000] <mikeday> oh well :) [03:05:00.0000] <annevk> regular expressions also encourages a particular implementation [03:05:01.0000] <annevk> which isn't necessarily good [03:06:00.0000] <annevk> meeting [03:06:01.0000] <mikeday> hmm, I think the current prose is more biased towards a particular implementation [03:06:02.0000] <mikeday> whereas regular expressions can be implemented directly, or used as specification for hand written parser [03:12:00.0000] <mikeday> ahah, regular expression for attributes: [\s/]*([^<>][^=\s/<>]*)[\s]*=[\s]*('[^']*'|"[^"]*"|[^\s<>]*) [03:13:00.0000] <mikeday> it may look like line noise, but you don't have to be an en-GB-x-Hixie speaker to understand it :) [04:27:00.0000] <annevk> mikeday|away, you have to be crazy instead :p [04:32:00.0000] <mikeday> it's not really as nasty as it looks :) [05:10:00.0000] <gsnedders> mikeday: and how do you define error handling with ABNF/regex? [05:11:00.0000] <mikeday> you don't have to [05:11:01.0000] <mikeday> charset sniffing doesn't do error handling [05:12:00.0000] <gsnedders> mikeday: the majority of the tokeniser does, though [05:12:01.0000] <mikeday> the tokeniser is more complex [05:13:00.0000] <mikeday> but even that could be "more formalised" than it currently is [05:13:01.0000] <gsnedders> mikeday: then where were you going to use ABNF/regex? in the document conformance section? [05:13:02.0000] <mikeday> I'm just looking at charset sniffing now [05:15:00.0000] <mikeday> currently it is defined imperatively: go forward one byte, if it's this then goto step 1, otherwise step 2... [05:15:01.0000] <gsnedders> trying to work out how to implement things without using regex when given like that can get rather complex [05:17:00.0000] <mikeday> eh? you mean if I give you a regular expression you don't know what to do with it, or what? [05:17:01.0000] <gsnedders> I mean trying to implement a complex regular expression without using regular expressions can be hard to work out [05:18:00.0000] <mikeday> well, not really; regular expressions can be transformed into code mechanically [05:18:01.0000] <mikeday> unlike prose. [05:19:00.0000] <Dashiva> The regular expressions have to be created from prose first, though [05:19:01.0000] <Philip`> Would BNF be easier to understand and less line-noise-like than regular expressions, but still work about the same? [05:20:00.0000] <mikeday> yes [05:20:01.0000] <gsnedders> BNF is slightly easier, yes [05:20:02.0000] <mikeday> you would create definitions for commonly used bits [05:20:03.0000] <mikeday> avoid regular expression style shorthand [05:20:04.0000] <mikeday> more like the EBNF in the XML spec [05:21:00.0000] <gsnedders> I have a preference of ABNF, personally [05:21:01.0000] <mikeday> Comment ::= '<!--' Char* '-->' [05:21:02.0000] <mikeday> (as a rough example) [05:24:00.0000] <annevk> tree construction is now 63 lines... [05:24:01.0000] <annevk> two simple functions :) [05:25:00.0000] <mikeday> sounds good! [05:26:00.0000] <gsnedders> /me still doesn't really know how to parse URIs without using regular expressions, when you don't know how many parts of the URI you have [05:27:00.0000] <mikeday> you mean like optional query parameters or port numbers? [05:27:01.0000] <gsnedders> or schemes, or authority, etc. [05:28:00.0000] <mikeday> it's pretty horrible [05:29:00.0000] <mikeday> :) [05:29:01.0000] <gsnedders> I can think of ways of doing it, but all very expensive [05:29:02.0000] <gsnedders> and in a non-cached interpreted language… [05:30:00.0000] <mikeday> the overlap between URLs and filenames makes things even worse [05:31:00.0000] <mikeday> c:foo is a filename, not a URL with scheme "c" [05:31:01.0000] <mikeday> of course, http://slashdot.org is a valid filename on Linux... [05:32:00.0000] <gsnedders> what FSes is it not valid on? [05:33:00.0000] <gsnedders> NTFS? [05:39:00.0000] <annevk> so it will become a little longer I'm afraid [05:39:01.0000] <annevk> need to deal with after the last closing tag too [05:39:02.0000] <annevk> oops [05:42:00.0000] <gsnedders> only two exams left this year! [05:58:00.0000] <mikeday> Windows won't like http://... as a filename I suspect [06:02:00.0000] <Dashiva> \/:*?"<>| are illegal [06:02:01.0000] <mikeday> but anyway, if you try to use "http://..." as a filename, many programs will treat it as a URL instead [06:03:00.0000] <mikeday> 'cos it starts with http: [06:03:01.0000] <mikeday> can't really blame them [06:20:00.0000] <gsnedders> Mac OS X won't like http:// as a filename, but HFS+ doesn't care. You can actually create a file called that going through the POSIX layers of OS X [06:45:00.0000] <annevk> /me wonders why mike uses both tabs and spaces [06:45:01.0000] <annevk> /me doesn't like that [06:47:00.0000] <MikeSmith> annevk - mike = me? [06:48:00.0000] <annevk> no, mikeday [06:48:01.0000] <annevk> in his libhtml project [06:51:00.0000] <MikeSmith> maybe because he inherited parts of the code from somebody ... [06:52:00.0000] <MikeSmith> happens to me sometimes [06:52:01.0000] <annevk> seems like he's starting from zero [06:52:02.0000] <annevk> (there's not much there so far) [07:04:00.0000] <annevk> XML5 sort of works now :) [07:05:00.0000] <annevk> there's no spec yet, but there's an implementation [07:06:00.0000] <Dashiva> What are the major changes so far? [07:07:00.0000] <annevk> I don't have DOCTYPE nodes (DOCTYPEs do affect processing of entities), I got </>, I got error handling [07:07:01.0000] <annevk> s/got/have// [07:08:00.0000] <annevk> I need to make testcases at some point and once I tweaked stuff a bit more I want to set up some online demo so people can generate trees for themselves [07:36:00.0000] <Philip`> zcorpan: http://canvex.lazyilluminati.com/misc/physics.html (probably works best in Firefox) seems to be the desired kind of concept, and it's not particularly complex, though I still don't think it could get close enough to Elasto Mania without having their code to copy :-( [07:37:00.0000] <annevk> Philip`, btw, instead of using toDataURL and drawImage() one could use getImageData and putImageData [07:38:00.0000] <met_> Philip`looks nice [07:39:00.0000] <zcorpan> Philip`: cool! [07:39:01.0000] <Philip`> annevk: You can't really use get/putImageData if you want to save the image between browser sessions, because it's not unlikely that the user will change their screen resolution or switch to a different browser, and then ImageData will no longer correspond to the correct size (and you have no way of knowing what the correct size would be) [07:41:00.0000] <Philip`> Also it seems incredibly inefficient saving ImageData to disk, because it'll be dozens of bytes per pixel, whereas toDataURL is nice since it's about the best compression possible [07:41:01.0000] <Philip`> (Er, except it's base64-encoded, which kind of damages that a bit) [07:41:02.0000] <annevk> the first is an argument for having canvas pixel == image data pixel and the second, yeah fair enough [07:41:03.0000] <Philip`> (but not a lot) [07:42:00.0000] <annevk> doesn't have to be base64 encoded in theory [07:43:00.0000] <Philip`> Hmm, can you get Unicode URIs with no limits on whatever characters are included? Then you could do image/png;base65536,<...> which'd be better [07:43:01.0000] <annevk> Philip`, I managed to jump out your physics model [07:43:02.0000] <annevk> I'm falling hard and forever :) [07:43:03.0000] <met_> me too [07:43:04.0000] <Philip`> The jumping-through-walls thing is an intentional feature ;-) [07:43:05.0000] <met_> on the left side [07:44:00.0000] <Philip`> because apparently that's what Elasto Mania does, so I'm just doing the same, though I'm probably using larger timesteps so it's a more visible problem [07:44:01.0000] <Dashiva> Philip`: Might as well stick to base256, no? :) [07:44:02.0000] <Philip`> Dashiva: Depends on whether it's being stored on disk as UTF-8 or UTF-16 [07:45:00.0000] <Philip`> Actually, neither of those would work because they've got funny non-codepoint values :-( [07:45:01.0000] <Dashiva> Yep [07:45:02.0000] <Philip`> If you're storing ISO-8859-1 or UCS-2, then it'd work as base 256/65536 nicely [07:47:00.0000] <Philip`> annevk: If you had canvas pixel == image data pixel, why would one want to use get/putImageData instead of toDataURL/drawImage? [07:48:00.0000] <annevk> security [07:48:01.0000] <Philip`> Ah, right [07:50:00.0000] <Philip`> ...though toDataURL/drawImage should have the same security permissions/restrictions as ImageData (I think), except that current implementations don't do that [07:50:01.0000] <annevk> It's still unclear to me if you can somehow get an unsafe data: URL [07:53:00.0000] <Philip`> If you've got any kind of data: URL at all, how is being able to new Image()/drawImage/toDataURL any worse than simply transmitting the data: URL string directly to somebody? [07:57:00.0000] <Philip`> If you've got an image which was loaded from an external data: URL (or in another document or something) and you can't actually get the data: URL string out from it, then I think that's handled under different security rules and it's given a different origin so you can't drawImage/toDataURL it, so maybe that handles the problems (but I should probably leave security issues to people who understand them :-) ) [07:58:00.0000] <annevk> I suppose data: URIs might be "safe" then [07:58:01.0000] <annevk> as long as you don't use data:image/svg+xml, or something [08:41:00.0000] <zcorpan> btw, the presentation went well yesterday [09:02:00.0000] <gsnedders> exams over! w00t! [09:05:00.0000] <Philip`> Just until next year? :-) [09:07:00.0000] <zcorpan> html5.org seems to be down :( [09:09:00.0000] <hasather> zcorpan: hmm, that happens fairly often [09:10:00.0000] <MikeSmith> zcorpan - presentation? [09:10:01.0000] <zcorpan> MikeSmith: yeah, http://www.robertnyman.com/2007/04/26/geek-meet-may-2007-html-5-and-xhtml/ [09:12:00.0000] <hasather> zcorpan: probably because of this: http://www.dreamhoststatus.com/2007/05/23/more-dns-issues/ [09:21:00.0000] <zcorpan> hasather: ok [09:32:00.0000] <annevk> zcorpan, what questions did you get? [09:33:00.0000] <annevk> zcorpan, and what about the other presentation? [09:35:00.0000] <zcorpan> annevk: mostly about document conformance things (like <font>), versioning (and doctypes), if html5lib could parse tag soup, whether the presence/absence of "/" in void elements need to consistent... [09:35:01.0000] <zcorpan> when html5 will be ready/used/implemented [09:36:00.0000] <annevk> it's used and implemented... ready? well... [09:36:01.0000] <annevk> :) [09:36:02.0000] <zcorpan> jarvklo talked about xhtml and the mobile web, mostly [09:37:00.0000] <zcorpan> he had some good ideas about what can be done server side, like checking conformance without using a third party [09:37:01.0000] <annevk> how XHTML is fucked up there? [09:38:00.0000] <zcorpan> not really [09:39:00.0000] <zcorpan> more that the w3c and wap forum (or what it is) have finally come to an agreement about what markup to use for mobiles [09:39:01.0000] <annevk> oh that [09:40:00.0000] <annevk> I think vendors have mostly decided that HTML is to be used for mobiles [09:40:01.0000] <annevk> (Vendors being Apple, Nokia and Opera here...) [09:40:02.0000] <zcorpan> ok [09:40:03.0000] <zcorpan> i'd encourage you to talk to jarklo directly though [09:41:00.0000] <annevk> the actual news from "wapforum" is that they're no longer going to subset and then superset W3C specs [09:41:01.0000] <annevk> like they did with WML2 and XHTML Mobile Profile [09:41:02.0000] <zcorpan> indeed [09:41:03.0000] <annevk> not that XHTML is now recommended or something [09:42:00.0000] <zcorpan> i thought it was [09:43:00.0000] <annevk> yeah, it probably still is [09:43:01.0000] <zcorpan> on what grounds i don't know, really [09:44:00.0000] <annevk> "latest, greatest" [09:44:01.0000] <annevk> Anyone know how to escape !- inside a Linux terminal? [09:45:00.0000] <othermaciej> \? [09:45:01.0000] <annevk> I'm trying to test comments but doing 'python test.py "<!-- -->"' doesn't work [09:45:02.0000] <othermaciej> backslash or single quote [09:46:00.0000] <annevk> I tried backslash, didn't work [09:46:01.0000] <annevk> Single quote doesn't seem to work either... [09:46:02.0000] <othermaciej> what shell are you using? [09:47:00.0000] <annevk> Ah wait, backslash does work [09:47:01.0000] <annevk> The problem is that the backslash ends up in my Python script... [09:47:02.0000] <othermaciej> echo "<"\!"-- -->" [09:47:03.0000] <annevk> I'm using "GNOME Terminal 2.x" [09:47:04.0000] <othermaciej> does what you'd want in bash [09:48:00.0000] <othermaciej> the terminal is not the shell [09:48:01.0000] <annevk> ah ok [09:48:02.0000] <annevk> that does work [09:48:03.0000] <annevk> thanks [09:58:00.0000] <annevk> twitter is funny... it escapes your text input and then counts the number of characters and complaints about it being over 140... [09:59:00.0000] <Dashiva> Even better with forum software showing title previews, first 10 chars or so, after escaping [10:00:00.0000] <Dashiva> Here we &nb... -> [10:00:01.0000] <annevk> the thing is that the client side check does count the visual characters and it therefore does get submitted and ends up in their database [10:15:00.0000] <annevk> whatwg is down [10:16:00.0000] <hasather> annevk: DH is having DNS issues [10:21:00.0000] <annevk> k [10:36:00.0000] <zcorpan> html5.org is up again [10:38:00.0000] <zcorpan> perhaps i should blog about the presentation at blog.w.o [10:39:00.0000] <annevk> you have a blog now? :) [10:39:01.0000] <zcorpan> blog.whatwg.org [10:41:00.0000] <annevk> heh [11:16:00.0000] <gsnedders> /me has been given the best reason _ever_ for using <em> for italics even though they've been told better — "we prefer it". [11:19:00.0000] <Hixie> if anyone can work out the code ni http://img.shopping.com/jfe/JavaFrontEnd-fe55.1.1-874/js/tabMenus.js gets called in a way that actually does something, i'll give them 500 points. [11:19:01.0000] <Hixie> a sample page that gets that js file is http://www1.uk.shopping.com/xPP-hobs--neff-price_range_630_800 [12:02:00.0000] <Philip`> http://66.102.9.104/search?q=cache:4IXIf9DhazkJ:zhulianxing.blogspot.com/feeds/posts/default/7688979022477086776 - back in February it had <a ... onmouseover="startShow(&#39;1&#39;,&#39;6&#39;);setMenusSize(&#39;8&#39;);" onmouseout="sMH();hIfr();" ...> [12:04:00.0000] <Philip`> Uh, March [12:04:01.0000] <Philip`> (probably) [12:06:00.0000] <Philip`> (I really don't know why http://zhulianxing.blogspot.com/ posted shopping.com's front page on their blog...) [12:07:00.0000] <Hixie> aah [12:07:01.0000] <Hixie> interesting [12:12:00.0000] <bewest> what will 500 points get me? [12:12:01.0000] <nickshanks> ian, did you see my mailing list suggestion? is it workable? [12:13:00.0000] <Hixie> bewest: dunno :-) [12:13:01.0000] <Hixie> nickshanks: which one? [12:13:02.0000] <zcorpan> http://blog.whatwg.org/html5-geekmeet [12:14:00.0000] <Hixie> bewest: thanks, though, that's very helpful [12:14:01.0000] <nickshanks> ian: one document or two [12:17:00.0000] <Philip`> "Does that mean that you can convert any old HTML document to XML by feeding it through html5lib?" - not really, since it seems a significant number produce DOMs that can't be serialised to well-formed XML [12:17:01.0000] <Hixie> nickshanks: when did you send it? [12:17:02.0000] <Hixie> oh i see it [12:17:03.0000] <nickshanks> about 20 mins ago. i can't receive emails now, so haven't seen if anyone replied [12:17:04.0000] <Hixie> haven't gotten to that yet in my e-mail [12:17:05.0000] <Hixie> :-) [12:17:06.0000] <zcorpan> Philip`: yeah, true [12:17:07.0000] <Hixie> there's a reply [12:17:08.0000] <nickshanks> but since you popped up in #webkit, i thought i'd ask :) [12:18:00.0000] <zcorpan> Philip`: you can probably convert it to XML5 however ;) [12:18:01.0000] <Philip`> (Actually, I'm not sure how significant a number - at least there are some with <!--------> which I think can't be done, and some with invalid characters in attribute names, but I never looked at what the actual problems were and if they could be worked around easily) [12:19:00.0000] <bewest> I don't think that javascript is used on that page [12:19:01.0000] <bewest> Hixie: it looks like legacy stuff that someone new is trying to clean up [12:19:02.0000] <bewest> Hixie: looks to me like thereis more than one author involved in the javascript across the site [12:20:00.0000] <Hixie> seems likely [12:20:01.0000] <Hixie> oh well [12:20:02.0000] <bewest> sometimes new people may not like javascript that goes out onthe site... but they can't necessarily just get rid of it because it's not clear what might break [12:22:00.0000] <Philip`> shopping.com on archive.org shows that the tabMenus thing wasn't there six months ago, so it's a new addition (and then half-removal) [12:22:01.0000] <Hixie> fun [12:22:02.0000] <Philip`> http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cspacer+type%22block%22+width%3D%221%22+height%3D%221%22%3E%3C%2Fspacer%3E - aha, that's one I found that couldn't be serialised to XML [12:23:00.0000] <Philip`> Can XML5 do that? :-) [12:23:01.0000] <Hixie> hm, the tag wants to talk to me [12:23:02.0000] <Hixie> that can't bode well [12:25:00.0000] <Philip`> Hallucinating about speaking HTML tags? [12:26:00.0000] <Hixie> no, the w3c tag [12:26:01.0000] <Hixie> apparently there is "significant interest" in me joining them for lunch next week [12:26:02.0000] <Dashiva> Bring a food taster [12:27:00.0000] <Hixie> it'll be in a google cafeteria, so i think i'm safe [12:28:00.0000] <Dashiva> Polonium or whatnot, I tell you [12:29:00.0000] <othermaciej> Hixie: perhaps they want you to say hello to their little friend [12:35:00.0000] <nickshanks> Dashiva: that's the soviets silly [12:35:01.0000] <nickshanks> soogle isn't microsoft [12:35:02.0000] <nickshanks> -s +g [12:35:03.0000] <Hixie> nickshanks: replied [12:35:04.0000] <nickshanks> what did you say? :) [12:36:00.0000] <nickshanks> (i can't get email atm.) [12:36:01.0000] <Hixie> you said that an option would be to "simply have two views of the spec" [12:36:02.0000] <Hixie> i said that it was from "simple" [15:32:00.0000] <jgraham> html5lib now has BeautifulSoup support (at last. I really made a meal of implementing it) [15:32:01.0000] <Hixie> what's BeautifulSoup? [15:33:00.0000] <jgraham> http://www.crummy.com/software/BeautifulSoup/ [15:33:01.0000] <jgraham> (we just build a tree in that format, the BeautifulSoup parser is irrelevant, obviously) [15:34:00.0000] <Hixie> ah ok [15:34:01.0000] <jgraham> Simon Willison asked for it at XTech so he could use his getElementsByCSSSelector function with html5lib [15:39:00.0000] <Hixie> ah [15:50:00.0000] <zcorpan> is there a reason why http://wiki.whatwg.org/wiki/HTML5_Presentations doesn't link to hsivonen's slides? [15:52:00.0000] <hasather> annevk: oh, I'll update it now [15:55:00.0000] <zcorpan> /me adds a link, if it shouldn't be there then revert it... :) [16:01:00.0000] <nickshanks> while you're att it, you can translate the page to swedish ;-) [16:06:00.0000] <zcorpan> lol [16:16:00.0000] <zcorpan> hsivonen: the expansions of XSD and XHTML5 in your thesis say "XML" in <abbr title> in your thesis [16:38:00.0000] <mpt> The perils of invisible metadata [16:41:00.0000] <Dashiva> I wouldn't say title is invisible [16:41:01.0000] <jruderman> just hiding [16:44:00.0000] <mpt> well, yeah [16:44:01.0000] <mpt> Semi-visible [16:44:02.0000] <mpt> like <title> in most browsers [16:44:03.0000] <mpt> hence "Welcome to Adobe GoLive 5" etc [16:46:00.0000] <nickshanks> if title was in the body, would that be a Good Thing ? [16:46:01.0000] <nickshanks> (assuming it had been that way since HTML 1) [16:46:02.0000] <Hixie> it's not where in the markup that matters in this case [16:46:03.0000] <Hixie> since the element is by definition not rendered in the main page [16:47:00.0000] <Hixie> and the main page title (H1) is often not an appropriate <title> [16:49:00.0000] <mpt> I think probably the only way to fix that problem is for browsers to not have toolbars at the top of the window [16:50:00.0000] <Hixie> we kind of have that now with the tab bars [16:50:01.0000] <nickshanks> well, titles go in the tab bar, and that's only 20 chars wide or so [16:50:02.0000] <mpt> |That's not reall...| [16:50:03.0000] <Hixie> i don't see the toolbar going away [16:50:04.0000] <nickshanks> tabs are not real? what! waaaaaa [16:51:00.0000] <nickshanks> /me holds his head in his hands* [16:51:01.0000] <mpt> -ly a solution :-) 2007-05-25 [23:53:00.0000] <hsivonen> jgraham: btw, it is now official that my next work items after getting the conformance checker source code better out there are proper Java implementations of the character encoding sniffing algorithm and the tokenizer [23:54:00.0000] <hsivonen> I intend to write and independent implementation to spec instead of porting html5lib [23:54:01.0000] <hsivonen> should be good both for getting the Javaness right and for getting more review of the spec [23:55:00.0000] <hsivonen> s/write and/write an/ [23:55:01.0000] <MikeSmith> hsivonen - how much work/time you estimate that will take? [23:59:00.0000] <hsivonen> MikeSmith: based on talking with jgraham and annevk and based on comparing # of lines of code against previous code, the expectation is that the first unpolished and untested version takes a week (after I'm done sharing the existing source code properly with build scripts) and testing and productization-quality polishing and testing is going to take a couple of weeks more. [00:01:00.0000] <hsivonen> basically, I expect the "get something running" take less time than all the productization polishing after it [00:01:01.0000] <hsivonen> although it isn't clear yet how well the those parts can be polished before the tree-builders exist [00:02:00.0000] <hsivonen> anyway, the goal is to produce a reusable library--not just to write the minimum that would allow the conformance checker to run [00:18:00.0000] <MikeSmith> hsivonen - are there others picking up your code so far? (that you're aware of) [00:19:00.0000] <hsivonen> MikeSmith: Jirka Kosek and Petr Nálevka will probably pick up the table integrity checker real soon now [00:19:01.0000] <hsivonen> MikeSmith: they are also interested in the parser [00:19:02.0000] <hsivonen> I'd advice against using my current parser, though [00:20:00.0000] <hsivonen> but once I'm done with writing a productized HTML5 parsing library with 4 tree builders, I'm all for others using it :-) [00:20:01.0000] <MikeSmith> yeah, I know you planning to update your parser to matech the spec [02:42:00.0000] <hsivonen> now that Vlad is suggesting dashing, it would be interesting to hear from the canvas implementors at Opera and Apple if they'd be ok with adding dashes [02:42:01.0000] <Hixie> adding this to canvas when canvas is so poorly implemented at this stage would be stupid [02:42:02.0000] <Hixie> every browser is swimming in bugs and unimplemented features already [02:43:00.0000] <Hixie> adding more stuff will just make it even less likely that we'll reach the sort of quality point we need for exiting CR [02:48:00.0000] <virtuelv> Hixie: agreed, canvas is suffering from poor interoperability [02:53:00.0000] <hsivonen> which is interesting since in theory, canvas should be the area of the spec where you could get the most interop per unit of effort (because the back end imaging model is well understood and old) [02:58:00.0000] <Hixie> it's the area of the spec with the most interop, i think [02:58:01.0000] <Hixie> but it would only get worse if we added more features at this stage, imho [02:58:02.0000] <Hixie> i mean, if the vendors think we should, i'll bow to pressure, but it just seems stupid to me [03:02:00.0000] <virtuelv> hsivonen: Some of the interop problems in canvas are a result of different interpretations of spec text, I believe [03:03:00.0000] <met_> so we need some spec how to read the spec? 8-) [03:04:00.0000] <virtuelv> met_: you mean you want formal grammar for a spec language [03:04:01.0000] <virtuelv> good luck [03:04:02.0000] <annevk> the spec text is improving [03:04:03.0000] <virtuelv> indeed it is [03:05:00.0000] <hsivonen> met_: the spec already says that it should be read forwards, backwards and in pieces [03:05:01.0000] <met_> hsivonen: nice 8-) [03:16:00.0000] <ROBOd> good morning to all [03:16:01.0000] <ROBOd> Hixie: ping? [03:23:00.0000] <Hixie> hey [03:27:00.0000] <ROBOd> hey Hixie, i was surprised to read your replies to my very old emails [03:27:01.0000] <Hixie> yeah, i'm going through all the feedback we received [03:28:00.0000] <ROBOd> very good, thanks for the replies [03:41:00.0000] <Hixie> ROBOd: btw in case i have other e-mails from you, i apologise in advance if i send the replies to the wrong address. i don't look at who wrote the e-mail when i reply to them, i just hit "reply all", write the reply, fix the spec if needed, and send the mail. [03:42:00.0000] <ROBOd> Hixie: absolutely no problem [03:42:01.0000] <ROBOd> i understand that [03:43:00.0000] <ROBOd> i just mentioned the email address change, in case others reply [03:43:01.0000] <ROBOd> i can no longer reply from the old email account - it's not subscribed to the ML [03:44:00.0000] <hsivonen> offtopic for the svn users: does svn integration actually work these days in eclipse? [03:44:01.0000] <annevk> /me uses SVN but not Eclipse :) [03:45:00.0000] <met_> http://subclipse.tigris.org/ looks so [03:45:01.0000] <hsivonen> *working* Eclipse integration is a must-have for me. I'm considering whether I should put the new html parser code in the schema CVS repo or start a new svn repo [03:46:00.0000] <hsivonen> met_: have you tried subclipse lately? [03:46:01.0000] <met_> no [03:46:02.0000] <hsivonen> my experience of subclipse is from two years ago and back then it was unacceptably b0rked [03:46:03.0000] <met_> looks its from same people like tortoiseSVN which i am using [03:46:04.0000] <Hixie> right, bed time [03:46:05.0000] <Hixie> nn [03:47:00.0000] <ROBOd> good night Hixie :) [03:47:01.0000] <hsivonen> Hixie: g'night [03:47:02.0000] <met_> /me have lunchtime in 5 minutes [03:48:00.0000] <ROBOd> bon appètit met_ [03:49:00.0000] <met_> thanks [04:22:00.0000] <Philip`> The canvas implementations all seem to be fine at just drawing stuff - they do curves and lines and rotated bitmaps and gradients and everything - and it's only in the mapping between the JS API and the drawing bits that has lots of problems [04:24:00.0000] <mikeday> don't they draw stuff in response to JavaScript API calls? [04:25:00.0000] <Philip`> They do, but usually they don't draw the correct stuff [04:25:01.0000] <mikeday> different implementations behave slightly differently? [04:26:00.0000] <Philip`> They often behave totally differently :-) [04:26:01.0000] <mikeday> oh :) [04:26:02.0000] <mikeday> since SQL is now part of the HTML5 spec, why not base the canvas on the PDF/PostScript rendering model? [04:27:00.0000] <annevk> ... [04:27:01.0000] <Philip`> There are simple cases like "moveTo(0, 0); translate(10, 10); lineTo(20, 20); stroke()" that are handled very differently [04:27:02.0000] <mikeday> really? how differently? [04:28:00.0000] <Philip`> Some apply the transformation as points are being added to the path, and some apply it just before the stroke so it affects all the points equally [04:28:01.0000] <mikeday> oh, right [04:29:00.0000] <mikeday> problem with imperative interface I guess [04:29:01.0000] <mikeday> needs a well defined mapping to an SVG DOM, perhaps :) [04:29:02.0000] <Philip`> http://canvex.lazyilluminati.com/tests/tests/results.html shows lots of problems and I haven't even got around to testing radial gradients or patterns or paths, which are particularly bad [04:29:03.0000] <Philip`> The behaviour is well-defined already - it just doesn't match two thirds of the implementations :-) [04:30:00.0000] <mikeday> not really a specification problem, then :) [04:31:00.0000] <Philip`> /me should write more tests and submit bug reports [04:32:00.0000] <Philip`> (and maybe write patches if they're not complicated and if everyone else wants to ignore them and add new features instead) [04:33:00.0000] <hsivonen> /me wonders what happens in PostScript if you manipulate the CTM between adding path segments [04:33:01.0000] <mikeday> good question [04:34:00.0000] <mikeday> I thought it was illegal [04:34:01.0000] <Philip`> What happens when you do something illegal? [04:35:00.0000] <mikeday> ask ghostscript :) [04:35:01.0000] <zcorpan_> a SWAT team comes to get you [04:36:00.0000] <mikeday> hmm, at least in PDF, once you start constructing a path you can't do anything else until you paint it [04:36:01.0000] <hsivonen> zcorpan_: the Web lacks the SWAT team [04:36:02.0000] <mikeday> if you *do* do anything else the results are not defined by the specification [04:37:00.0000] <hsivonen> zcorpan_: thesis comment noted. thanks. however, if at all feasible, I'm treating the dated files as frozen [04:38:00.0000] <Philip`> Aha, undefined behaviour sounds an excellent strategy to follow ;-) [04:38:01.0000] <mikeday> "Note: A content stream whose operations violate these rules for describing graphics objects can produce unpredictable behavior, even though it may display and print correctly." [04:39:00.0000] <mikeday> that's PDF, but I think it inherited the restriction from PostScript. [04:40:00.0000] <hsivonen> iirc, adobe reader silently accepts some non-conforming files that Ghostscript accepts but complains about [04:40:01.0000] <hsivonen> iirc, there were some semi-prominent Macromedia or Corel legacy products outputting the non-conforming stuff [04:42:00.0000] <hsivonen> but fewer people author PDF by hand, so the problem is not as bad as with HTML/CSS [04:42:01.0000] <mikeday> when it comes to PDF, acrobat compatibility is more important than following the spec [04:42:02.0000] <hsivonen> mikeday: are there cases where you have to violate the spec to be compatible with acrobat? [04:43:00.0000] <hsivonen> on the producer side, that is [04:43:01.0000] <mikeday> not that I recall, [04:43:02.0000] <mikeday> but there are some cases where PDF files that follow the spec will not be accepted [04:44:00.0000] <mikeday> funny how similar the situation is to browsers, actually [04:44:01.0000] <mikeday> there are just fewer user agents in PDF world [04:45:00.0000] <hsivonen> actually, there's also the top gang of four on the PDF side [04:45:01.0000] <hsivonen> (Adobe, Apple, xpdf-based, Ghostscript) [04:47:00.0000] <mikeday> yes [04:47:01.0000] <mikeday> I guess you can map Acrobat -> IE [04:48:00.0000] <mikeday> in that if it doesn't work in Acrobat, you've lost 90% of your userbase [04:49:00.0000] <mikeday> must go [04:50:00.0000] <annevk> Philip`, for that particular case I believe Opera matches the SVG model... [04:50:01.0000] <annevk> Philip`, and I think other vendors agreed it was more logical but they haven't updated their impl so far... [04:53:00.0000] <Philip`> annevk: Okay - I think the spec text matches Opera but it was waiting for implementor feedback when I last heard [04:54:00.0000] <annevk> yeah, Firefox and Safari still need to try to fix it... [04:58:00.0000] <hsivonen> annevk: http://tc.labs.opera.com/robots.txt isn't particularly friendly to people who try to locate the test suite [04:58:01.0000] <hsivonen> also, it suggest you don't want me to hit it with recursive wget [04:58:02.0000] <hsivonen> annevk: what's the right way to obtain a local copy of the test suite? [05:06:00.0000] <annevk> I suppose I could lift some restrictions [05:07:00.0000] <annevk> done [05:08:00.0000] <hsivonen> annevk: thanks [05:26:00.0000] <annevk> hsivonen, that's how text/plain loading is defined in HTML5... [05:26:01.0000] <annevk> using <plaintext> [05:30:00.0000] <Philip`> Does anyone happen to know how Safari probably does canvas shadows? It looks like it multiplies the shadow colour by the alpha value at each pixel, then does some blur (Gaussian with cutoff or something?) and composites stuff - maybe it's just the same as the PS / PDF definition, and hopefully that definition actually defines it... [05:30:01.0000] <annevk> heh [05:31:00.0000] <Philip`> Oh, PDF doesn't have shadows [05:32:00.0000] <Philip`> (and PostScript doesn't have shadows either) [05:35:00.0000] <annevk> maybe someone can make a <canvas> Acid test [05:35:01.0000] <Philip`> (and http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadows/chapter_8_section_1.html is uselessly vague) [05:36:00.0000] <annevk> http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_shadows/chapter_8_section_2.html#//apple_ref/doc/uid/TP30001066-CH208-DontLinkElementID_7 seems to have details [05:36:01.0000] <annevk> (linked from that page) [05:37:00.0000] <Philip`> It only has about one detail (that the default alpha is 1/3, which doesn't matter for canvas because you always override the default alpha) :-( [05:37:01.0000] <Philip`> Hmm, about colour spaces, does everyone implement canvas with sRGB? And should the spec state that? [05:38:00.0000] <annevk> doesn't CSS say something about that? [05:38:01.0000] <annevk> it should be the same as what CSS uses, anyway [05:38:02.0000] <Philip`> CSS3 Color says it's all in sRGB [05:39:00.0000] <Philip`> though I think canvas still needs to specify the colour space, so that e.g. linear interpolation along gradients makes sense [05:39:01.0000] <hsivonen> annevk: yes, but if you generate <plaintext> on the server, the sniffing does not kick in [05:41:00.0000] <hsivonen> Philip`: the sane way to spec it is that the canvas color space should be the same color space as what the UA uses for CSS colors in the absence of an explicit profile [05:42:00.0000] <hsivonen> Philip`: CSS says sRGB, but in reality browsers use the color space of the OS [05:44:00.0000] <zcorpan_> hsivonen: if you say text/plain; charset=utf-8, the sniffing doesn't kick in either (or it shouldn't) [05:45:00.0000] <zcorpan_> iirc [05:45:01.0000] <Philip`> /me wonders if trying to draw gamma-corrected PNGs onto a canvas is likely to involve far too much pain and is best avoided [05:45:02.0000] <hsivonen> zcorpan_: even in real-word IE? [05:45:03.0000] <hsivonen> Philip`: I'd expect lots of bogosity and bugs in that area [05:46:00.0000] <zcorpan_> hsivonen: not sure [05:46:01.0000] <Philip`> http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/html/HTMLCanvasElement.cpp#L238 - ah, that's using "DeviceRGB" [05:47:00.0000] <hsivonen> Philip`: yeah, but DeviceRGB isn't really the *device* but the OS. [05:47:01.0000] <Philip`> (Oh, did someone add Qt support to WebKit <canvas> recently?) [05:47:02.0000] <hsivonen> there's a transfer function between DeviceRGB and the real device [05:48:00.0000] <Philip`> (I guess that'll provide a whole 'nother set of bugs...) [05:49:00.0000] <hsivonen> Philip`: I wouldn't expect bug opportunities there. only miscalibratin opportunities [05:49:01.0000] <hsivonen> AFAIK, as far as apps are concerned, DeviceRGB is the "device" [05:49:02.0000] <krijnh> zcorpan_: IE does sniff when using Content-Type: text/plain;charset=utf-8 [05:50:00.0000] <hsivonen> but what it really means is configurable system-wide [05:50:01.0000] <zcorpan_> krijnh: ok [05:50:02.0000] <krijnh> IE7 as well [05:50:03.0000] <Philip`> Oh, sorry, I was thinking of bugs in WebKit-Qt (since that has totally new rendering code) [05:50:04.0000] <Philip`> Colour spaces seem confusing enough that I'll probably ignore them for now and be happy :-) [05:50:05.0000] <zcorpan_> krijnh: in ie7, there's a security setting to disable content type sniffing [05:52:00.0000] <hsivonen> /me wonders if apps can circumvent DeviceRGB via OpenGL on Mac OS X [05:52:01.0000] <krijnh> zcorpan_: What's it called? [05:53:00.0000] <zcorpan> krijnh: "Open files based on content, not file extension" [05:53:01.0000] <krijnh> Open files based on content, not file.. [05:53:02.0000] <krijnh> Indeed :) [05:53:03.0000] <krijnh> Wow, that's a crappy label [05:53:04.0000] <zcorpan> yeah [05:54:00.0000] <krijnh> It has nothing to do with the extension [05:54:01.0000] <krijnh> And I don't think it checks on the extension [05:54:02.0000] <krijnh> Er, sniffs [05:55:00.0000] <hsivonen> probably a case of the UI folks not understanding the implementation [05:55:01.0000] <hsivonen> on Mac OS X "Rich Text" is translated to "RTF" in Finnish in Mail.app even though "Rich Text" in mail is HTML [05:55:02.0000] <krijnh> Rhat the fuck [05:57:00.0000] <hsivonen> krijnh: was that in response to what I said? [05:57:01.0000] <krijnh> Nah, I say rhat the fuck all the time [05:58:00.0000] <krijnh> I'll be silent again now ;) [06:00:00.0000] <hsivonen> /me is slow. only gets it now [06:07:00.0000] <zcorpan> who has access to the whatwg blog source? ".navigation div { position:relative; }" needs to be added to the style sheet for opera [06:12:00.0000] <zcorpan> Lachy: yt? [06:17:00.0000] <Lachy> yo [06:17:01.0000] <zcorpan> Lachy: see above :) [06:17:02.0000] <Lachy> yeah, I just noticed [06:18:00.0000] <zcorpan> perhaps i should also try to make a test case out of it, if it's actually a bug in opera [06:18:01.0000] <Lachy> it probably is a bug [06:20:00.0000] <Lachy> I don't see what the bug is [06:20:01.0000] <zcorpan> it's not always reproducable [06:21:00.0000] <Lachy> how can I reproduce it at all? I've tried reloading several times and don't see it [06:22:00.0000] <MikeSmith> hsivonen - you aware of any Linux PDF viewers that aren't based on xpdf? (just wondering if there are any) [06:23:00.0000] <zcorpan> Lachy: dunno. sometimes the links aren't clickable and then if you scroll down and up again the links disappear [06:23:01.0000] <Lachy> which version of Opera? [06:23:02.0000] <Lachy> I have 9.20 [06:24:00.0000] <zcorpan> 9.21 [06:24:01.0000] <Lachy> ok. updated stylesheet is published now [06:25:00.0000] <zcorpan> thanks [06:35:00.0000] <zcorpan> http://simon.html5.org/test/opera/unselectable-text.htm [06:47:00.0000] <zcorpan> submitted bug #266507 [06:51:00.0000] <Lachy> /me is about to publish a rather controversial blog post about the HTMLWG [06:54:00.0000] <annevk> /me will go to reboot for a day! [06:55:00.0000] <met_> Lachy: about what? htmlwg dead? 8-) [06:56:00.0000] <Lachy> it's about the issues with the HTMLWG, giving an overview of all the major debates that have gone on [06:56:01.0000] <Lachy> it was originally an email to Molly that she asked me to write, and she requrested that I make it public [07:01:00.0000] <Philip`> Conclusion from testing <canvas> in WebKit-Qt: it's currently really quite broken (e.g. it doesn't even seem to do rotation correctly), and also I can't copy-and-paste the test results and then it had a segmentation fault and lost the data :-( [07:03:00.0000] <annevk> what's WebKit-Qt? [07:03:01.0000] <Philip`> It's just WebKit, but compiled with Qt :-) [07:03:02.0000] <Philip`> (I don't know if it has an official name) [07:03:03.0000] <Philip`> and running on Linux [07:04:00.0000] <met_> sounds like khtml 8-) [07:05:00.0000] <Lachy> http://lachy.id.au/log/2007/05/htmlwg [07:06:00.0000] <Philip`> It sounds like there are plans to make it possible to use WebKit as the HTML component in KDE4, as an alternative to the normal KHTML [07:06:01.0000] <annevk> btw, the easiest way to make public record of an e-mail is to cc www-archive⊙wo [07:07:00.0000] <Lachy> I thought about that, but I decided marking it up and blogging it was more appropriate in this case [07:07:01.0000] <MikeSmith> annevk - [07:07:02.0000] <MikeSmith> http://dot.kde.org/1152645965/ [07:07:03.0000] <MikeSmith> http://labs.trolltech.com/blogs/category/labs/internet/webkit/ [07:08:00.0000] <MikeSmith> George Staikos and Zack Rusin [07:09:00.0000] <MikeSmith> and Lars Knoll [07:11:00.0000] <annevk> looks interesting [07:12:00.0000] <annevk> http://www.reboot.dk/artefact-2493-en.html [07:14:00.0000] <annevk> btw [07:14:01.0000] <annevk> how about [07:15:00.0000] <annevk> r = new XMLHttpRequest(uri); r.onload = ...; r.onerror = ... [07:15:01.0000] <annevk> to do a simple asynchronous GET request without hassle [07:16:00.0000] <MikeSmith> I guess that when completed the WebKit Qt port can run within Trolltech's Qtopia (what used to be called Qt/Embedded) on mobile devices [07:18:00.0000] <jonbarnett> anne: would/coult any of those events have the XMLRequestObject as one of the *target properties of the event object passed to the handler? [07:18:01.0000] <annevk> this should refere to XHR in theory [07:19:00.0000] <annevk> and does in Opera [07:19:01.0000] <annevk> and I think it does in WebKit builds too [07:20:00.0000] <jonbarnett> the draft doesn't say so. which property (currentTarget?) [07:20:01.0000] <annevk> it's all implied by making XMLHttpRequest implement EventTarget [07:20:02.0000] <jonbarnett> got it [07:41:00.0000] <jonbarnett> anne: what version of Opera does so? [07:41:01.0000] <annevk> supports what, exactly? [07:42:00.0000] <jonbarnett> passes something to the event handler. I'm testing with 0 [07:42:01.0000] <jonbarnett> 9 [07:42:02.0000] <annevk> using request.onreadystatechange = function() { alert(this.readyState) } [07:42:03.0000] <annevk> should work [07:43:00.0000] <jonbarnett> I assumed that function(e) { alert(e); } should give something [07:44:00.0000] <annevk> I don't think we have made it an EventTarget yet [08:19:00.0000] <hsivonen> MikeSmith: ggv is Ghostscript-based and Adobe Reader is, of course, using Adobe's impl. But yeah, all the nice ones that are Free Software tend to be xpdf-based. [08:20:00.0000] <MikeSmith> hsivonen - k [09:55:00.0000] <hsivonen> HTML5 conformance checking is now on the XML radar: http://www.oreillynet.com/xml/blog/2007/05/fake_realtime_blog_from_xtech.html [10:04:00.0000] <MikeSmith> hsivonen - interesting -- especially part about error messages [10:05:00.0000] <MikeSmith> funny that he writes "they" in several places [10:05:01.0000] <MikeSmith> maybe he thinks you're not a real person ... [10:05:02.0000] <MikeSmith> but some kind of collective [10:05:03.0000] <MikeSmith> the Henri Sivonen Collective [10:05:04.0000] <hasather> hehe [10:06:00.0000] <MikeSmith> looking forward to seeing what he comes up with as far as trying to implement table-integrity checking solely in Schematron [13:16:00.0000] <Jero> ok wtf, in my HTML5 parser the code "<a><p>X<a>Y</a>Z</p></a>" gets transformed to "<a><p>X</p><a>YZ</a></a>" instead of "<a></a><p><a>X</a><a>Y</a>Z</p>" [13:17:00.0000] <Jero> is that an error in parser the start tag token of the second A element, an error in parsing the adoption agency, or an error in reconstructing the active formatting elements? [13:26:00.0000] <Philip`> Jero: http://hasather.net/html5/parsetree/parsetree.py?source=%3Ca%3E%3Cp%3EX%3C%2Fp%3E%3Ca%3EYZ%3C%2Fa%3E%3C%2Fa%3E says it should give <a><p>X</p></a><a>YZ</a> which is neither of the ones you mentioned [13:27:00.0000] <Philip`> (but I don't understand the parser at all, so I have no idea why yours wouldn't be closing the first <a> at the right point) [13:28:00.0000] <gsnedders> Philip`: that tree looks correct, under my memory of the spec [13:28:01.0000] <Jero> interesting [13:29:00.0000] <Jero> http://html5lib.googlecode.com/svn/trunk/tests/tree-construction/tests1.dat gives my a different output tree (search for "<a><p>X<a>Y</a>Z</p></a>") [13:35:00.0000] <Philip`> Oh, okay - when I run with a (probably newer?) version of html5lib, it does give <a/><p><a>X</a><a>Y</a>Z</p> which matches that test [13:50:00.0000] <Jero> Step 3 of the adoption agency: If there is no furthest block ... pop all the nodes from the bottom of the stack of open elements, from the current node up to the formatting element... [13:52:00.0000] <Jero> because of "up to the formatting element" i didn't include to pop the formatting element from the stack which resulted in not closing the first A element [13:53:00.0000] <Jero> so maybe it should explicitly say "including the formatting element"? [13:54:00.0000] <Hixie> if that would help please do send mail so i remember to fix it [13:54:01.0000] <Hixie> ian⊙hc or whatwh⊙wo [13:54:02.0000] <Hixie> whatwg.org [13:59:00.0000] <Jero> thanks, I will [14:09:00.0000] <Jero> Philip`: my parser now treats "<a><p>X<a>Y</a>Z</p></a>" as "<a></a><p><a>X</a><a>Y</a>Z</p>", instead of "<a><p>X</p></a><a>YZ</a>" like http://hasather.net/html5/parsetree/ gives as output [14:10:00.0000] <Jero> oh, i see you updated the parser, sorry [14:11:00.0000] <Philip`> /me wonders who controls that parsetree page and what version of html5lib it's running [14:11:01.0000] <Jero> oh, i thought you were :p [14:13:00.0000] <Philip`> At least it sounds like your one is correct now, if it matches the output from the test cases [15:31:00.0000] <annevk> hasather, ping, see above [15:31:01.0000] <annevk> hasather, your parsetree is out of date [15:54:00.0000] <hasather> done [15:54:01.0000] <hasather> thanks for the notice [15:55:00.0000] <Jero> thanks, your parsetree really is a useful tool for testing [15:56:00.0000] <hasather> not mine [15:56:01.0000] <hasather> James Graham made it [15:56:02.0000] <hasather> just hosting :) [16:10:00.0000] <Jero> well, thanks for hosting then :) [16:46:00.0000] <zcorpan> http://justinsomnia.org/2007/05/ivan-came-in-yesterday-wearing-a-totally-radical-webgeek-tshirt-from-a-list-apart-of-course-i-had/ [16:47:00.0000] <zcorpan> (nowadays you almost don't need to follow links -- you can read the full story by just reading the URL) [16:49:00.0000] <Dashiva> It's only missing "to update it: HTML5 fist" [16:50:00.0000] <Hixie> there's something fundamentally wrong about following links and finding they're only three clicks from my blog 2007-05-26 [17:03:00.0000] <zcorpan> wow, innerHTML in firefox is weird when you use a <meta charset=utf-8> [17:03:01.0000] <zcorpan> it adds a <meta http-equiv="content-type" content="text/html; "> [17:03:02.0000] <zcorpan> which is not present in the dom [17:04:00.0000] <zcorpan> or wait, it always adds that [17:06:00.0000] <Hixie> innerHTML on what? [17:06:01.0000] <zcorpan> on the root element [17:07:00.0000] <Hixie> ah [17:07:01.0000] <zcorpan> of any html document [17:07:02.0000] <Hixie> interesting [17:07:03.0000] <zcorpan> didn't do that before [17:15:00.0000] <zcorpan> http://www.webforum.nu/showthread.php?t=157133 -- showModalDialog. not sure what the use-case is here, he says he wants a window that is on top for some service while the user is browsing around [17:16:00.0000] <Hixie> yeah, we'll have to spec it [17:16:01.0000] <Hixie> too many people depend on it [17:16:02.0000] <Hixie> i have a folder for feedback on it [17:16:03.0000] <zcorpan> ok [19:05:00.0000] <rubys> jgraham: ping? [19:46:00.0000] <MikeSmith> what's VBScript? [19:48:00.0000] <mpt> Visual Basic script, supported in Internet Explorer but not other browsers [19:48:01.0000] <mpt> since ... IE3 or so [20:02:00.0000] <MikeSmith> mpt - was just joking (regarding liorean's message to the whatwg list) [20:03:00.0000] <jruderman> heh, https://bugzilla.mozilla.org/show_bug.cgi?id=41274 is still open [20:06:00.0000] <MikeSmith> something funny/sad/ironic - posting on IEMobile blog a while back in which Microsoft recommends against using VBScript - [20:06:01.0000] <MikeSmith> http://blogs.msdn.com/iemobile/archive/2006/12/18/why-doesn-t-adobe-flash-always-render-for-ie-mobile.aspx [20:07:00.0000] <MikeSmith> because IE Mobile doesn't support it [20:08:00.0000] <MikeSmith> jruderman - reminds me of when I was at Opera and the many helpful suggestions that all we needed to do was just suppert ActiveX and then all our interoperability problems would be solved [20:13:00.0000] <jruderman> MikeSmith: afaict, they're not recommending switching from vbscript to javascript for the last bit of browser detection code, but adding yet another branch to the browser detection code to look for WINCE :( [20:15:00.0000] <MikeSmith> yeah, but it's more fun to say, "Microsoft recommends against using VBScript" ... not technically precise maybe but not completely untrue [20:16:00.0000] <MikeSmith> but yeah, their "solution" suggested there hardly looks like fun either [20:17:00.0000] <MikeSmith> the real solution they should suggest is, We recommend you use a mobile browser other than IE Mobile [20:19:00.0000] <MikeSmith> and don't bother to develop sites with IE Mobile for users, because there are not sane people who use it [20:19:01.0000] <MikeSmith> or something like that ... they're free to tweak the wording of that as they see fit [20:23:00.0000] <zcorpan_> http://annevankesteren.nl/2007/05/wasting-resources#comment-6054 does someone understand what he means? [21:06:00.0000] <mpt> MikeSmith, if that's a reason not to use VBScript, it's also a reason not to use <embed> [07:33:00.0000] <annevk> http://www.flickr.com/photos/justinsomnia/513636061/ [07:34:00.0000] <annevk> and http://www.brucelawson.co.uk/index.php/2007/html5-microformats-accessibility-testing/ says header= not headers= [07:34:01.0000] <annevk> lol [07:34:02.0000] <krijn> 'Goodbye headers, hello again <kbd> and <samp>' [07:34:03.0000] <krijn> Probably a typo [07:36:00.0000] <annevk> yeah, tutorials contain that typo too though [07:36:01.0000] <annevk> including examples cited on the web [07:36:02.0000] <krijn> Jup [07:38:00.0000] <annevk> "... there were other, more-immediate tasks at hand, ..., or emerging technologies like microformats" [07:38:01.0000] <annevk> and HTML5... [07:38:02.0000] <Philip`> Maybe UAs should accept both 'headers' and 'header' (while only the former is conforming)? :-) [07:38:03.0000] <krijn> Yeah, but split both documents ;) [07:39:00.0000] <Philip`> (The same could apply to <metre>) [07:40:00.0000] <annevk> <image> [07:40:01.0000] <krijn> Yeah, I was going to ask that [07:40:02.0000] <krijn> <image> is conforming? [07:41:00.0000] <zcorpan_> no [07:41:01.0000] <krijn> But supported by current UAs? [07:41:02.0000] <zcorpan_> yes [07:41:03.0000] <zcorpan_> ends up as img in the dom [07:41:04.0000] <krijn> Historical reasons or something? [07:42:00.0000] <zcorpan_> not sure why. html+ and html 3.0 had <image src>alt</image> [07:43:00.0000] <zcorpan_> annevk: opera converts <image> to <img> in xml too [07:45:00.0000] <annevk> cool [07:45:01.0000] <zcorpan_> not cool [07:45:02.0000] <zcorpan_> :) [07:48:00.0000] <zcorpan_> you have a bug on that? [07:51:00.0000] <annevk> we once had this tagline: "Opera: the rebel browser" [07:51:01.0000] <annevk> also printed on a t-shirt, with the face of Che Guevara... [07:52:00.0000] <annevk> don't think so [07:53:00.0000] <zcorpan_> ok [07:54:00.0000] <annevk> got to go [07:55:00.0000] <zcorpan_> cya [07:59:00.0000] <zcorpan_> #266615 [09:02:00.0000] <zcorpan_> http://www.bluishcoder.co.nz/2007/05/support-for-html-video-element-in.html [09:07:00.0000] <Jero> cool [15:37:00.0000] <annevk> /me wonders why some people have so much bias: http://www.brucelawson.co.uk/index.php/2007/html5-microformats-accessibility-testing/ [15:37:01.0000] <annevk> It's not like we're actively trying to be evil, right? [15:38:00.0000] <Dashiva> Or maybe that's what Hixie wants us to think [15:39:00.0000] <annevk> I guess some of the e-mails on public-html might have had the wrong tone [16:32:00.0000] <gsnedders> annevk: we're not evil? oh. [16:32:01.0000] <gsnedders> annevk: time for me to find a now WG, then :P 2007-05-27 [20:54:00.0000] <mpt> annevk, perhaps the problem is that whatwg.org says "Membership is by invitation only, and consists of a number of representatives from various browser manufacturers." [20:57:00.0000] <mpt> That's trivially untrue (Dean Edwards isn't a representative of a browser manufacturer), and seems to foreclose the possibility of extending membership to (say) a Web accessibility expert. [21:12:00.0000] <mpt> I'll e-mail the list to that effect [02:34:00.0000] <annevk> mpt, cool [04:04:00.0000] <Jero> in the before head insertion mode ( http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tree-construction.html#before2 ), wouldn't it be better to combine the 4th, 5th and 7th cases? [04:05:00.0000] <Jero> they all require the same steps to be taken [04:06:00.0000] <annevk> -> whatwg⊙wo [06:59:00.0000] <annevk> I think we should rename WHATWG members to WHATWG Advisory Board or something [07:12:00.0000] <MikeSmith> which WHATWG members would those be? ... I mean, if somebody where to subscribe to the WHATG mailing list today, would that make that person a WHATWG member? [07:16:00.0000] <Dashiva> Think it's the steering commitee [07:20:00.0000] <annevk> MikeSmith, that makes them a contributor [07:22:00.0000] <MikeSmith> annevk - I see ... even if they've never actually contributed anything? [07:22:01.0000] <MikeSmith> ... and is there a list of the actual members (steering committee) anywhere? [07:22:02.0000] <annevk> see http://www.whatwg.org/charter [07:22:03.0000] <annevk> (bottom) [07:26:00.0000] <MikeSmith> wonder why hsivonen's never been invited to be a member [07:26:01.0000] <mpt> annevk, +1 [07:26:02.0000] <mpt> /me hopes he's allowed to do that on IRC [07:28:00.0000] <annevk> MikeSmith, the only purpose of being member is to be able to revoke the editor from his rights... [07:28:01.0000] <annevk> MikeSmith, if that's ever necessary we have some real issues... [07:29:00.0000] <MikeSmith> annevk - I see (and notice you're not a "member" either ...) [07:29:01.0000] <MikeSmith> does seem like that list of people should be titled something other than Member [07:30:00.0000] <MikeSmith> given that key contributors aren't in the list [07:31:00.0000] <annevk> yeah, the term is used in a potentially confusing way [07:37:00.0000] <MikeSmith> /me just now notices that on Planet Intertwingly that if you hover over a blogger name in the right-hand list of feeds, it shows you titles of latest entries for that blog [11:03:00.0000] <annevk> XML5 tokenizer.py is 1300 lines... [14:57:00.0000] <kingryan> /me is working on html5lib [14:57:01.0000] <kingryan> anyone know the best place to get 'chardet' for python? [15:00:00.0000] <Lachy> kingryan, http://chardet.feedparser.org/ [15:00:01.0000] <kingryan> Lachy: thanks [15:01:00.0000] <kingryan> the svn trunk of the python impl also appears to have syntax errors [15:14:00.0000] <annevk> really? [15:15:00.0000] <kingryan> yeah, only if you don't have simplejson installed, though [15:15:01.0000] <kingryan> otherwise you'll never encounter it [15:15:02.0000] <kingryan> http://code.google.com/p/html5lib/issues/detail?id=40 [15:16:00.0000] <annevk> oh ok [15:20:00.0000] <kingryan> installing simplejson made the error go away, but I figured it was worth it to record the issue still [15:24:00.0000] <annevk> I suppose we could make the tests that rely on that optional... [15:52:00.0000] <annevk> http://jeff.cutsinger.org/news/10/Error-Handling [16:40:00.0000] <Jero> Could someone please explain to me why TWO character streams are created when parsing isindex elements? http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tree-construction.html#isindex [16:42:00.0000] <zcorpan_> Jero: copy-paste error on Hixie's part? [16:42:01.0000] <zcorpan_> or wait [16:43:00.0000] <Jero> not sure, because it explicitly says in the description of the streams "The two streams of character tokens together should..." [16:44:00.0000] <zcorpan_> perhaps in some languages you would have the input in the middle or before? [16:46:00.0000] <Jero> hmm, yes, that's probably it [16:46:01.0000] <Jero> http://he.wikipedia.org/w/index.php?title=%D7%9E%D7%99%D7%95%D7%97%D7%93:Userlogin&returnto=1904 [16:47:00.0000] <Philip`> That text looks like it's still in front of the input box [16:47:01.0000] <Philip`> (just with 'in front' being 'on the right') [16:47:02.0000] <zcorpan_> indeed [16:48:00.0000] <zcorpan_> RTL text still has the same source order [16:48:01.0000] <Jero> oh yeah, you're right [16:48:02.0000] <zcorpan_> although the second stream of text might just be a POP BIDI character [16:49:00.0000] <zcorpan_> "RTL OVERRIDE ...text...", <input>, "POP BIDI" [16:51:00.0000] <Jero> hmm, yeah, maybe [16:51:01.0000] <zcorpan_> ask Hixie :) [16:52:00.0000] <Jero> yeah, i'll send him an email :p [16:52:01.0000] <Jero> or would it be better to email the mailinglist? [16:53:00.0000] <Philip`> Seems slightly odd that <isindex prompt> isn't supported [16:53:01.0000] <Philip`> (but I guess that's because nobody uses it in practice) [16:53:02.0000] <Philip`> (but I'd have thought they would, otherwise they'd get totally inconsistent renderings) [16:54:00.0000] <zcorpan_> i guess we'll know when some browser vendor tries to implement this :) [16:55:00.0000] <zcorpan_> Jero: you're implementing <isindex> in ph5p? :) [16:55:01.0000] <Jero> yup [16:55:02.0000] <zcorpan_> cool [16:56:00.0000] <Jero> i'm working my way down in the tree construction process now [16:56:01.0000] <zcorpan_> i checked it out the other day [16:56:02.0000] <zcorpan_> seems you have made some progress [16:56:03.0000] <Jero> thanks [16:56:04.0000] <zcorpan_> good work 8) [16:57:00.0000] <Jero> i hope it'll be good :p [16:59:00.0000] <zcorpan_> i mentioned ph5p at my presentation 2007-05-28 [17:00:00.0000] <Jero> yeah, i noticed, thanks [17:00:01.0000] <Jero> i saw it on your slides i mean :p [17:01:00.0000] <Jero> are there a lot of implementations you know of? or just the 3 you listed on your presentation? [17:03:00.0000] <zcorpan_> http://waffle.wootest.net/2007/05/16/ruby-the-same-token/ [17:03:01.0000] <zcorpan_> not sure where he has the source of that [17:04:00.0000] <zcorpan_> but those are the ones i know of [17:06:00.0000] <Jero> hmm, that's not a lot [17:08:00.0000] <zcorpan_> would be cool to have it implemented in a browser, that would surely find bugs in the spec :) [17:09:00.0000] <Jero> indeed [17:10:00.0000] <zcorpan_> esp if it's used for quirks mode [17:11:00.0000] <Jero> but html5lib could be used to download a collection of pages to parse it, right? [17:11:01.0000] <zcorpan_> sure [17:12:00.0000] <zcorpan_> or at least the parsing bit :) [17:12:01.0000] <Jero> or do you mean that you want to actually see how those websites are displayed? [17:12:02.0000] <Jero> ah ok :p [17:12:03.0000] <Jero> yeah, for that it'll become a bit hard with just html5lib [17:13:00.0000] <zcorpan_> i mean to have a downloadable build of firefox that has a real html5 parser, to see how many people compain about their sites broke in the new firefox [17:13:01.0000] <zcorpan_> just using firefox as an example [17:14:00.0000] <zcorpan_> for instance, we might find that the parsing spec actually has to take <script><!--</script>--></script> into account [17:15:00.0000] <Jero> yeah, having a Firefox build with an html5 parser would be awesome [17:15:01.0000] <zcorpan_> or actually, firefox already doesn't do that for standards mode. let's see if there are any bug reports on that [17:21:00.0000] <zcorpan_> hmm, the <script><!--</script>--></script> might include some reparsing stories currently. what do you do with <script><!--</script>x</script>EOF ? [17:21:01.0000] <zcorpan_> (or just <script><!--</script>x EOF) [17:24:00.0000] <zcorpan_> https://bugzilla.mozilla.org/show_bug.cgi?id=311128 [17:25:00.0000] <Jero> hmm, i wish i couldn't test what ph5p does with that, but I've added 1000 lines of untested code today, so i need to get rid of all the syntax errors first :p [17:33:00.0000] <zcorpan_> there are some dups of document.write('</script>'); not working in mozilla, even though it's only in standards mode [17:33:01.0000] <Jero> yup, it's annoying [17:34:00.0000] <zcorpan_> that suggests to me that trying to remove support for pseudo-comments in quirks mode won't work [17:34:01.0000] <zcorpan_> and we will have to spec it [17:34:02.0000] <Jero> yeah, i think you're right [18:03:00.0000] <Jero> hey i got to go [18:03:01.0000] <Jero> see ya [02:41:00.0000] <MikeSmith> playing around with setting up a Venus-based aggregator [02:42:00.0000] <MikeSmith> question: What's a reasonable time interval for running the script that checks for updates to blogs? [02:42:01.0000] <MikeSmith> every 30 minutes? once an hour? [02:43:00.0000] <annevk> hourly and please do check for 304 and such :) [02:44:00.0000] <annevk> I guess Sam has support for that... [02:48:00.0000] <annevk> What is actually the reason for not allowing both block and inline in the same element? [02:48:01.0000] <annevk> Besides that it doesn't look good [02:55:00.0000] <MikeSmith> annevk - where are block and inline in the same element prohibited [02:55:01.0000] <MikeSmith> (and I'm just using Venus off-the-shelf so I hope Sam does have it set up for 304s and such) [02:56:00.0000] <hsivonen> MikeSmith: pretty much everything that used to be %Flow is now bimorphic [02:58:00.0000] <hsivonen> annevk: what's your take on my editor-related conformance/bimorphic idea? http://intertwingly.net/blog/2007/05/08/Dont-Break-The-Web#c1178698369 [02:58:01.0000] <hsivonen> I'd be *very* interested in hearing Hixie's design rationale, though. [02:59:00.0000] <annevk> me too [03:00:00.0000] <annevk> See http://www.456bereastreet.com/archive/200705/use_only_blocklevel_elements_in_blockquotes/#comment57 [03:05:00.0000] <annevk> hsivonen, why don't you support file upload? [03:05:01.0000] <annevk> your validator [03:18:00.0000] <mpt> "Fundamentally, I believe that the current state (where HTML is functionally a subset of XHTML, but operationally, HTML is more robust than XHTML) is unstable." [03:20:00.0000] <othermaciej> XHTML is functional? [03:21:00.0000] <mpt> You know that's not what he means [03:23:00.0000] <othermaciej> I don't know who you're quoting or what the context is [03:23:01.0000] <othermaciej> I was just trying to make a snide remark [03:23:02.0000] <mpt> Sam Ruby, http://intertwingly.net/blog/2007/05/08/Dont-Break-The-Web#c1179440845 [03:23:03.0000] <mpt> and I agree [03:24:00.0000] <mpt> That XHTML but not HTML can have lists inside paragraphs is unfortunately unavoidable. That XHTML but not HTML can have MathML or SVG is just ... wrong. [03:25:00.0000] <othermaciej> we definitely need a way to embed other languages in non-X HTML [03:25:01.0000] <hsivonen> annevk: the reason why I don't have file upload is that I had prioritized my thesis. And now I am prioritizing the parser. [03:25:02.0000] <othermaciej> SVG probably matters more than MathML to be honest [03:25:03.0000] <annevk> That's definitely the wrong way to go around things, hsivonen. You should priortize around my needs :) [03:26:00.0000] <mpt> othermaciej, agreed [03:26:01.0000] <annevk> I'm still not quite convinced that embedding SVG inside HTML (or XHTML for that matter) is a good idea [03:26:02.0000] <mpt> In the meantime, there will be a lot of <canvas> used where SVG would be more useful-in-the-long-term [03:26:03.0000] <hsivonen> annevk: out of curiosity, why do you need file upload? don't you have your stuff on an HTTP server somewhere? [03:27:00.0000] <mpt> (or some less crackful vector format, I'm not choosing SVG specifically) [03:27:01.0000] <hsivonen> annevk: Lachy wanted data: URIs which are easier UI-wise ;-) [03:29:00.0000] <hsivonen> annevk: I really think we need to put aside theoretical purity regarding SVG being presentational and figure out how to achieve feature parity with the XML serialization here [03:29:01.0000] <annevk> hsivonen, my XML5 spec is not uploaded somewhere so far [03:30:00.0000] <hsivonen> annevk: FWIW, when upload happens, raw POST is likely to happen before form-based upload [03:31:00.0000] <hsivonen> (Since raw POST is again UI-neutral) [03:31:01.0000] <othermaciej> annevk: well, the other option is to replicate enough useful vector graphics features in HTML+CSS [03:32:00.0000] <hsivonen> I haven't figured out yet how to do file uploads at the same server URI while keeping the UI clean even without JavaScript toggles [03:33:00.0000] <hsivonen> annevk: anyway, part of my procrastination is that I want to get the UI Right and I want to get the server side Right and I'm not yet sure how to get the UI Right. [03:34:00.0000] <hsivonen> annevk: I try hard to avoid adding to the form widgetry in the UI [03:35:00.0000] <hsivonen> annevk: with file upload reality says I can't trust Content-Type. would you like me to sniff or to force you to pick the parsing mode manually? [03:36:00.0000] <hsivonen> (with raw POST I'm going to respect the Content-Type and make setting it your problem) [03:40:00.0000] <annevk> othermaciej, yeah, I've seen propposals to that effect [03:40:01.0000] <annevk> hsivonen, with file upload sniffing the file extensions seems like a bettter solution [03:41:00.0000] <hsivonen> annevk: would it be useful to you if I implemented raw POST that you could POST a local file to without form encoding using the tool of your choice (curl, your own Python script, whatever)? [03:41:01.0000] <hsivonen> annevk: ok [03:41:02.0000] <hsivonen> /me looks up man curl [03:42:00.0000] <annevk> /me was joking with the prioritizing above [03:42:01.0000] <annevk> /me could use curl given the site provides example usage :) [03:48:00.0000] <hsivonen> /me wonders if it is legal to have a query string in a POST URI [03:48:01.0000] <hsivonen> (as far as HTTP goes regardless of browsers) [04:03:00.0000] <hsivonen> MikeSmith: I finally managed to get an N800. :-) [04:06:00.0000] <annevk> othermaciej, another thing is XBL [04:06:01.0000] <annevk> that helps with integrating as well and doesn't pollute semantics [04:06:02.0000] <annevk> hsivonen, afaik query strings are just part of a URI (as opposed to fragment identifiers, which are special) [04:07:00.0000] <hsivonen> annevk: ok. excellent. we'll see if the servlet API thinks so too [04:16:00.0000] <MikeSmith> hsivonen - great to hear you got an N800 [04:16:01.0000] <MikeSmith> can you get me one too? and/or an N95? [04:17:00.0000] <hsivonen> sorry, it was hard enough to get this one [04:18:00.0000] <kfish> hi hsivonen, maikmerten, MikeSmith [04:18:01.0000] <hsivonen> kfish: hi [04:19:00.0000] <maikmerten> hi [04:20:00.0000] <hendry> hsivonen: what is the main browser on the N800? the webkit "Web" ? [04:20:01.0000] <hsivonen> hendry: Opera 8.6 engine with Nokia UI. [04:22:00.0000] <hsivonen> hendry: the UI is in SVN. the engine seems to come as a binary from Opera Software, so it is hard for even Nokia to offer the new engine for the old hardware revision [04:24:00.0000] <MikeSmith> kfish - hei. got to catch a train from Kanagawa back to Tokyo. back on around 10pm JST [04:24:01.0000] <hsivonen> hendry: Minomo should be available though. it's been a while since I've tried Minimo for Maemo, so I don't know if it is now even usable [04:24:02.0000] <kfish> MikeSmith, cool, l8r [04:36:00.0000] <hendry> hsivonen: have you used the Webkit "Web" one? [04:37:00.0000] <hendry> i wonder if it has a better name.. [04:39:00.0000] <hsivonen> hendry: I've tried the S60 port. I have not tried the Gtk port. And I can't get anyone who works on Maemo to say anything about the Gtk port. [04:40:00.0000] <hsivonen> hendry: it looks like the Gtk port is dead [04:40:01.0000] <hsivonen> hendry: but no one knows or dares to speculate [04:41:00.0000] <hsivonen> hendry: besides, it looks like the Gtk port was a research center thing and not a product thing [04:41:01.0000] <hendry> i built minimo ages ago [04:41:02.0000] <hendry> and I have not seen much 'movement' [04:42:00.0000] <hendry> I find the Webkit one more interesting [04:42:01.0000] <hendry> as I like it on my E65 for one [04:42:02.0000] <hendry> And I my flat mate Andrei wrote it :) [13:10:00.0000] <Jero> For those who care: I've updated my parser http://jero.net/lab/ph5p/ to a real parser, instead of implementing only a small part of it [13:10:01.0000] <Jero> though it's still needs some work, not every phase of the tree construction process has been implemented, only from the initial phase until the in body insertion mode [13:11:00.0000] <Jero> all modes from in table to after frameset still need to implemented [13:11:01.0000] <zcorpan_> /me looks [13:11:02.0000] <Jero> I've also grabbed the tests from html5lib and tested them: http://jero.net/lab/ph5p/tests.html [13:12:00.0000] <Jero> green: pass; red: sux; black: could not be tested because some of its elements are not yet implemented [13:12:01.0000] <zcorpan_> what is the output, html5? [13:13:00.0000] <annevk> /me notes that http://wiki.whatwg.org/wiki/Example_simple is non-conforming [13:13:01.0000] <Jero> the output is a DOMDocument class [13:13:02.0000] <Jero> it's a native PHP class [13:13:03.0000] <zcorpan_> i mean in the "output" textarea [13:13:04.0000] <zcorpan_> annevk: yeah, probably also inappropriate use of <address> [13:14:00.0000] <Jero> the output is html5 [13:14:01.0000] <zcorpan_> Jero: where do the linebreaks come from? [13:15:00.0000] <Jero> are you testing the code Anne linked to? [13:15:01.0000] <Jero> hmm, and that domdocument class also inserts its own linebreaks [13:16:00.0000] <Jero> "<p>h<p>m<p>m" outputs: [13:16:01.0000] <Jero> <html> [13:16:02.0000] <Jero> <head></head> [13:16:03.0000] <Jero> <body> [13:16:04.0000] <Jero> <p>h</p> [13:16:05.0000] <Jero> <p>m</p> [13:16:06.0000] <Jero> <p>m</p> [13:16:07.0000] <Jero> </body> [13:16:08.0000] <Jero> </html> [13:17:00.0000] <annevk> Maybe we should come up with some alternative arguments for the headers= debate. 1) They are supported. 2) Who is going to use them? 3) They are not used right now, who says they will be used in the future? 4) Don't we have a better solution? 5) We do. Defined algorithms and using scope= in case that doesn't work. [13:17:01.0000] <zcorpan_> Jero: right, it should output <html><head></head><body><p>h</p><p>m</p><p>m</p></body></html> [13:17:02.0000] <zcorpan_> no line breaks [13:17:03.0000] <Jero> yeah i know [13:18:00.0000] <Jero> i'm looking into it right now [13:18:01.0000] <zcorpan_> k [13:18:02.0000] <zcorpan_> Jero: noticed that you don't parse / in tags correctly too [13:19:00.0000] <Jero> oh yeah, you're right [13:21:00.0000] <Jero> i've added it to the tests (3rd entry) [13:26:00.0000] <zcorpan_> /me fixed http://wiki.whatwg.org/wiki/Example_simple [13:30:00.0000] <zcorpan_> Jero: you move <style> to HEAD, which you shouldn't, and the contents of STYLE are moved to the BODY, which they shouldn't [13:30:01.0000] <Jero> i know, the implementation of style and script elements is messed up at the moment [13:30:02.0000] <Jero> that's why all tests with either of the two elements always fail [13:30:03.0000] <zcorpan_> ok [13:31:00.0000] <zcorpan_> oh, seems like <style> is parsed as an empty element by ph5p [13:57:00.0000] <Jero> well, i got to go [13:57:01.0000] <Jero> thanks for your input! [13:57:02.0000] <Jero> i'll try to get some improvements up tomorrow [13:57:03.0000] <Jero> later [13:57:04.0000] <zcorpan_> cya 2007-05-29 [03:37:00.0000] <annevk> hey [03:38:00.0000] <annevk> what's would be a good license? [03:38:01.0000] <annevk> for xml5? [03:38:02.0000] <virtuelv> annevk: the parser, I presume? [03:38:03.0000] <virtuelv> tokenizer* [03:39:00.0000] <annevk> the whole project as it stands now :) [03:40:00.0000] <annevk> I'll go with the Apache 2.0 for now [03:40:01.0000] <annevk> and maybe make it MIT later or something [03:54:00.0000] <hsivonen> annevk: Apache 2.0 is otherwise good except it isn't GPLv2-compatible [04:11:00.0000] <annevk> hmm ok [04:34:00.0000] <annevk> created http://code.google.com/p/xml5/ [04:34:01.0000] <annevk> took some time to get all the SVN to play nicely :( [04:41:00.0000] <MikeSmith> question: Other than annevk, hsivonen, Hixie, Lachy, and WHATWG blog, is there anybody else who's blogging semi-regularly about the the topic of HTML5? [04:42:00.0000] <MikeSmith> (I ask because I'm setting up a planet aggregator and want to know what ought to aggregate) [04:44:00.0000] <hsivonen> MikeSmith: should I create an HTML5-specific feed for my site? [04:57:00.0000] <hendry> http://natalian.org/archives/2007/05/26/mobile-web-3/ # i'm having fun with the .mobi guys [05:01:00.0000] <hsivonen> Hixie: do you know how many bytes Gecko usually inspects using chardet? it seems to inspect the first buffer that is passed to the parser but I have no idea of the size of the buffer [05:17:00.0000] <hsivonen> hendry: apparently there are still mobile folks who believe supporting mobiles means catering to crappy browsers instead of making sure that Presto or WebKit or Gecko runs on the device [05:22:00.0000] <hsivonen> hendry: at XTech there was still one guy talking about "Mobile Ajax" on Pocket IE [05:29:00.0000] <MikeSmith> hendry - question: I wonder if you asked James Pearce whether it would be be OK to publish his private e-mail to you on your weblog [05:32:00.0000] <hendry> MikeSmith: I can't recall. This was a while back. [11:37:00.0000] <gsnedders> how does IE6's relative URL resolution work? scheme/authority/path+query/fragment? [11:42:00.0000] <gsnedders> and can anyone from Apple say whether Safari pays any attention to <ttl> in RSS? [12:32:00.0000] <MikeSmith> I mentioned this over on #public-html, but will give a heads-up about it here too - [12:32:01.0000] <MikeSmith> I've set up beginnings of a simple "Planet HTML5" aggregator - [12:32:02.0000] <MikeSmith> http://people.w3.org/mike/planet/html5/ [12:32:03.0000] <MikeSmith> if anybody else on the channel has been blogging about (or planning to blog about) HTML5/WHATWG/HTMLWG and wants me to add your feed to the aggregator, just let me know [12:33:00.0000] <MikeSmith> either just paste in a URL here or /msg me or e-mail me at mike⊙wo [12:34:00.0000] <MikeSmith> part of the intent of setting up the aggregator is for people are not HTML WG members and/or who may not have time to read and follow public-html discussions [16:16:00.0000] <SimonW> does anyone know the reason that HTTP doesn't include a way of specifying the character set used in a POST? [16:16:01.0000] <SimonW> Or does it have a method that I don't know about? [16:17:00.0000] <zcorpan_> SimonW: you mean character encoding? [16:17:01.0000] <SimonW> yes, character encoding [16:17:02.0000] <SimonW> in fact, I can't find the bit of the spec that says "browsers shall submit forms using the same character encoding as the form was served up in" [16:17:03.0000] <SimonW> is that HTML spec instead? [16:17:04.0000] <SimonW> /me is pretty bad at specs [16:18:00.0000] <othermaciej> SimonW: you can't specify Content-Type on a request? [16:18:01.0000] <othermaciej> SimonW: I'd imagine Content-Type w/ a charset parameter would be it, but perhaps that is only allowed as a response header [16:19:00.0000] <SimonW> othermaciej: as far as I can tell you can't [16:19:01.0000] <SimonW> http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5 [16:19:02.0000] <SimonW> you can say "Accept-Charset" [16:19:03.0000] <SimonW> common knowledge appears to be that you can't either [16:19:04.0000] <SimonW> which is ludicrous - it means that server side scripts have to either guess the character set [16:20:00.0000] <SimonW> or use statistical analysis to figure it out [16:20:01.0000] <SimonW> or just apply a heuristic: "try to decode as UTF 8, if that fails assume ISO-885-1" [16:20:02.0000] <SimonW> 8859-1 [16:20:03.0000] <SimonW> so I thought I'd pop in here and check my facts before ranting about it on my blag [16:21:00.0000] <SimonW> unless there's a more appropriate forum? [16:22:00.0000] <zcorpan_> dunno. i know that trackbacks usually don't leave hints about encoding, and come in different encodings [16:23:00.0000] <webben> Do you mean the transfer encoding or the content encoding? [16:23:01.0000] <zcorpan_> webben: content encoding [16:24:00.0000] <SimonW> content encoding - utf-8 v.s. iso-8859-1 etc [16:24:01.0000] <SimonW> it appears to be a huge gaping hole in HTTP which everyone has been ignoring for the past 15 years [16:25:00.0000] <zcorpan_> then we have anothing thing to fix for HTTP5... ;) [16:25:01.0000] <webben> Weird at http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11 [16:25:02.0000] <webben> it says: "If the content-coding of an entity in a request message is not acceptable to the origin server, the server SHOULD respond with a status code of 415 (Unsupported Media Type)." [16:26:00.0000] <webben> which would seem to imply that request messages must be able to specify content-coding. [16:26:01.0000] <zcorpan_> webben: yeah, but that's about gzip &c, not utf-8 &c [16:27:00.0000] <zcorpan_> a different level of "encoding" [16:27:01.0000] <webben> oh, a third level [16:28:00.0000] <zcorpan_> character encoding (utf-8) -> content encoding (gzip) -> transfer encoding (7bit) [16:29:00.0000] <SimonW> aah, so I care about character encodin [16:29:01.0000] <zcorpan_> SimonW: yeah [16:29:02.0000] <SimonW> I'm going to e-mail Roy Fielding [16:33:00.0000] <othermaciej> SimonW: I guess that's a bug in HTTP, though de facto you have to post in the page encoding and the server assumes that [16:33:01.0000] <SimonW> I've been trying to find where that de facto rule is written down [16:33:02.0000] <othermaciej> SimonW: I don't think it is [16:34:00.0000] <othermaciej> if you mean in the form of documentation or normative reference [16:34:01.0000] <zcorpan_> SimonW: a de facto rule is that iso-8859-1 pages will submit form content as windows-1252 [16:34:02.0000] <othermaciej> there are no iso-8859-1 pages on the web [16:35:00.0000] <othermaciej> (the ones that claim to be are windows-1252) [16:35:01.0000] <zcorpan_> right [16:35:02.0000] <Dashiva> There was that "bug" earlier about webpage not "supporting" pure ASCII [16:35:03.0000] <SimonW> aha, http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7.1 looks relevant [16:37:00.0000] <zcorpan_> annevk: hey [16:38:00.0000] <zcorpan_> annevk: found a blog software written in turbogears that i wanted to try out [16:39:00.0000] <SimonW> pah, turbogears :P [16:39:01.0000] <annevk> zcorpan_, don't talk about that with SimonW around :p [16:39:02.0000] <zcorpan_> why not? [16:39:03.0000] <annevk> /me is kidding [16:39:04.0000] <zcorpan_> SimonW: what's wrong with turbogears? [16:39:05.0000] <SimonW> it's not Django :) [16:40:00.0000] <SimonW> /me co-founded Django [16:40:01.0000] <SimonW> on a more practical note, it seems to be being eclipsed by Pylons these days [16:40:02.0000] <SimonW> the TurboGears team made a bunch of decisions at the start which were very sane then but haven't really held out over the long run [16:41:00.0000] <SimonW> their choices for the core components have mostly been replaced by better alternatives [16:41:01.0000] <othermaciej> just rename Django to Python in Pails or something [16:41:02.0000] <SimonW> which seems to have left the project in an awkward position [16:41:03.0000] <SimonW> personally I'm hoping TurboGears and Pylons will merge, and Django and Pylons will work towards a common API for core features [16:42:00.0000] <Dashiva> Pythons on Planes [16:42:01.0000] <othermaciej> heh :-) [16:59:00.0000] <annevk> SimonW, first step of http://www.whatwg.org/specs/web-forms/current-work/#x-www-form-urlencoded defines what you're looking for 2007-05-30 [17:00:00.0000] <annevk> browsers should follow that roughly (with the caveats mentioned earlier) [17:01:00.0000] <annevk> when that's integrated with HTML5 it will be more detailed I suspect although it's pretty clear already [18:30:00.0000] <zcorpan_> "It adds semantic richness, and that's valuable for its own sake" -- http://www.sitepoint.com/forums/showthread.php?p=3413761#post3413761 [18:33:00.0000] <Philip`> The unquoted second part of that sentence doesn't seem to agree with the first part, since it talks about adding semantic richness for the sake of enhanced behaviour from future UAs instead of just for its own sake [18:34:00.0000] <zcorpan_> yeah [18:34:01.0000] <zcorpan_> indeed [18:34:02.0000] <Philip`> That's still a kind of tenuous theoretical sake, though [18:35:00.0000] <om_food> rel vs. rev is so brain-hurtingly confusing [18:37:00.0000] <Philip`> Need to work on a Brain 5, to fix the problems that today's legacy brains have with understanding really complex things [18:38:00.0000] <zcorpan_> Brain 5 must be backwards compatible, otherwise it won't be adopted [18:43:00.0000] <karlUshi> om_food: what is the result of "7./2."? [18:45:00.0000] <karlUshi> there's a new apple member in the HTML WG. Adam Roben [18:45:01.0000] <karlUshi> http://www.w3.org/2000/09/dbwg/details?group=40318&public=1&order=org [18:45:02.0000] <othermaciej> karlUshi: 3.5? [18:46:00.0000] <karlUshi> yes othermaciej [18:47:00.0000] <karlUshi> :) my point is when we were at school, starting to learn division of rational numbers. It was hard. There was a learning curve. [18:47:01.0000] <karlUshi> HTML has very simple things (though markup languages are difficult for most people) and there are features a bit more complex and it just takes time to learn. [18:48:00.0000] <Dashiva> It used to be 3 1/2 for a few years, then it became 3.5 [18:48:01.0000] <karlUshi> cf. <om_food> rel vs. rev is so brain-hurtingly confusing [18:51:00.0000] <othermaciej> karlUshi: rel vs. rev is more in the realm of path integrals than rational division [18:51:01.0000] <othermaciej> even experts have a hard time [18:51:02.0000] <zcorpan_> 399 invited experts [18:52:00.0000] <karlUshi> othermaciej: yes, it takes time to learn things and be a *pro* [18:54:00.0000] <karlUshi> it reminds me of http://www.molly.com/2005/11/14/web-standards-and-the-new-professionalism/ [20:07:00.0000] <zcorpan_> damn, it's hard to test <noscript> when the tools you have at your disposal to inspect the DOM is javascript [20:07:01.0000] <zcorpan_> s/tools/tool/ [20:10:00.0000] <Philip`> Disable JS, load the page, reenable JS, click the scripted DOM-inspection button on the page? [20:10:01.0000] <Philip`> /me isn't sure exactly what happens when you toggle JS [20:12:00.0000] <zcorpan_> yeah. don't have such a button in ie7 though, and i can't figure out how to actually disable js in ie7 (i thought it was "Active Scripting")... and i don't trust the web dev toolbar in ie7 [20:15:00.0000] <zcorpan_> oh, the setting doesn't apply to local files, apparently [20:18:00.0000] <zcorpan> input document: <!doctype html><head><noscript>X</noscript></head><body>Y</body> [20:18:01.0000] <zcorpan> .innerHTML on the root element: <HEAD><NOSCRIPT></HEAD> [20:18:02.0000] <zcorpan> <BODY>X</NOSCRIPT>Y</BODY> [20:19:00.0000] <Philip`> That looks nice and tree-like [20:22:00.0000] <zcorpan> i guess it makes sense to pop the noscript when it contains non-HEAD content, and then treat it as if it was found in HEAD [20:22:01.0000] <zcorpan> i.e., .innerHTML being <head><noscript></noscript></head><body>XY</body> [20:42:00.0000] <zcorpan> http://simon.html5.org/test/html/parsing/noscript-in-head/ [21:57:00.0000] <Hixie> zcorpan: your proposal for parsing <noscript> wouldn't allow round-tripping of valid dacuments, which is a requirement [21:57:01.0000] <Hixie> oh wait [21:57:02.0000] <Hixie> actually [21:57:03.0000] <Hixie> it would [21:57:04.0000] <Hixie> well... [21:57:05.0000] <Hixie> /me ponders [21:57:06.0000] <Hixie> what you proposed probably wouldn't but there are ways around it i guess [21:57:07.0000] <Hixie> hm [22:00:00.0000] <zcorpan> Hixie: i don't follow, what is the problem? [22:01:00.0000] <Hixie> nothing [22:01:01.0000] <Hixie> just thinking out loud [22:01:02.0000] <zcorpan> oh, ok [22:01:03.0000] <Hixie> sorry :-) [22:01:04.0000] <zcorpan> no worries :) [02:52:00.0000] <Jero> I've been reading Lachy's article about the <b> and <i> elements and I can't help thinking "then what about <u>, <s>, <strike>, and <big>!?" [02:52:01.0000] <Jero> I know they're deprecated in HTML 4 and all, but the reason for keeping <b> and <i> would IMO also apply to those elements. [02:58:00.0000] <othermaciej> the official reasoning in the HTML5 spec for what elements are kept is that they can represent useful semantics associated with the given default presentation [02:59:00.0000] <Jero> then so can the <u> element, right? [03:01:00.0000] <othermaciej> <u> is not used for any common typographical conventions in typeset text [03:01:01.0000] <othermaciej> (underline rather) [03:03:00.0000] <Jero> but the underline also hints that the text somehow has a different meaning than the rest of the text [03:05:00.0000] <hsivonen> does Python come with a standard library that allows me to spider the Web Forms 2.0 test suite without invoking wget? [03:06:00.0000] <virtuelv> hsivonen: I can't think of anything offhand, but would http://cheeseshop.python.org/pypi/spider.py/0.5 help? [03:06:01.0000] <hsivonen> Jero: fwiw, I'd like to keep <u> for the use cases that <m> has been created for [03:07:00.0000] <hsivonen> virtuelv: thanks. the point of avoiding wget is avoiding any non-default stuff, though [03:12:00.0000] <hsivonen> /me hacks up something quick and dirty [03:15:00.0000] <KevinMarks> hsivonen: you can use urllib [03:15:01.0000] <KevinMarks> see diveintopython.org for examples [03:15:02.0000] <hsivonen> KevinMarks: thanks [03:16:00.0000] <hsivonen> /me didn't know urllib can spider [03:17:00.0000] <KevinMarks> well, depends what you mean by spider [03:17:01.0000] <KevinMarks> http://diveintopython.org/html_processing/index.html is an overview [03:18:00.0000] <KevinMarks> though if it's a hack and not some performance fest, use BeautifulSoup [03:20:00.0000] <hsivonen> KevinMarks: I only want to grab a local copy of Anne's Web Forms 2.0 test suite without invoking anything that users don't get by installing a vanilla *nix system and python [03:20:01.0000] <hsivonen> KevinMarks: the diveintopython stuff is what I need. thanks [03:20:02.0000] <KevinMarks> ah, right, no parsing [03:21:00.0000] <KevinMarks> http://diveintopython.org/http_web_services/index.html is the right place to start then [03:22:00.0000] <KevinMarks> http://diveintopython.org/http_web_services/review.html specifically ;) [03:24:00.0000] <hsivonen> KevinMarks: yeah, I have the single url download case covered already. need to traverse the directories, though [03:25:00.0000] <hsivonen> which is what the html_processing example shows [03:25:01.0000] <virtuelv> hsivonen: why do you want to avoid wget? [03:25:02.0000] <KevinMarks> markp++ [03:25:03.0000] <hsivonen> virtuelv: Mac OS X doesn't have wget by default [03:25:04.0000] <virtuelv> ah [03:25:05.0000] <virtuelv> neither does windows, for that matter [03:35:00.0000] <Jero> hsivonen: yeah, keeping <u> instead of <m> seems reasonable [03:36:00.0000] <Jero> but still, keeping those presentational elements because the can represent useful semantics associated with the given default presentation still seems a bit odd to me [03:36:01.0000] <Jero> heck, even <blink> would fall under that [03:41:00.0000] <MikeSmith> kfish - PechaKuchaNight tonight in Tokyo [03:42:00.0000] <MikeSmith> http://www.tokyoartbeat.com/event/2007/EE5B [03:42:01.0000] <MikeSmith> volume 42 [03:42:02.0000] <kfish> MikeSmith, sweet [03:43:00.0000] <MikeSmith> you should come up and do a web-designer-friendly 20x20 overview of Annodex some time [03:43:01.0000] <kfish> MikeSmith, sounds good :-) [03:46:00.0000] <hsivonen> hendry: did you see Ari Jaaksi's blog post from May 15th about Mobile Web being dead? [03:46:01.0000] <virtuelv> hsivonen: url? [03:47:00.0000] <hsivonen> virtuelv: http://jaaksi.blogspot.com/2007/05/mobile-is-dead.html [03:47:01.0000] <virtuelv> ty [03:48:00.0000] <hendry> hsivonen: no I haven't, will read. [04:05:00.0000] <hendry> hsivonen: i left a comment [04:29:00.0000] <hendry> hsivonen: do you anything about fonts? [04:29:01.0000] <hendry> :) [04:29:02.0000] <hsivonen> hendry: I know about fonts but I'm not doing anything about fonts [04:30:00.0000] <hendry> I was wondering how fonts like Dejavu and perhaps VeraSansYuanTi gets treated by CSS [04:30:01.0000] <mikeday> font-family: DejaVu Sans; [04:31:00.0000] <hendry> or how rather Firefox chooses the fonts [04:31:01.0000] <hsivonen> hendry: depends on the UA and the font back end I guess [04:31:02.0000] <hendry> as i don't expect Web authors to do a "font-family: DejaVu Sans;" [04:31:03.0000] <hsivonen> hendry: why not? without testing, I'd expecting Safari to support that [04:31:04.0000] <mikeday> use @font-face to map "sans-serif" to "DejaVu Sans" :) [04:31:05.0000] <hendry> aren't Web authors supposed to choose a family or something? instead of an actualy named font [04:32:00.0000] <hsivonen> hendry: DejaVu Sans is a font family in CSS terms [04:32:01.0000] <hendry> where can i read further about this? is the a CSS font doc I wonder [04:33:00.0000] <hsivonen> mikeday: speaking of CSS fonts and DejaVu: for some reason, prince didn't find the DejaVu fonts in /Library/Fonts. I had to install them in prince's own font dir and edit fonts.css [04:33:01.0000] <mikeday> there are the standard families: serif, sans-serif, cursive, monospace [04:34:00.0000] <mikeday> hsivonen, can other MacOS X apps see them? [04:35:00.0000] <hendry> i wonder if there is some firefox option to show all the registered fonts? [04:35:01.0000] <hendry> on the system. [04:36:00.0000] <mikeday> Font Book or \Windows\Fonts or whatever depending on platform [04:37:00.0000] <mikeday> it's not really a browser-specific thing [04:38:00.0000] <hendry> well, just to know what Firefox (on the system) sees when it comes to fonts, not so much the system [04:39:00.0000] <hendry> gosh, did that make any sense :) [04:39:01.0000] <mikeday> yeah, that makes sense [04:39:02.0000] <mikeday> when you run prince --debug it prints a list of all the fonts that it can see [04:39:03.0000] <hendry> mikeday: you wrote Prince? [04:39:04.0000] <mikeday> ie. all the fonts that show up when it asks the OS: "Which fonts are installed?" [04:40:00.0000] <mikeday> well, the easy bits :) [04:40:01.0000] <mikeday> (and the font system, which is a nasty bit, I guess) [04:40:02.0000] <hendry> mikeday: it's pretty cool. :) [04:41:00.0000] <mikeday> thank you, I'm glad you like it :) [04:45:00.0000] <mikeday> funny thing about the default font families is that you can't mix and match them [04:45:01.0000] <mikeday> eg. font-family: serif monospace; [04:46:00.0000] <hendry> mikeday: http://static.natalian.org/2007-05-30/fc-list_monty.txt http://static.natalian.org/2007-05-30/monty-fonts.txt [04:46:01.0000] <mikeday> the presence of serifs is orthogonal to monospacing [04:46:02.0000] <hendry> fc-list seems to pick up more. what is fc-list doing I wonder? [04:46:03.0000] <hendry> are the 'standard families' et al documented somewhere? [04:46:04.0000] <mikeday> it is probably including PostScript Type 1 fonts, which Prince doesn't support yet [04:47:00.0000] <mikeday> all the fonts that Prince lists should be TrueType fonts [04:47:01.0000] <mikeday> http://www.w3.org/TR/CSS21/fonts.html#generic-font-families [04:47:02.0000] <hendry> monty$ wc -l monty-fonts.txt fc-list_monty.txt [04:47:03.0000] <hendry> 63 monty-fonts.txt [04:47:04.0000] <hendry> 179 fc-list_monty.txt [04:48:00.0000] <mikeday> rather Latin-centric, the standard font families [04:48:01.0000] <mikeday> they might as well be named Times, Helvetica, and Courier; it'd be less typing [04:49:00.0000] <hendry> mikeday: dejavu isn't mentioned on http://www.w3.org/TR/CSS21/fonts.html#generic-font-families [04:49:01.0000] <mikeday> no, as DejaVu is an actual font, derived from Bitstream Vera [04:49:02.0000] <mikeday> not a generic abstract font family, as defined by CSS [04:50:00.0000] <mikeday> "sans-serif" is not a physical font, it's a placeholder for any number of actual fonts [04:50:01.0000] <mikeday> (that don't have serifs, hopefully) [04:50:02.0000] <hendry> this is a science ... [04:57:00.0000] <mikeday> possibly the most useless generic font family is "fantasy" [04:57:01.0000] <mikeday> useless because it doesn't map to any obvious Microsoft Core font :) [04:57:02.0000] <hendry> i find it confusing that actual font can be in font-family like "font-family: DejaVu Sans;" [04:58:00.0000] <hendry> mikeday: do you have exp with CJK fonts? esp. Chinese? [04:58:01.0000] <mikeday> a little [04:58:02.0000] <mikeday> I use the Arphic fonts [05:00:00.0000] <hendry> afaik there a four free chinese fonts ttf-arphic-ukai ttf-arphic-uming ttf-fireflysung xfonts-wqy [05:00:01.0000] <mikeday> the arphic font pack includes several fonts [05:00:02.0000] <mikeday> eg. traditional + simplified variants [05:01:00.0000] <mikeday> hmm, actually, they're each in separate packages now it seems [05:01:01.0000] <hendry> is it actually used out there? compared to proprietary simsun or VeraSansYuanTi? [05:01:02.0000] <mikeday> ttf-arphic-gbsn00lp, ttf-arphic-gkai00mp for the simplified ones [05:01:03.0000] <mikeday> I have no idea, but I would guess that most Chinese websites are designed for Microsoft fonts [05:02:00.0000] <hendry> damn, this is hard. :) [05:03:00.0000] <mikeday> what are you trying to do, actually? [05:03:01.0000] <hendry> build an OS http://webconverger.com/ [05:03:02.0000] <hendry> that doesn't suck for the Chinese market :) [05:04:00.0000] <hsivonen> mikeday: yeah, Font Book saw them [05:04:01.0000] <mikeday> define OS? [05:04:02.0000] <mikeday> hsivonen, they are probably getting silently dropped by Prince for some reason [05:05:00.0000] <mikeday> Prince 6.0 rev 2 includes a fix for some font issues on MacOS X, and extra debug info [05:05:01.0000] <mikeday> (see Prince development roadmap http://www.princexml.com/roadmap/ ) [05:05:02.0000] <hsivonen> mikeday: ok. I didn't know about --debug nor about a roadmap. thanks [05:06:00.0000] <hsivonen> mikeday: I'm on Mac OS X 10.4.9 [05:06:01.0000] <mikeday> the roadmap is new, it's an experiment in being open to our users :) [05:06:02.0000] <hendry> mikeday: based on Debian. boots up kernel. detects hardware, launches X and Firefox (Webconverger) [05:06:03.0000] <mikeday> so it's like a distro for web kiosks [05:07:00.0000] <mikeday> and you're wondering what packages you need to include? [05:07:01.0000] <hendry> mikeday: http://flickr.com/photos/hendry/521334985/ [05:07:02.0000] <hendry> mikeday: yes, exactly [05:07:03.0000] <hendry> mikeday: though I've lived out in CJK [05:08:00.0000] <hendry> and I know that they're really fussy about the fonts. [05:08:01.0000] <mikeday> hmm, sina.com.cn looks better than that when I load it here [05:08:02.0000] <mikeday> try installing all the arphic fonts [05:09:00.0000] <hendry> ok, though will Firefox use them I wonder. [05:09:01.0000] <hendry> I think that test rendering looks pretty bad myself :) [05:10:00.0000] <mikeday> it should use them if they are installed properly, otherwise might need some Fontconfig tweaking [05:13:00.0000] <hendry> mikeday: ok, i'll try a build out later. Webconverger is totally free software btw http://svn.debian.org/wsvn/debian-live/configs/webconverger-cn/config/chroot_local-packageslists/locale?op=file&rev=0&sc=0 [05:13:01.0000] <hendry> mikeday: thanks for your help, I need to get busy on other stuff [05:13:02.0000] <mikeday> /me waves [05:56:00.0000] <hsivonen> /me tries to figure out the most robust way to track which files in the Opera test suite are expected to be conforming and which ones are expected to be non-conforming [08:29:00.0000] <gsnedders> markp: you see my email about having non ASCII superset encoded autodiscovery tests? [08:49:00.0000] <markp> gsnedders: no [08:49:01.0000] <markp> checking [08:50:00.0000] <gsnedders> markp: it was a while ago. [08:51:00.0000] <markp> doesn't mean anything [08:52:00.0000] <gsnedders> markp: what doesn't? the date? the email? something else? [08:52:01.0000] <markp> found it [08:52:02.0000] <markp> er, the fact that it was a while ago <-- doesn't mean anything [08:52:03.0000] <markp> i'm months behind on email [08:52:04.0000] <gsnedders> ah [08:52:05.0000] <markp> ah, from november? [08:53:00.0000] <gsnedders> markp: 20th Feb [08:53:01.0000] <markp> hmm [08:53:02.0000] <markp> aha [08:53:03.0000] <markp> found it [08:53:04.0000] <gsnedders> I talked to you about the nov one a while ago, probably in Jan or so [08:54:00.0000] <gsnedders> I was just thinking of something like UTF-16 [08:54:01.0000] <markp> i can do utf-16 [08:54:02.0000] <gsnedders> as I say, it'll break my implementation for one [08:54:03.0000] <markp> excellent [08:55:00.0000] <gsnedders> and that's part of the point of tests :P [08:56:00.0000] <markp> did you want the html or the xml in utf-16? [08:56:01.0000] <markp> or both? [08:56:02.0000] <gsnedders> the HTML [08:57:00.0000] <gsnedders> anything apart from plain ASCII XML I think should be in the Atom test case (and my implementation copes with that, just not the HTML) [08:57:01.0000] <gsnedders> my feeling is the XML should be kept as simple as possible, as it's really the ability to get the <link> in the HTML that's being tested [09:00:00.0000] <markp> bah [09:28:00.0000] <markp> http://diveintomark.org/tests/client/autodiscovery/html4-057.html [09:28:01.0000] <markp> i suppose i should add a whole bunch of tests for the new rel="feed" too [09:31:00.0000] <virtuelv> heh. I see lowsrc="" is making a return in the form of 'cite' [09:31:01.0000] <virtuelv> (yes, I realise that there's a difference) [09:40:00.0000] <gsnedders> markp: heh. what I didn't realise before is that we now can't actually find the <link rel="next> either now :P [09:41:00.0000] <markp> yeah, i had to fix that in my atomautodiscovery.py test harness too [09:42:00.0000] <markp> to make it easy for you, every html and xhtml file is guaranteed to have a content-type with a charset parameter [09:42:01.0000] <markp> so you can cheat a little [09:43:00.0000] <gsnedders> I don't think I'll get the fix in 1.0, as it requires changing quite a bit, and most of that stuff is already meant to go into 1.1 [09:43:01.0000] <gsnedders> so unlikely to be fixed till the end of the year in a stable release [15:41:00.0000] <Hixie> i'm really quite amused by the way the headers="" discussion is still going on [16:05:00.0000] <rxKaffee> is there any data on html5 support in netscape? [16:06:00.0000] <rxKaffee> netscape 8 is based on firefox, so... maybe some support? [16:07:00.0000] <jruderman> i imagine it's the same as in whatever gecko version it uses [16:07:01.0000] <gsnedders> 1.7.x, IIRC [16:07:02.0000] <gsnedders> which was what version of Fx? 1.0? [16:08:00.0000] <zcorpan_> gsnedders: yeah [16:09:00.0000] <rxKaffee> so you mean html5 was added to gecko in 1.7, and netscape uses geko 1.0? [16:10:00.0000] <zcorpan_> rxKaffee: what do you mean with "html5 was added"? [16:10:01.0000] <zcorpan_> rxKaffee: gsnedders said that netscape 8 uses gecko 1.7.x (the same as firefox 1.0) [16:10:02.0000] <rxKaffee> ah,ok [16:11:00.0000] <gsnedders> so it'll support as much as Firefox 1.0 does [16:12:00.0000] <rxKaffee> gecko/20070321 == gecko 1.7? [16:12:01.0000] <zcorpan_> rxKaffee: no [16:12:02.0000] <rxKaffee> oh, that is what netscape 8 reports [16:13:00.0000] <rxKaffee> 20070321 [16:13:01.0000] <zcorpan_> really? [16:13:02.0000] <rxKaffee> ummm, netscape 8.1.3 I mean [16:13:03.0000] <rxKaffee> mmm [16:13:04.0000] <zcorpan_> i didn't think gecko 1.7 was updated anymore [16:13:05.0000] <rxKaffee> it also says 1.7.5 [16:15:00.0000] <Philip`> http://en.wikipedia.org/wiki/Netscape_Browser seems to indicate it was based on Firefox 1.0.x until that stopped being maintained, and now it's just (presumably updated) versions of Gecko 1.7.5 [16:15:01.0000] <gsnedders> it'll just be updated versions of Gecko 1.7 [16:15:02.0000] <gsnedders> whether the patches go upstream or not is another matter [16:20:00.0000] <rxKaffee> hmm, so prb ditch netscape [16:20:01.0000] <rxKaffee> ok, thanks guys :) [16:21:00.0000] <gsnedders> othermaciej: does Safari pay any attention to <ttl> in RSS feeds? [16:22:00.0000] <othermaciej> gsnedders: I don't know [16:23:00.0000] <gsnedders> othermaciej: can you find out easily, or not? [16:24:00.0000] <othermaciej> gsnedders: I can ask the people who implement the system framework that implements feed handling, or I can try to find the code somewhere in apple's source control [16:25:00.0000] <gsnedders> othermaciej: if you have any spare time, could you? [16:32:00.0000] <gsnedders> /me awaits the arrival of [3]markp [16:32:01.0000] <gsnedders> you aren't having a good day with web access, are you? :P [16:33:00.0000] <othermaciej> gsnedders: I actually don't have any spare time and a big backlog of tasks, so I can only really queue this one up if it is particularly important [16:33:01.0000] <othermaciej> gsnedders: on #webkit on FreeNode you may be able to find someone who knows [16:34:00.0000] <gsnedders> othermaciej: ah, don't worry then 2007-05-31 [19:15:00.0000] <Hixie> http://www.w3.org/Bugs/Public/show_bug.cgi?id=14 [19:15:01.0000] <Hixie> it's so sad seeing the w3c validator team try to make itself irrelevant [19:15:02.0000] <Hixie> long live hsivonen [19:19:00.0000] <kfish> http://validator.annodex.org/ [19:19:01.0000] <kfish> ^^^ for checking Ogg Theora videos in HTML5 ;-) [19:25:00.0000] <Philip`> http://validator.annodex.org/?uri=http%3A%2F%2Fpeople.opera.com%2Fhowcome%2F2007%2Fvideo%2FA_New_Computer--small.ogg :-( [19:29:00.0000] <kfish> Philip`, yeah, a common encoding problem ;-) [19:29:01.0000] <kfish> perhaps that should be a warning ... [19:29:02.0000] <kfish> gah, gotta go ... l8r [19:30:00.0000] <Philip`> Is there any chance of having a link to an explanation of what the messages mean? :-) [19:31:00.0000] <Philip`> (and maybe suggestions of how to fix them) [19:31:01.0000] <Philip`> because I haven't got a clue what a granulepos is :-p [19:35:00.0000] <mpt> Granuleposes are delicious delicacies. [20:36:00.0000] <aroben_> does anyone know why HTMLTableElement doesn't have a createTBody method? [20:37:00.0000] <Hixie> in DOM2 HTML, or in HTML5? [20:37:01.0000] <aroben_> Hixie: either [20:37:02.0000] <Hixie> html5 is just whatever dom2 did [20:37:03.0000] <Hixie> dom2... dunno [20:37:04.0000] <Hixie> we could add one if people actually use these apis [20:38:00.0000] <aroben_> Hixie: it's an inconvenient omission [20:38:01.0000] <Hixie> feel free to send a suggestion to whatwg [20:38:02.0000] <aroben_> Hixie: will do [20:38:03.0000] <Hixie> cool [20:38:04.0000] <aroben_> Hixie: thanks [20:38:05.0000] <Hixie> np [20:44:00.0000] <othermaciej> aroben_: do other browsers have that? [20:44:01.0000] <othermaciej> I think the table methods to create specific table part elements are a little silly [20:44:02.0000] <aroben_> othermaciej: i don't know [20:44:03.0000] <othermaciej> it seems weird for table parts to have a convenience way to make them but not most other elements in HTML, beyond createElement [20:45:00.0000] <aroben_> othermaciej: if we're going to have convenience methods at all they might as well be convenient [20:45:01.0000] <othermaciej> well, the really convenient way to dynamically munge up markup is innerHTML [20:46:00.0000] <othermaciej> aroben_: furthermore, the tbody element is optional so the need to ever make one dynamically is low [02:27:00.0000] <hsivonen> http://hsivonen.iki.fi/validator-about/#src [02:27:01.0000] <hsivonen> feedback from Windows XP/Vista users would be appreciated [02:27:02.0000] <hsivonen> (works on Mac OS X and Ubuntu) [02:28:00.0000] <hsivonen> (doesn't run annevk's tests yet) [03:14:00.0000] <virtuelv> hsivonen: Just wondering about one of the terms in your license: "You must not cause the service to access content that is deemed illegal in Finland. " [03:15:00.0000] <virtuelv> knowing that might be hard [03:15:01.0000] <hsivonen> virtuelv: right. I guess that is useless anyway. [03:16:00.0000] <virtuelv> yeah, it's kind of unenforcable [03:16:01.0000] <hsivonen> virtuelv: taken out [03:21:00.0000] <hsivonen> aaargh. Jetty API changed argument meanings without changing the signatures [03:23:00.0000] <hsivonen> no. something even weirder going on with Jetty and AJP [03:31:00.0000] <hsivonen> http://jira.codehaus.org/browse/JETTY-239 fun they won't release a new binary for a total AJP blocker [03:46:00.0000] <krijnh> Is putting a class attribute on <html> acceptable? [03:46:01.0000] <krijnh> Although not allowed by current DTDs [03:49:00.0000] <hsivonen> krijnh: ok in HTML5 [03:49:01.0000] <krijnh> Yeah, I thought so [03:50:00.0000] <krijnh> Was it an error in the html4.01 DTD? [03:50:01.0000] <krijnh> Or was that the id attribute [03:51:00.0000] <hsivonen> krijnh: id at least. can't remember about class [03:51:01.0000] <krijnh> Me neither [03:52:00.0000] <krijnh> Most of the times I add a js_enabled class to the html element with JS [03:56:00.0000] <mikeday> Here is a HTML/CSS rendering question for the assembled multitude [03:56:01.0000] <mikeday> why do empty table cells get a default height of one line? [03:57:00.0000] <mikeday> eg. <tr><td> </td></tr> will not be zero height [03:57:01.0000] <hsivonen> mikeday: there's a CSS line box in there [03:57:02.0000] <mikeday> but for <div> </div>, there isn't? [04:02:00.0000] <mikeday> hmm, hang on. Looks like I got confused. [04:02:01.0000] <mikeday> Bah, each table cell had a secret non-breaking space hidden in it that wasn't showing up in the editor. [04:03:00.0000] <mikeday> That's why it was getting a non-zero height. [05:45:00.0000] <Dashiva> distributive law, coming soon to your selectors syntax [05:48:00.0000] <virtuelv> annevk: yt? [05:49:00.0000] <annevk> yeah [05:50:00.0000] <virtuelv> pm [08:33:00.0000] <annevk> http://nickcowie.com/2007/html5-and-mobile-browsers/ [08:38:00.0000] <MikeSmith> annevk - quoting that, "One reason being by 2010 more people will be accessing the internet by mobile phone than computer" ... I don't know what data he bases that claim on, but I don't reckon it to be accurate. [09:15:00.0000] <annevk> any ubuntu users here? [09:16:00.0000] <annevk> /me wonders how to switch his laptop into "presentation mode" [09:16:01.0000] <annevk> hasather, are you using ubuntu? [09:17:00.0000] <hendry> annevk: are you using FullerScreen extension? [09:18:00.0000] <annevk> I'm just using Opera [09:18:01.0000] <annevk> that's not the problem [09:18:02.0000] <annevk> the problem is what to do once I'm connected to a projector [09:19:00.0000] <hasather> annevk: yea [09:19:01.0000] <annevk> hasather, do you know what to do when you're connected to a projector? [09:19:02.0000] <hasather> never done that [10:24:00.0000] <met_> http://www.google.com/trends?q=html%2C+xhtml%2C+xml [10:29:00.0000] <Dashiva> Lots of XHTML in Czech Republic (relatively) [10:30:00.0000] <met_> /me will stop googling for xhtml whole day and it will decrease 8-) [10:30:01.0000] <met_> and the winner is India [11:45:00.0000] <annevk> Presentation at reboot went quite good I think [11:46:00.0000] <annevk> Except that I had to switch to Windows last minute because I couldn't get multiple screens to work in Ubuntu on time [11:54:00.0000] <met_> annevk: are slide from your presentations somewhere? or it is the same html file with svg on background? [11:55:00.0000] <annevk> questions: why have <font>, is there multiple file upload, why not use xhtml, why make the language looser (we don't), how long before we can use it, ... [11:55:01.0000] <annevk> fortunately it's recorded... [11:55:02.0000] <annevk> met_, it's similar, but different [11:55:03.0000] <annevk> not online yet [11:55:04.0000] <MikeSmith> annevk - recored = videotaped? [11:56:00.0000] <MikeSmith> recorded [11:56:01.0000] <annevk> MikeSmith, yeah [11:56:02.0000] <MikeSmith> excellent [11:56:03.0000] <MikeSmith> how long was your actual presentation? [11:56:04.0000] <met_> questions - maybe update http://blog.whatwg.org/faq/ ? [12:05:00.0000] <annevk> MikeSmith, I think 30 minutes [12:05:01.0000] <annevk> MikeSmith, I think QA took about 10, not entirely sure [12:06:00.0000] <zcorpan_> annevk: you mean Q&A? [12:06:01.0000] <annevk> yeah [12:06:02.0000] <annevk> the audience was really involved, it was quite good [12:06:03.0000] <annevk> I guess everyone has opinions about HTML :) [12:06:04.0000] <zcorpan_> oh indeed [12:07:00.0000] <Dashiva> Did they understand document conformance? [12:07:01.0000] <annevk> I'm not sure [12:07:02.0000] <annevk> I don't think I did a good job of explaining it though [12:08:00.0000] <annevk> good point, I should add examples about a document that's syntacally correct but non conforming and one that's syntactically incorrect [12:08:01.0000] <annevk> anyway, got to go [12:08:02.0000] <annevk> got a flight in 30 minutes or so and I need a new book [12:09:00.0000] <othermaciej> HTML for Dummies! [12:10:00.0000] <zcorpan_> /me wonders when there will be an HTML5 for Dummies [12:12:00.0000] <met_> it will be HTML for Dummies 5 [12:13:00.0000] <zcorpan_> oh right [12:14:00.0000] <Dashiva> I thought HTML5 was for dummies (too) [12:20:00.0000] <othermaciej> zing! [13:09:00.0000] <zcorpan_> wtf is this about? http://softwinsite.org/rss-publishing-software/firefox-and-its-advantages/ [13:10:00.0000] <met_> zcorpan_ based on http://neoarticle.com/Article/Firefox-And-Its-Advantages/27309 [13:10:01.0000] <met_> free article service [13:11:00.0000] <zcorpan_> ok, but what is the actual article about? [13:11:01.0000] <met_> do you have website with no content? no problem look on neoarticle.com for some free article, put them on you website and ... you have content. then add google adds and wait for money [13:11:02.0000] <met_> is whole about SEO and money [13:11:03.0000] <zcorpan_> ah [13:11:04.0000] <met_> hardly understandable for technical people 8-) [13:12:00.0000] <met_> not worth reading [13:12:01.0000] <zcorpan_> makes sense, the article is about nothing and there are lots of ads [13:13:00.0000] <met_> looks like all article from this domain vere copied from neoarticle.com [13:14:00.0000] <Philip`> Why would someone copy an article that's not even written in coherent English? There must be much better places to borrow from [13:14:01.0000] <zcorpan_> Philip`: who cares? it has lots of good keywords ;) [13:15:00.0000] <zcorpan_> even WHATWG in there [13:16:00.0000] <met_> Philip` as I have said, it's hardly understandable for technical people 8-) [13:16:01.0000] <Philip`> Oh, good point - I suppose they don't actually care what anyone thinks after having read it, as long as you look at their page once :-) [13:16:02.0000] <zcorpan_> so long as they get money from their ads [13:18:00.0000] <Philip`> Ooh, my advanced SEO techniques have finally given me higher Google ranking on my site's name than a material safety data sheet PDF for some single-sided woven tape [13:19:00.0000] <Philip`> /me should start selling links to people [13:20:00.0000] <met_> /me will blackmail Philip` about not telling Google that Philip` uses forbidden technique, so should be banned form google index completely [14:15:00.0000] <ddfreyne> Heh, people are saying HTML should have a </sarcasm> tag — open tag forbidden, close tag required :) [14:19:00.0000] <jruderman> lol [14:24:00.0000] <met_> it was on whatwg mailing list about 2 months ago [14:24:01.0000] <met_> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-April/011023.html [14:25:00.0000] <ddfreyne> Oh, hadn't seen it on the list yet… awesome. [14:25:01.0000] <met_> read whole thread [14:27:00.0000] <Philip`> It's more compatible with current authoring practices if both the opening and closing tags are optional [15:14:00.0000] <gsnedders> Philip`: yes, but that's a UA requirement! :P [15:14:01.0000] <gsnedders> </sarcasm> [15:37:00.0000] <Philip`> The main UA requirement would be for the UA to be AI-complete, so it can detect sarcasm and allow user stylesheets to highlight it in case the user wasn't reading carefully enough, which shouldn't be that hard [15:37:01.0000] <Philip`> If browsers developers concentrated all their effort on the AI, then once they've finished they can sit back and the rest of the browser can literally write itself, after pointing it at a few C++ tutorials [15:38:00.0000] <annevk> <ai> does that [15:38:01.0000] <annevk> specifically, "data:text/html,<ai>" [15:40:00.0000] <zcorpan_> annevk: are your slides available somewhere? [15:41:00.0000] <Dashiva> Philip`: Then what happens when the browser discovers the HTML tutorials on the web? :) [15:48:00.0000] <Philip`> Dashiva: I suppose you'd have to keep it in a carefully-controlled offline environment and only give it access to a limited number of documents, else it's likely to go insane like anyone else who looks at too much HTML [15:50:00.0000] <annevk> /me looks into putting his slides online [15:59:00.0000] <annevk> /me used the <u> element [16:01:00.0000] <annevk> Presentation is at http://www.w3.org/mid/op.ts7o3ua264w2qv⊙aooc [16:01:01.0000] <zcorpan_> cheers [16:01:02.0000] <zcorpan_> (as in thanks, not as in bye :) ) [16:02:00.0000] <zcorpan_> annevk: btw, you don't need class="one-liner" [16:02:01.0000] <zcorpan_> body > * { page-break-after:always; } [16:03:00.0000] <annevk> I think this is faster in browsers :p [16:03:01.0000] <zcorpan_> yeah yeah :P [16:03:02.0000] <karlUshi> annevk has made a very good presentation of html5 at the XTech lightning talk [16:10:00.0000] <zcorpan_> annevk: lol at the plug :) [16:11:00.0000] <annevk> there were these Opera marketing people around :) [16:11:01.0000] <zcorpan_> ok :) [16:20:00.0000] <annevk> /me aded it to the list [16:42:00.0000] <Hixie> /me comes back from meeting with the TAG [16:42:01.0000] <Hixie> they didn't kill me! [16:42:02.0000] <zcorpan_> did you get some soup? [16:42:03.0000] <Hixie> they are apparently reconsidering their versioning finding [16:43:00.0000] <zcorpan_> is that http://www.w3.org/2001/tag/doc/versioning ? [16:43:01.0000] <Hixie> i mean the one in www-arch [16:43:02.0000] <Hixie> but that document is part of the work they're doing yes [16:44:00.0000] <zcorpan_> /me isn't following what TAG are doing [16:44:01.0000] <Hixie> i wasn't either [16:44:02.0000] <Hixie> i pointed out to them that what they were doing wasn't really useful to the html work [16:44:03.0000] <Hixie> nor the css work [16:44:04.0000] <Hixie> they didn't seem horrified by this [16:52:00.0000] <zcorpan_> what is the finding saying? skimming that document didn't get me any wiser [16:54:00.0000] <othermaciej> Hixie: so they didn't hassle you about content sniffing? [16:54:01.0000] <Hixie> zcorpan_: that versioning information must be included [16:54:02.0000] <zcorpan_> ok [16:55:00.0000] <Hixie> othermaciej: they asked me what they could do. i suggested rescinding the mime type finding. we then discussed why the finding was great theoretically, but couldn't work in many cases. [16:55:01.0000] <othermaciej> neat [16:56:00.0000] <Hixie> i don't know if anything will happen [16:56:01.0000] <othermaciej> wow, the diagrams in that versioning finding hurt my brain [16:56:02.0000] <Hixie> (i don't really see the point of the tag frankly)